#!/usr/bin/env bash # # Copyright (C) 2011-2020 Intel Corporation. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # # * Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # * Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in # the documentation and/or other materials provided with the # distribution. # * Neither the name of Intel Corporation nor the names of its # contributors may be used to endorse or promote products derived # from this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # # set -e PKG_NAME="Intel SGX Driver" if test $(id -u) -ne 0; then echo "Root privilege is required to install $PKG_NAME." exit 4 fi PATH=/usr/bin:/bin umask 022 DRIVERPKG=`mktemp -t sgx-driver-pkg.XXXXXX` DRIVER_TEMP_FOLDER=`mktemp -d sgx-driver-XXXXXX -p /tmp` trap "rm -fr $DRIVERPKG $DRIVER_TEMP_FOLDER 2>/dev/null; /bin/sed -i '/^isgx$/d' /etc/modules; exit 3" HUP INT QUIT TERM EXIT # The number of lines in this script (plus 1). Using this number to # calculate the start address of the payload. NR_SCRIPT_LINES=93 # Run /usr/bin/md5sum on the binary payload to get the MD5 check sum. CHKSUM=9b9eb44a91572ff965da8f41513295ee # Get the install payload from this shell script. echo -n "Unpacking $PKG_NAME ..." tail -n +$NR_SCRIPT_LINES "$0" > $DRIVERPKG echo " done." echo -n "Verifying the integrity of the install package ..." if test $(md5sum $DRIVERPKG | awk '{print $1}') != $CHKSUM; then echo " The install package appears to be corrupted." exit 1 fi echo " done." echo "Installing $PKG_NAME ..." tar zxf $DRIVERPKG -C $DRIVER_TEMP_FOLDER >/dev/null 2>&1 retcode=$? # Save the return code # Clean-up the temporary tarball. rm -f $DRIVERPKG 2>/dev/null if test $retcode -ne 0; then echo " failed." exit 2 fi pushd $DRIVER_TEMP_FOLDER source scripts/installConfig make install popd ${SGX_PACKAGES_PATH}/${DRIVER_PKG_NAME}/scripts/install.sh rm -fr ${DRIVER_TEMP_FOLDER} trap - EXIT exit 0 ^^[{s8OLv#ˏ$v{Fh;8*MBW!)?23WwU%Fht\Y>t=ßم;w~7?o`<=;B<Z/.f`qʍ esކ b7kyH#򈇷ܩG;n ;lq, ɍ[4;7 <&qM}Ur6ԍcYܺ|V q`y돘"`ͦ<>"*`dh`0"[&WR'Ą1?]WM/ //tj{;am aF#J3YS)O[jv`>xе(LkJFgkh9-eO/l[*m,ev˓؁HbBʹ+IǏW)>čQiC~cK1*,;CSugQ 6K#_NKAU?Ew)?jax&u__~awⳳUGi s3xobsΌEu~k]9#DA| …b[e$%VTN 0647IR)M94epI"iT0QhMq`ÐHg S2|1+)aVP>7>A[ И!>Ơٛjq r:Lf+`EJR޹1`ν*Jds/@q-s[ah [%&,J0 sza_^TKfr;̈triI k2q}ÿA-~\~_#Q)6q&F}``$Oxlw`i,H`,9@ \^ G.I,D{4|kB'/ fʒ7ʒC>WdYlYtYHͷgeRf`"93y}s\Od;ߞ8ɜq^"uˢ>uF<qV+5 YurC=n>Y1bMÃ$yP opȱm }~GlTz?>P7="Pm|2|^z 5Dhf\|2=4/` wcsII|&+rWY18|66g9NXMa7Y9Q$ZdYlq2 !{Gr’ib0)ofHĬBa!?C2xw_UJS|2!1 1NOp|q]âE7!Da} } ru}*iM.""Ldѵ^TKf Ofa5{OBg%'3g#.P*3R,M̯7oRK -ǽ7cQBβ\؞/2H.>PAS))F՗ MF̣ش|ǭdsT b:f&b 4È`J^M}=I==l UȏyЦueK3.iiaj>~sYDE5̶"SeQq<*5!TE<ׄI cgEs{i;s(gl REZƍ nHI5Y,Qa$XL .XzuXy1wMF8\4}|>iFeXOaئ&j(uȼ"Z"-1dl" 0 GsI&*BH /n 82#"C ,K4 u;)ffħO$*'>@R')$R8 G5t}XWSul€}JsY2-|Nڍ*5Jc60A&4!U.g> 1!A%J5pTh_[ZZˆAOnsz*!F\jb@"µ1!n~bI߽{mv#T$/CP"I}GP2:O"QꃋHPSpT,'ОPqTdr*IsY8GA*oLSx?{$|R=޵Og@ҍy xYiJz0mN,'첐C;f_ɔ>y0I@gXJhi p>D#Ab޻ G%m*W$lOgCY/ԵNvoGfIYBJdM*5XPAf^DGu*²U,V/Zr J4~rex%oӠ2g7p\xƩ54~9؈$eS,~l^]FWLsKe*i^!e9l*,۽Gsj;Ybopyw2uRO%a-&=T%y:/'QguQ= -1n5dS12'rGBMgtAX(ª9ҜwN!ھI{qBqzi3Ӷ0(_.pt\D=AzImlk$0 /ۆ˵Svg9Ye~ ə\VB`D0xH1S WFG6lO{A$F* Q(@MfM hr{DXSVqE(Nr{<'tgBetD@Nt5vF-r,+?-kyjIAݧ- ˷GNkf‚1g1Vm%Of˶Us6\.Vv7>?mw {_~~~O1y4f8c}gу=0zu!PjCpc |Vw˯f?²/\3Wx^n$=ޞ

