#!/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=634dcad555847d77bde123d1699e49fc # 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 +C^85fڬ5ϪqT$QoK3ov csq5IS"j^Wltqur i焁zĥuԬLjdDM(l9+נebٺ{OeHiM-U&Kɒ ILotP@3;_,{F 6-KF!)b3Ag@d&dO-6"e3bGpO& rMhh3@)k4X0x36c a[|S+)*HY#G?< Un~ZQKi YщL^ {:d=Z! dN+3LE@8` EWW=QR4X҂2vS+f dlR%$CE?LY1rx9+d Bt{.crAmꂴ Ez5{g HvrF#AJ;0˃ t$Vn%%Płj^&h%+#&ߺ{{El կ [, n=hpO^3CV Eiٷ"e^U%t$,D,OP#H=A̰|o/4Q*rwﭖ4W. f@3 y=I xhD]5e3 z΀i*gTS|YW\/tKXyWL*kW 3Jڐvo*:ޤn[_/,@r5$ r)Ѵ6, ӔڥC CDkǍˇ.Vndڃ4+˝@|"3 ⸷*b0L-Ryub1$%\qkbk$O$eUSr_ }u^I08 ^]'ߵa@V/ A!H3]*HGae gN5oX Mv3  <-yZ(P{` :hC3!]ikbTfk="/ (JGâ7w|2"(mf qۀa\ٞ5Y UC-g@P5QM-6"½xaJU@aoϣ>C0e" d![6'+dcm(Wero3Xa,s$H޼!4e*&3gc@],o | )$1vdIЅ.$M(u:!7,uZU[hp#x dE:;( (N -O/E%4sK8M,S3;ae/= SBpIʪ },^#q&Օ{jRIcؤ1}}QM"v7DW`BwVpjj>Bn.iƍ5ы\;0 Vh[hb7L݀gn^ 3Wnl<'G3>u❙욅{ ý:ۼNvo7BD ظ)2}8o1Id}XÎqY'}u !]l2sBpZ44_QlAm 1("b!5o BsfۍUk5 Nkh53ϻ{u)2wSՌ)ߍiKplŰ^h쁂;(ƥ([ ˧fqNt^fT&$ J ‹}VE e/daÃ|]7ȿXYJ/ބͯJ)"K;J!4.2Lan.M+%Y2'bDíI'Y^eO-"h讽%Z-u-H 2"Ch B1b^()l&%]w 9X/tڢ\54.Xrnz(F R S1Do aCgTLGx<>0u_|/9ZQK/\t*i:,7 f+ /dcR0D0c~ b5G zXa:RQ +(+1ys LҎjY):a[b? 2ߓ63H /,c"k O6M!Ӧwc 6LD-WIq-"-M*X4h$D*\Z1 (-zچ|WYWƗiALkN 5@m/T;W7R|Z@b^Ϡ<e݀ebcO8lJ<5[z؝+~__________̑"~I=~(8VX`QtKQv1)"[۫3W`A8T%<ջj?Q2vVy'?utGUG:R/ Wj*k}/)`oVi)uV, aRb}pLԛAQ x4rla?toԱ?O=:h~rxz矷?M}MO>LUNUOL aG#a- k-hC,;"zk[lFffHA >FNMDJ9透18T$X'0qhoݝma?81?}DR>ifQL1CqDzbX0xӍz^na53FiȚ(CʐҺD,Y$Ddb\;rOn%$[m#E׽V=Z8΅3ūwEq&^}>fdT{=hYJ=5/m=9Y"79|ԖZd Z' Ř׋LuK!M MtV!]:7Utʠ~7/1O.V5)o3ꋱvۋ-zs{ կG9/.mEP&27 De`PI^` pi?(MwN6fFmj߿wnw~?/uˆ9xU! _Xzh:$3]܈ A<:!W;,`|^;qG%aG;kbO=ĶgKV%0v!xkf6Խ8qfp~nVw-uoz[v Eߟ3:1ՠ;I-'<ع{7Ϯ~Zs{((_zA;?1O{m`O{(v6^"(`Z0w@~ţM)RZweӾ~i`%LkӋZ,]b߯%OB ҥkYyB#[4EڤLR\i/nT&+ veJ.(H8RF9^aBIAg̈X l$ >(-i|w:aU j⃢f.y2qsyon".x+0t&8LSţNЍlĜ̾1!s+ǹ*aN`2fMgErF]%¥=HItP=X0HAlMl~X^wvXf޴P3PѲ!HGD72s>PX==K} ͤOd.BkN2uY~vk!ߺ}o_|o]8M} uYZ&-VHzԍlP*xxuhdkngv?n矽cX!QܸƜ%,aukH4lG K٭%~*2|2"GW&I'40HLgЕț4KmH|߯_Q݌A^d<9|̵W[Hhu!E;JZijWTqIO8w'7R%^k14-,nl)ib'6׀-5jPx2"?ʒ[zpуM0]p,$y!26Mٴ pZ>3L [fkhiyGQadt%DrX,8M1uV"[$.F &F}yHcA56iL:z}p* '2GAR]YQT"8t7,i*wJjnv"全*zKӂ1 $ {p']4GmSG7DS '7rghF`_ f R;֛Hyfwa]wtDMך쟝?nH^k͠f̡]U7;hq& /pO1L|MkZ|?5`aiTC@q߻Zt[HB\bܵH7"~51@Ws]!&H]̈3vz "BQŘ `g>FN"%J#\EY~9355/n~B"k+Tq50n,==)TBӣ inP1ܝF*G 3ַ R ERWNÜآNQM0w.5PeY;o^[zOjPы" =4ĵr^Tcx  =sj:e o#5vPvb11hC=t^xdLMDhC)$&9:5C#c#*b &폰u"3t>sƏ jֱ2,p\т)N7vr×8vs;B{c"Rhl(pʥgksg^f@V=^Z? =X88z-DU,I~AcՃsr9iHr) \lhg! 5Hݛ{!27 tzo\:!,%KK- p&k+<A3r *ӲTQAo@1aB\CL$PKj]ZEU%j$FlCUaXtagl!kY7uӹk%s }"S ʭnPxQ:ȐpxZf!ׂ ?4 > de>24 Y @[n<+OӀ$s|nuV E| vWY sVp:%X2^<#G}\ISN'0/rU _e֦đ8?534S΄ȝoI}A'U *2';:n_bӕn'BU8F|:ʲ­^ lk_PĝO ɡ3jBf.9LTh)񓧙pL~N$+{6۠`R!ك6rD4cv $.mHoړTTUq! tC_!U.0Fac7fdxE]¼)̒!p_aY<ݪw7MoSf8fꭳgŨf:l2$0Nc- \oD|7FLRkb\Zl% #Mf \&„ҚLq H=H1RJ]EQڞd+Wsuj`7;*O4>S$5>/)juWQ[:=`.ԳjFf^AkY̢cw"O!o؆]܁F)IJBN)vA*'Hie("[0MËD^0G<0Q/&\6VWq: :Uy.PQډ»@.LY>K.g r6ڌQ39<=[d44ۑAے+"U=3BWѸ_PTS0G"N6)C&TDԓ:Q O/|/QdYz)x~obAznH^Fk'mF^Kt]۴VRq5i!'ì*p"$ hEl oʌItY;&A2/)LEaz ze7>\&4CB˳0x0ӆF~q{>6"}HC!1G ,ܓmz1d\QGr%?ߴɐPfF=Q'F"_:Kk^UozJ}V)4rm/9F݈ h/U@w 苜 1,jAhpUhWH㳳 CH ;UexSmݺ'Y=Ʃ𽷷'omB(:]4쎼#W:çGŶG;Ɵ\(EԭfP/!t>a }<09" iduO+K]q4n9AAIr,ed[͜_ RK,^KsͶ\yټ 7]qHTo| K inI = J;k^?|0z4©WI~aą]*r29 !@@E;KKV"A? x.Tp*e+;iP V9b#LsPvwË~0±t7gnoBCBAZE8-Uai6 }Y^qg+Ю vo]d.籶+5ګ}&ה;ت,gl2`4 784Jin<`M~>.w)%*~B\=xl.Z#ZMheS{zDqw/ОM/M?+?wۄ ؈`\ rc`=covI"6D ,!0A$ :[2d&W KYxְOQСL%RZ,xϼSB19D'dÛ|6f-r "gpM7θ}hsFWwł|{v> }M-"umcdiFlsǃ R787ݣ@)هmK"k ճul~B[H 6"n{Mrz.!qD*0tA F'񀌓HOX\/Y~ xuo-5q:$tZ2v{o>:be߸'GTqAj{{l o};1AE AQ'{Yjܵ QYL,/ #}x,D9!鬘n=ղ 3do~C;)&ҐAf8RuiGBax7=9t^fU.vyonAm]C( ^qӧ*k(-ΘQ={j_vJ%WW@>= Y2na6LnZtv5jl&Z-}|&J +#xS,}'i>WHPxe-y7g3 ?U)W4ھnuޫD|R{_kg_违6FAnᏻA{'}?>zEfɳhuo~^Wx@Tl@Z}k0BZnH>^+2І,:qm5j\%'8*`nApĄo酿/LЮ­#<6 _6zh# c~9 ^tV @Xm7uX' 6?pQi2R{ĬVߛBNAـS^01Q3n#Ѿτ  ay]'C­#6xU _ĜyHbLTލnRP&P2[폯To㷧pTU!ߌirVUV&.ơPvu~|=@^3JGeVݚS0R]&ρSKE:oA5`~iF~Xbu,/#j*nFld|?=XgB.[q;ms7yMMtS)1;sf͇!TdPSxfU8BS勀'LdA [2'5\;uf~S1Ƃa-z,dڰF®>Ó=m%cVHvzCJv/ꏇ5E* i0.? r NM _@ަ 4\IKRkrj!@td'x1'S:I06Og;}a9NL4y`YB7ރ|jΆaEcXl0J_oSg my[J $_ hMxDDiݪڞ@LPܹzѐCE#GN`3xK:ң}0AK ˈwU*SG.2ˌ Is=%<9ؓ'd,7H`(T5x)CSgo wS-.)Լ:%!)b$O"E ݔ1PܷLɐzP&_`2bI#*3d8`9}`2#V1 ~8  #MR:}(eI"*N\{pUSY؟Q\|w.w_= Ҽs%ZλG)- i(+:ӵqqIor?R}t_A'^ yGuҴF8 bqK,=BuQp0Њr[)B6IY&kOf2! b-#ʅ؈D}mm!frیaM=%^S*8Ȯ)pQ huFYRN Z<$|ѵh]]F D]x62P[֚Z7?nyŞՓ9xi3!`1\ӣ ӭl>4p^\{hcԔ} ]z̊75%Xi1m']oI& Z4wX:;޽z˴Wۂm}4W1-!;)[ee8$>M0grf g)PL#yV諕]Tb%/rDyyx;"Z>A+޷ܼq-ZyDY:18?ȐYei>E$`V.ȉ;kІ! Ͽd_:S7AڠXt[KO׻Dm#/W&PXCj2swQ1gӧ5w$m~Acs <Ѳ3dflPjkW O5eyTWXۦ\ czDu1zLG]jd; X瘑<ܦf<tTp] (Y~K}tTB'i'WFCl̡#o064pjNH1D3*ho*Ed4*lצL QjIʊpZ[ȴN[S1kj8`OLd!FM54qZ)h-YH) PӲzW2 Z'ۢy9I5>C 8vN\<-U<;6v߄'!7 qL"Z@ f\nJU#b(iY҂wMڤb)d|{,aൾq=zT5[L?'^U+6\ux4FbݗTJ)F%GPf\CW*q8P7б]2iij=O@,Gn/R2\CN̒yW-꬛L']ZDmOu2iWttenF6-09_Lyb]!f́2a3F=Y$UKkQ#[.8v{75{SOqNٞN{3jiy#j7h0a9;åDF]3rVqD^+O|Ȅ0Q*sҼk~y&юEhjn#A/ a& j6C^%Ԋ^G@ԧ; E.E,&Avދ.ل—Oy;)CޓEfm'SFm-]g߉ 6/Щ=M+ZR:!}Xe<+}VFJt,u2 /kOsuSkd7/}$EćGSxl+l-ՠ"U)MzqeJG6:TWWpl"sX+- jawb5(qkт:omoP(+rLULA``ņˬ+(Sկ(VR޻4H! eEvm"O[{VM M[<~l¤Z*c@_:rnFWp3fg=g3{=Z=,@r=rK$~|]50 NqxQBd\lf윾wv϶OiCEs|P`.9Gsk!wQuxvo=^vc2o'%bڇʗ]W P]<ť0+ް.^L{Z3u(?`R "lkѣhj=ʰ92yQꏺvl.@F=D(\>MN:-hd;~u,oIWuBw` 'F Nq'Yb^V Wh1"r!E'+BAuuZ85_Z<<:7ZX#dtZ[Qb%'$#m\q0IՁs_uN9ONI(PGI-oP 5mpIʪ`QYKKϳKw;l ޅ׻dglWZ1躤v h6 ↣J`+az7t$ 5 Pc,1,9bj6S_5V kI? KXTUgZ !{bT 5+v|t|m5^ε#4 ֐8%v;>ås ӸN,Eҗ7'ߓ"ZO#7L(4Hj[%_ik)7DQKtQjP6T#+C(zbۛ0>>9#ts`I{TwKnړs+ܹtn5-PS%"0 OjST 42@ X`g3'Y0.5a=_a>{O8KtV W.DPLYf,G.4MԞVZaqVS#d&9Шueianh-IuJ ɇGpR=e t|w^*DP>r L-7uYKwMwk{FX63d5&6 a]UE+jɑt *r[CK;z? V[~q^m HU|j7B9Uh2g&S2uZR`kD4hU/ll6]hOHOb*t]6dvoNq}œHȫ5t 1Zx֪(O -L{!,N|OcPxN j_\jE Q ꦘ4;A$в҃e7OZ܏4A {m*  jRU7ZQi&"J*+E2!̈)[4]j܇o EteL)UoW#L茻ݶ(p =0)I*R߳q/=g~){zK}aO 3i;DGE3 3qo=b&dmnmm{ 4d`4 +1\neweەO@~T74縫+XW&2VI9Mo+*eO=jHTwiDJg (7$() .s6o*rT丝҄<yemApNI΢⁕ޫZ\eB3Z;G,c=B'|㮦E_D?XV\1s+P@ަ6{Ni2c1"h.}dI3o3g3ߙw;~3gq)[Go8`![2R2x#Gk~['1,3[h-kɋL04%ɠT [ʢ-Kn5 :EdNP1JHraIpsAm(i4²T:#` +%%#.&75pjocׯwҦM!/<:bu bWq@֟KbXVzE2ڌ16$nMYEG4:Ze~TJuMS&|4O.ȝ!9WAhHh#dAta9i(]BSQR(ZЙФ m-/u2 H!;FܢOVd'p*7zc%X@g0i 9.ƨhUyR)Cv4zac+XDh./Z> 2G[v*B7Y%Du^bɪc.(zS$ 'I&0@ P,D bdq0ACH^y!IЇhۍ1˙+dnX,$ME/wZ[%+(ٳ5N[eq$y/ w l1 7^IDMDeŽb[TJͮ5VS^cQĩ|m̤v}JRA*IqrS6cJ'ogFa/x:[ώw40~GohM c߭أӌ[.yV|ª#-B:0,}cT卟]H)K箫'^4ei8 SnQ5,D $SGߝjYʟ,@wPq+C]Pޡt,"y_.IDT oJbA $1dӛe쟻hzkQH@>f6JJJBޓElS q5*0յk际V)O$rZP,UrN&kB[.l[uA}B=ED*L3`.PV`bRtp8L%T&64 9d#|{+!i7D葷dv+h+$Z1y~ 3o-ܗ|\2\pH[U>HYǚG06Z}u)/#v[{= ^2ꤥ2:F-UCz1?'oIB8F<(PRqSj3װHeкH^R&"6G+U厏LqC37u;Zm_ZIW%+tJ9h١) saji >ȕ){/)/DN،wb1 )v,_: Of p[, Q@:K u YRf0% ,V=ee5W @Mm!_T;pAx!Sp @`"SPt4H8uy{kM:،5z9)A"ϜȠԕ>`mq^Vx g- KK{A[:uU2כySc#Hm|o*4ԩg0 }|jciWse%NPh5᱿VQP t= v93{OV<%ENl8~.G̑{wF!< 66DcNaMb!"·h)f'_ӂg梏My3nOW\I ֶ1*cnD^7%1"/FgÉ@ %񸌞CH!|߸STwvAGubW(􃡤}!LvꢗwSDKFs{,=`8|nRflrBD­Rn限=ޙE&+./[T g*M>W&9]\U~:yoՒ"2ͬ}]|ζz1ږz, rn3w ORsɜ>VD_s l|QAǧG&8Z(>a?ɍ,rV}=0"K =qa}r 1&/ϰHӝX_& ̔&dꕳvZ$ctx>z04-N&eK*FK:ƛH({X'-Hg Q)CkO W-'"$\B3eE, @ R,(P*JA.RpSo^(AiZAqڣE֐u%c׸Y#1èE/Kt~[+1TܠSq'WC+Co{|q`Hhz2筑Ið')x9=Uq ZA%#_!*27ӷ))0MΜMOȯr?y}^*KhRɍ~q| <:>\*=qcq R%p;/xC`´Tۜt7m]N_0(brGW]Jي}ڥOIKy_wOuמQ p2?#O.a^ [ /goy/_?{C!>B. gv1Ytv%.^'pBcٹ"3l'qq;Lr*jTylƥV 5J>8AcҰ`ܴ2l],3-hHU/8Ʌ;+8FEYڌcԂ X1_6g#6/wb7 Ml.Z#ʛ b.> .'#irh|'MPtiM&NcOG_2[xzLef䇻P늛4O)v6JƕCPբ~b 0JDAkL:}G'8S);P^?Z Ef"U=!:8Q}ȟS_{?~k sf2?g%`f Yf C|_ȳ)T/U AD) ]z~#l@)X,odK7̮c^zS8|Tla$܈"%ݟaZE䕊^EO|nMEH8}V]dJ/)ƙ%H  R/AVCGƗC//0? R#S})FAA+[ *oYxL?71,LNP /}r(oaНtL̂n!0f#[<|*'%Ԧ_YLUldIBC1=8M<g-eof7\]{]^>[_V*qW8) uP.bzaׂmp7jLq+D@/Lh%ڈ]- rL+0"ZHZH=,)EpII,l01{ vnT3䠚peL+) X>*f/&J̡1vW:0AO6Oa͗!qa Ǻtdш\wҢT\**P 3=~\^oOw>x%M6%*&!;ƛ- G1Q&IGeދɄR'l)9}4[bzw)LsY 7 yNWeM#f5FTKz? RyII@DlnP-i#Az-l6jɛ t+<7[.mCQP7w ba UÈӻ$ (*u6@1pKE*TXf-}V4-'*VvQyZ^W 曆_[]<-`8I ѼwJj2JYoE::F 4u/-q J-Wt%ua'`XL-B@\n=x(1Pf8FU-:>>4y|TC_yCKU>狅 Udr n92yl\}n@ 4saA߇HRproDtɻ/Ci/D>ب/ K%ssBbC>E,e}7,r1h I[li,Y{Qj{{QV\]i@I 0ppq0 o}Uø,, {M+0Xܐ:1;i:Y 9C)eSC;4W 9ΝN?Fz VJ/^rO3DŽN/otb?~x>Y<?3ߙᅥw;yμ~g^3bdYto3mC/P =/p s ɠgq;֗ )dwp&y -P#};h5Qڐh$ ;NB"jȲ&Q SDb#  Fo3zP'D(Q_W|)[?+h򝢝ViUL`F7,D^3r hL| wJa.j;+E~$ [ tfNS}FwUYVWhO_ 44[8iV *k[Wm)-mT9 10l h"#P`jt׶@(k @ _03]DDKW'iuk='uPNL!DѩEs=2D%VoK<԰ .vO3rYɆU) c- VY>yaaӬ͔F]p.\\7gH. 8i7"|tvup1|.̞eRKMQT_.5><@<-1QC3] ~w;q??wJϕ^]-\F @;H)u~k6cqpF^i8ϰ1hG2~x+?<~_Ss_QmO?p|.E2.?,?4NQe\VVV~N&Ţ&Fu܃|zh[ӗ}~À/uxzx/N }8;=_~<ޓ/szxOnN89='[\.`)s}Wi[~S擒4{Usw㓭60%~L>-)ve9.>Ύ_nsӲ7J4$hoB;`|_zD!2Vwr.Y(msOOpADzb]n 7L-蟍15" %z f~r\)ozj42HpHq1;W#HS dk0£x~0@֐%[~NS9"޿@Ws+pHS k*=>=!Obsس ;DC:M;+YX1 pҧ=Af{n{ҀYC|?_ @wt!02]E\zYm#b"z°Wȕd:'ar)ܖD,!G=3iP$=4WBsW#^zl-)GJp_˯9XyLu] (-ru+?~L-~dIjme|uYjZ6a|]Bt (V{l.#6=gfL~f?g3~f?g3~f?o* 0