>Tsmj݆(fMqd/ Fn26Oœ]$I'3Ug\{J)O@ZxoJį\yo 8$}ʟIبE(MZ2':a;hzҪL .A˭P[ѥ!r.ƀz@zSZZIFń]q_F/ %(x")- xM{ `lv{EP^l)SR+HWcL{lT E¾t_iWszxF{ݽL4=qWx.yOL %vmt}-koJow',рgQҘҦ@)T!G Q'[(+5;[ |. uO!=8)C.]#Bf[^O.c[(G% Cd s?Aߋk- >RсPh7z1T^=?r/Dsxb1ӎ^tkH5NAcEx'%*~KE0Hv@HujU`Vќ!N?h ]yІBs nv5ιQi T!Kjb)Kc0PQqrp`2ql#U0j>fy YzĶ1Vc]x6qO$d:̩cEm"uBc֎$S;9h69C<d0kCXvgDf\I 닖7XɅ6yyF:50h%)x2ؚ۵ȳѓXe)w2* ]-V^Bc#w(/Z(2o w='bHP@ƹ -Ud,)Mu,kȞ7p OR"RB!ѐڠB(ƍ,0*, LݨF {i.Az18Bo1m+x|Dc1x]20Xw)C1-wk+sB,m\ AȬ<#mv6 ַ7DD,=U.J÷_!DdcPP(™ _i &-ju0OcV?vLԊk)*9'|YZiE-5z[%ǫWI~LqVGoZv+kk[\gߙw;yμ~^f{kVxV= tBʉWpQV7G* OԻ|hjI |/ఽ[^NH"7QF L^du{R-{EE".ӚEۏ&+&QޜoV @ۗiJ UUKo9H;@cv~ [[45Ҡw#Y|/ :QBr#ʠe i.[v{nl˕5u&\~^ꩠùܪ}T'5<(rV. Y246j^:x+::8Fdnv8hrJ@ՠ 4G6U}puvGoۘyo38"*6Ԟ9ȕWɯ㣭C kGok9twR{࿅[pBO %ҏ{;{;};xC<;D\ FSy}mbv~?OͰVY4cbvQEidEƵ0PH~4cqBas]#JdGX4LlQac$.aX(! ʢV4c!{<=lN# n-/&J ]؂{RLPLk|7j J05"1 k9kf Oﯙ,j_r)BP)@zN4ҸR*{TOtӠR"F^Y\J°ϻg|0E[dR9 l}3wE^"66HF17 O/\O33L?3L?B#C+@"! ęh_Qga ='%l܏'-10!ƟlEH"ڈ,4F|"#JL[NJ=a~sOi=ǻHsQ5eB*)D;MDz>lZʟl.~?c [0}Q*0hZT0E2OA/ 2 }@D߲7&imE)]Cbiɠ27*i^#oGF'4Z`3bjAȮړ!ԾRАt\D@d_G(/Kӽ]xÜGnHlPk4$C쫃QwGn> }Mypg0oteDºbZ }%Sh^vK&uXdQӪPV+АPVp'hC]V(> b:(YNB *0B!Iʠύ؎7n/a٦GvbPLVS'\maa;luLT9LKu5bI   [jAH2qt;|&(C6quVʿ̎֜5ggEbTnh@JL=>Yϙ`sf 0Y,f3K%)B)& -5h9h?5f 8{_LGvb 01׃m2:pS9l k['{9>(mLYU^0,-.iЃӓpR wjzUW%J'@%BڇGRߧo,դ|X[Tؓ㢲wQc=Ϟ)4F!YHI=݌d6P2Gf?$qaܘx^J(ZKQ`d̀vEJY L 6t2ywT?6I``VDQ@qe r74qx8>BUDQ MɄӔ27O .i:b%@AlԍBJI?`-<>{W,1?yb mQ/X[] a6Ypp(m@3\$> P] 5aH12Jj8Hp3/m;V*kn,zbʰLD"{;xRqbOm{ :5<}eAòl/'Iwm;B86̔U!twV#]aսu+M /3,7%^G0 ;U\ۋ&q!d('g/,(OOr&ot.E\9Y` $6$̨͚!w+ 1X -+F潭`k0ε9rrw|K΍5s N"<4f8'dLP$T_ w"ےJ ;B! 5u???5mM7䒃ls4(ҭJ߉4O.9h$QrÚIUUX\wp3g׿8g`֔bloV$xF?<GGE+3QJB+&6Xխ=G11rTY`P˟K@|. 븫 jiLg:+GȪL:rP< (X$'GD%Zt3CҀ %ƨy (+3$'.sVo*9QY4,ϐXKU]uS-AU&4k3P:eۄCYGǜDv.seT11LCQAizNbu ܶaƈhW^)>HA 啕c[^+gf;g3ߙwf;ME*lr0 F|o؈>S_M3l7(om|% [C(Ns۸ʠ.{W*#>w(H;M$D|]kϔ3l-]O5w4j8 T)$G8l^;zutƳ2Pvcprݖw"3K'3Aaܸ0ѵXƺ>>şוi}2@~CDzL;)V۔dgپjͫS! ҀǾ_f׻ihohݺXbQt TP&~ZD{(zH̖ ~rعQЉn[.0 E:#Ӏ*USݏ¯K. ݀0^ߊNeJL^C<'aXC.`Ѷ5Z]Y2,]:mY:m(U9m!pLӵUU>d|ƶmuI ܣ?j#xUe/ 26($d'n]IR`Xy?^F4X.1 ٶL˯2]! ZPɮwӸ_4+iC Q8qg̠7{ڝs8 j㊥lD\Ÿǖ?(|KX 5 :-7j,Ͽ7=]#X0tJ4m̙Ne0m=8G0;,Ȍnĩ46m!o M327'eNŧ9y~ ۗ.qH$p*U9y1 !6Iˋu2#LUkQ2ɕW+ec;2@O1VkNF;󘚉:E%T4?IZo@NoeГgB3.Ԃ08 Mfli)YsR5$[kkCrЫD5 T<_u6Y*;{uf8qFqP bh3څ8J#"A=cA(P5ry7L$n2Y=@NB~uU}IdV9#jHEI.[< qE L~,^- R)7a=G6VlSfCiFgLܠxag@ NȠY {wפ" zT2'W [C5ߌH"9ED=0 둛#G6-YQ4JmKw#= A Sڲ;!<Al?s "w#r!Tq6Kx"5޽ Bֽ]RrtF*b'6‰]6M$iC^t2~#Anl9'$bZ,bh ]0dD>rml.5mvFބdp$|v'v۽f?evH#MBސzӚgqql|z!/b2׃r{UCWh }@U( ~]24Faͧ-`EXHãկR}dqH?0osQȅ*nqE IC&걣b6d74ęNM iRo5Qxh#5 @VImu}ƨu-${m%ԱE=~IB'h3}аe7cnz)7y>/V{|f3{f=g:oӆZ"zz@~bA9=eVj{|rJ\( _HOkFhR)b51.rX) ))/E XjKdfef%~[f1كԏTye99=տ;h8o2++U*\e^eerUQʪlC7½h򷌠W*XnISq<}RFqcs|xU%UJ4BFNlc%vCyM>/v|sG,47= XMB*!b+G^~{PnX$X.bc]19~.G+PE戁 @DD %ILg"g 2aD9)߉0NG Nbi {mggybr^EcUk׫ú.ʉڮMuѻ*$`|$XȈHs6&9{ J>ws1B_eѩOVF$kSی mԇ&Vѿgmr~Vy[ ŰO0V(CA?.Cd:A0=٩<QڂQGT擖C^|+Ԝji{ 0VO9Ԭ,?,~iVVcuLT|\fb!VkHE%s cΰq]S!⊯8u EwjL L&͞@1z_Yyؾ5:$7z|r_m vD.{'J.x٣6 .jޱ j4JV_=0LiDwwHT^ )vmnCՏ_Qcx̳6mӣM#}u|X}2>XB'`#xZf 8|TIa$h& c 8*b@DN=x(}!FБC`u,-1Kr rfv~A agj^[`HRA)Odep=TQwp2;H} F*&^ o%b+kꆌ&2MMdnf洿 [땪9*N@?7MF~4Mc'"NhفY8)Eד,O Weȶd=wN1z`VDIALr'FjU"e̅Yab~:TDWdtX".8$_*"oE2a-j<f N@x2wAS .ZW$h W6#h~cN֍ΐ7);`\\yoaĒVԨNC`p%- Ɍ nspnXH}&w.} cSBzc7)|X$u@D-\X r0ɔŋF Fu/_b\=po]dÞd# rs[b:2!7x]!Ř +XgqPrG7X 8q+*@S,PV,\ۈ 7w`E*'y^,sKؑTI!?s6LTu mXˀ_ihcYQt4J#b T4E7gTP>Ț+q&dJOɕS7N@Oo5d]:wtZyЊ Ti4oO!+aа ~u7|WA{P$cf 1Rw!{I5FwxwPEAybrAUF h/jшu( GKrRKk&O72#w@d?x,s" CGF g.jeJIb۔ Hp<6\"Fx ʢv_W(M&ISdPm-v||]THTM̠m)x!Myj-Yu>s{.Dl"vhoCѣl:?|ɧ\ktR{Ogx{Ũ@t!#x?(ܛ. | {yL"{y|Pq#w,4E/~(0vRۯUOk6 y>X ~+3+,OPry!'ֿ,2~y_ob?}Rx@<f>_"(^_E~naX\:?~`eY>myA-0 [P[.?b FNg=OpE߫^޼`wMEAoς*ȫ`ҒQr0 ;w)Q?^jϡ_+ փ"l/^-. fa_ms,c}LڎO++c1?f3c;3GtXY\'7I/"1͔xcR|Z MuM1^Qa/ʆ0pXUrݮTN[䦗PT*`Rj@w9)M)G¸CwU/;lFA}Zeeb ?c2ܥRhDl]@hp&t7F:/r7nz^CX]jnȷDb/ y`3 LKƩxGN+jɌ*r$Ai[h{T#-ȇWbݮRš_-n9䖐[UX#ؤeR΂0RLP?KUX6J?0g/ L(GTKG/e6GwB#𡫬Ÿ4(*1duG(*7ĺ '̶!:AM.#v'qHQbVaď*&L'ASUYf*V&j:h/<#dHҨlj,(U^Ƞppe2buDS '7Ue`͈\, 2+`]>&Rc ބjEk%{"lP+BY{Zu[T $a)1f.훜 n?@xSDWrY㠐% D/p!LPQTcjL\j5 "F|ON5Iѷ0l` ^6g7'i>JeT<} >U|Mۥ)om wzyQϞs0jT{I3 Q=O y5hi(a/+0PV`I m&n^~Ak&s7t8| yũb9)ͥMzLXʳ('um@2BH9֝`}Fbj1EE bs&Eu.Ri&n!W8Fݩ^1k=~أ/ ]P(^ŬyR[I0 kӀtT. lpgooʕZo?9PN,93.G=7 h 6jE/.$JJۘ=v"T;u[tUFWa B}oy`@ kBw,߭j[A]O=TrL"Ҋ5F)2=>mvSqV(}=06%:HV򷨅wLPS1&DoW&5^W&5Nj|5qKrڷtfY0%00++ƒ̭_v ʲhJr&ҴEf*9ۓ<Q b>f9|hcm6V/d }æ'QB(7q4,# Vp[^_D5 uc3ٙqНHy]CXnS U\5UYjYT.'bߍ 0Nc, d\o#oO IFL,@ BݣG.St,4 mkg@jTϖgP4GW[ړWSE= {MVʽb-4͖L$)I]%ھ2= B&dH R}b2rQ.?A7پڴA L09+C d}jRMjcK4  v4)puA=C 8bSYcǣD!Zd2a_c=4~NN=I?ȝd7Sh\jHܧE#hw؜@FAaC+AWsw)CN|#`H* t4L ~(HaĈy&3\ůMkBC%^聊:ߋI{W.]65lllI&Ehf`qR%jt6-ZHPwspN&$dI=a&E4 [20LaXz.V+S8J|Lc  VNN@ dMb1)?ɯ51,dki bghiժQHZ뤶q`I"0́T&î#"t-3J֖jga .3¬0e3_ S^V//2fÙ,t I?˧e)2j\0Z4zX`+$v‘{9nAa%U{zvq*m u#}h[1g/0qsSXCE cnhm]O7m#Lp,@ iS8Tehk].`8`?%P vg]dAw/ҬK1ʪ~lMѫ,'tbn0mH̥`%q8pZBO:\h.š=x#ZMeSlb-87ƽkSk~iXm,g)gP{-x@ xmPE`= &`͠3#&D^c+Ѥ1~.KlqӟoS5(G%m8y3TP~L/< Û|tI͉pmQOz]C%Q]av@Ky RwI\w. 1ԂLJǑm!$ ilxPE|=Gԏ=>i_D82 `)ҟ٣;4?pA 5#2PNCTau|Dwh@0CRN"hnA500c^|zF[(9.oo3O@3#.*iOkpnPseꦮ/16@ss⭯RA99Xy՜*IiFG\ŝ(ja;DB}d,PXKΆǛ{Mm%`fvkb23ֆ#Щ: *8"rrpόH0ybQh^?Gr:EI6]{y2(f2HoyW[PL4*&RAf;o\!нJ#&]T=-xRhye튆,"C(^qn6Mp;crFk!;l"k\^wY|VY&k$| $͉p+ ;I8$5=Tf3rtZ'jk-LN*dzuVϮ(jEJ⿛qwĘώ_^Y_][YYYYYYYYYp&E@I pC y O7d龒h8=F%G [g{]v@-V6pnlu!eƢUT; TbI]u7}L@Њ'a6Ma  WqrwߜpU D/07~3PBYWy\U })("v688>j'ã3K`9()3 UDnZ Zw\.[>WUoXQMG\'*ȇs`ty0%~qo9!AxѾJ5~*XuZB_HiM' I]{u:示IxH!gzx0ęʤ]5w,rJ|J'ڑmE*m_~m=}(m[a&XUdg%քq>qsojy~E>gŷJ~?o̞2{"O/^8.{KQ&8oWZHQ^,W= P8.@#(<>Vw Xx? Wu|=,x=ӯUs<}-GPry Gp<}$o<}$ӯn<}$Gm<}Gl<}l} Opg g}^wQnxX=}l9UMyI7ps@S.NŠz úƝF@!vۆ_h\i܉ L: V悟ώqA}W`]ݫq| Lucb ʌ6&dYN>ʀ^]%xڪ_q6Z@'?M]v!x,9z+悏P/ğGm_' 5ۻHkomp@yd##zywS>=JQw [><*  VA=h82,/Ϡ1a_-. 4kQUh'?g_3~y/?_Ƥ m`,`{}͝#W7NtIӸ=Cb!Y% 9Z;=h/@܊Fw[Io=w FP=$d&>OW^ܶb:̰S曧$n~2O- \ zZ.,+d/V~-<ىby"/ |%VT9?9~@-_Y]+#+9W^\׫'o$eWD//'$5K yGbќ>3>3>3>3>3? W0