#!/usr/bin/env bash # # Copyright (C) 2011-2021 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=10d1a5ddc272766c63d53683304b4e80 # 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 qoq* CBA+a|&2D [fԫ`41 `DC,abF@6m Åznنd -L$bZl5"wEΖH ~X"18R{2hH Kc(Efn@ WX ̂1X0DheğS Zh| (etD.L`?Wr]¤LZP99~-U"0 ?TkIٔԻ$PVU;(H QzθN*P^8:JW_a1)JGJG]2ʨԎC#4)qGx82AڊHJWnWJs7"de4 L 3[5قJaaSMM.X長& 6E p4?d]}+A lb.. XV&!$p],~[Ň7s r'q!Z^L:1)M6 J E#I2 w3?$Ըvע5EæBuyMh{z\Rfϐg#nUcf/ 0?tT@a_^ͽkkC}2'IpE\69R['mؖAV ycp`{wyӅ< "|q(Z2ԁPtP3qd6nA*e W>Cq/qcN_=: ux`튀z3֮#i Μ:E tTD!drV#CjԜ8vʃ$|$lT]sʻa' Lv$PFX*5 .^5vxtӝ&S((UFJaY)3nb&;nc:y{7TrcU?Ŷ]ު"nǖccOO6ɑ"흽f/`tn`A*֨ֈ]7d L?ȧ[ 4F tFK嬽@saynwt+Oo7 Gy^4tS/&4iigJsf) zn)KKq^aʏsإ.< jN~muR/9`]Q"A^}xoql,@az,aus|aםoU#3]%ok,_'?lk6$SL[& "Ưh <)-EO uOHJEs3ƃc0ȭk$4ӜDpvյvB6`^|߂<d( ֔C([ {y|lF;$ m}; 3r)ky

?a>F1LN]&?oq3_5VAr $ئ~?zAڲ>/"LeŒ*Gm+ Qzxq\eva4\ک+r9R+*A~CKݣ⧨xHVo ۀ)*q0X8Q4<fX}[ $K=)Zگ6Y1+Lm N٫y3hIJlYgk} =ἂ.jLBl nSʌx8E}?:~ia 00~=P@xC@L LrZj}2azlʐ^&v,;#@ ɷ4*'4],b?ln Ra(fA;,]4=l䇰BU ?[,׺G0}?;\: b`pS0E!B0ECm[RBeNG U*$'#x2h\,ac唘H^bbIRE1FAmL QG-LI)"S SţܦܒmQ#B9mxq!E&8QXM ̶ķ\{P\rڄrqI":T@9䘁}eG'6 ?t^WNT', ,= K7%+$4f Ǔ'I:zTE+4UP~.g,9g{,UD3j*~T_lnY+ !0)``"G3HC: Ȇ;GVa$5y)u*Ya%LyZV%b2G,z2+Ѐ*ǂ-p.ަ "3pJOv.3|LJ;Cڎ#` tK,B0~<$هmQ:<){`J|1uHu#CKx0fkz#Mt7OBIP$QxMSA)FƞKSRlG}Z652HDC/GxHrV?=2;ĩTT¸l%vg51 E1eOذ$#XOS b $n˝SXR^M ;PfRz` egqa^f* \hE|~eJVU_#4~\?X~c?.L6&]uݩ?-[z!77;%b1IoR:m _eljJa~K5JWSB)۬V]^Jin\6+P6 QZF'wpŸ2o5vf=$. <_jR%Vx ° ퟯa3,!6!\:Ұq pXTSAeKO4?H҈;wYΙ:p\.\ٕ%5ẦF: A NC xw3XR:0J4;-Bܓ5,IIcL@^󫡷fsB=sIS;ojutB /AuŬ /dρ3mA%*NŪ+|s (Vs6q. s4 ɗ=wvi5:d\3J7 OHŒ Y.\?ٸ@~s(2h4*dFqsMqk?J}Zq0G٨=-療k* gv(Noƣ:j>@H-yC%f7s̛Ef܅ =`*Ӣ•w zFcWrĦE+meۮtV*1sHiJoՙxt|8{&WSZnc iAݦh3©fr팛᳉fQZ7ڜ/okOQ"aI=d'0$zThq9oݙw<1Rݗs=ؤVe`47Cr\qŁ!͍>qtGe6ڼO?lf7_6G}d^4H%~;D7.<ւrjfpc] FMN{m/qb66B͙k|fߙwgߙwg߿w|HӃ$& Y -|1Hf%`F=voؾ+.(K#?mCì_Q j 9LLoEb0D\)swG/ U*g$ ĺCF2O)6of"Jsv }FDŐ (y;rZYjWt""&|Uñ:y QKHxti;8-l$vw.h N'-Շ{ *4d"l U Y@$ɟʒ#T5 `D`9YyZy T- Tvv)Մ~ȃRb0U)tƝ =*#CMVeďWFAw:M/( /hpSGeEo٦!< B3.Xxes=gJTMHm}G\Mߊ#[]L^cɼjQ=02T$[>eUw42a5ث6jv0ʾabqypUx"bi)C&nB/H ]/^.6B Iۇ/+*6'X觍QnVT&Ϸ'݆.A ;7S9u6__b"UnjZEVkHJMC_]50_4T%w pKYcoc.Qx=s }u\+DQxzj?3q=dhe^EYL,0h:G\Ĩ(Cdcy"VX ~n#FpJ4T x0//FKRt ߥjEvP7FVnCbl{# Q`pB|bčƍWT7y4g<-GEhCucқƠѸ9;  F:oڼj_=z.qŇL9'/5lbSh;BlS;^VHm- kYE-jl>;@ײh((MoP|8䃤6 !>]$E٠au湾;:2@"! mV -YJ!&FQ}E*=/:$rSXMϭ$#Z!%/%CLp\1>5̞hn?x] ItBKĭD<ѧÈDHUM7r\Aa8"OԪH.;Dtpos9X"ѫ/`ssC ӹfهtnz΄Ғz ;gbMĐ&Y_7X-DA^}݆3ke*4DA5"jw9r@' )d}-Z#!ܮj]T]3 !BY)I)V~7k 46:RUjj_寲2֦Ğ8&ax~ȕX΄+oI}F _7&_#Ng!EfOBnK:Pn&Rt(,d͐JzW31XdJ;#DD͉Asb Dn`Ui<ծ{ZxH"H!?fr&2f9 :ơoE#" f %4[v7R%諈I!brwlvCZ;Uc:{Vp0[JMiYn dodւ CyamA:4$ j[-Ai?4*xeQEJtIǞ|t('`VhM+Iݼ$;F}+-fLI'$6A 3LX!pDBvt*Ue7) eS8Ւ7r2䯩xQ@L) ހvg^=4̭cK nX)G-<($`]pi(3og;蝓<-yN~@3f<I[L g}Umq@SB- Phܯޣwosv)CN|oWGŽN)ݢrP &5os[ Uȡu"&K97L|ZЛx-􀚱:߫۶I;ל.]v#j帲]N7&dw^WIN$%:xhH9E)ۣ>?bXEF1?_zIܣFXrDQ%XL%*]mBC:dy[(a#F/_`$D+Php[6l<au,vXX{ʕ+. '~7lTh3`l :bG ?^ 4"&X+jP*JJ/~7:ޚ}#az}[RZ t;,3 uvuHvONqiI:;OijFgg6Qfʳh!G<&yK;&NuΖHxu2R-]Қ4nh[IYtS//p#i<+6شXwٓ+ltuMmqlL*c!+Lf2f{,ޞdkѐV"2+ ];mP;n[:*KKZvi߲>j5 BܾyN:T 4jj@V}n*m Ӳ"rcfV;Wco3 E t0YZ# PT7-h "%%[%MӋq>Ke*u[|mq 6]*nz /2r,i_M-nσتᚩ[8^G[f=LؐHQ0FmO<)Zx9m _|B /h6%ϟM}аI@ .}\~rC^LѐI ɡ#[]DwHܴEDCmRUVҸz˷3sEc?,&{W!YiGmeu6\3L|p~z$F9zߗ?Xڬwx.~p1p쾄3?DR|mjߒZ{7G$$p, ?.|9{F%)W9~vJ4ak$2=.tƒ:Iԙ!A]Û+" exY*a8p5Xx+xVL&ri HH;9/p,-{v/,(;ؽ+oŻ5kz}_JM&0R1!*b푐0oE{!*F@i63h(MXJP UO΄U&%Uѕ.I񣸢j s\{NJQ+7ۂ X-aBDd?Xi$Jج5FTĆϻ(j49\>&e}VQK+:{UhdpSivOsNo!'KAn__XO0*[kjF',P$H'!*61+K4 !" H % GR>i_HSo@=fj]yl &b E@B/Nl0Gdә t4Taw:nYHkMc<? @ː^|zF[2rxxk9z';~UܣF{]pT2Y8}Y{G_YnDnW*?Ur[KC/1̳5VXWxH!S YUv0lNh)yr8V,zaϯ?gu}'cO[87)f[Pݚg\&d;LDqjz PpÃ`Ҿ !;c9ʩt~m\k )},;@Zqwj1LmN4|8j.Z{4sh<U[JR( -{bѶf,z5ְ`[8S}M߆4O[%t ˲xRfš;tg#k֓.J ~w67@Qr#vO>;e*a9{bӨyf(쑁A[WA*$)& QqUug 7 .&17D+B"wKR-O(Q^ve1RovH)}Qmhc m;l.= wFN^CWJ̬˂t7/_n]-6Y暹a ֡݃ӣ"wy'=w:B'b/? .'负W}D<ȜKԂaod] Es' njdڭ@,4Hbi:heb:Z*3t5_bhׁ2ӀWl<9t 6]ѶxNM iR<S)F*$I6idV@&x2qꚊXSŊZ-| RfY& !NV466=1HZ>ͳ}SB/9y9:z.Z'Ѽ\sʚ;ne5CLKf*NM7v( Vtz`z:2jb }ݬLHUM lAwy&dPxYd(oIrKNQ AG7W^o~-W'q^b6A 3;EзŤoKӕ fzxTCVvLM{2<Nk̆|K&+e퉺St8TYƚpZ}k4..j#y(ପ!t셫Tz329bj/Kn"lIlauxM쐼aU:0Q+7'?'sRdN]Zٴ;?98_d!!(q ѴkY HV A'[wSg '-$gJA$Fvopa„ w'r'-CKVc$b2꠼R#j_iXq9d8 +c_%$K`*%O9U⎺-(sw6t6teU([ɫ\7iq<ɨ0ydq#6΋׻?r'ЇK?K 02;pIwP;6A U&<[,Mh36;BP%t] =vRt U U=S7Կw]'.9Ҩ 盬W;eD._ס cLʂ>TwX#ErYnͫƀG=MdnV9 x˂RX rR4#7WGgՏsF(d9&J ֛ (]l7Y J>{woY{"Jjr{ VVdG&%WKPSXƣ @&G?m<|m?0dkk3g3f?D}>;}5lpGEW"q)0:J%rook+7Q%d|sa7Zu?I|PiEɬ+'?B%'Ӻ qV Ai+"$n]Rkxʡ&VJ\9OuoSP hn?cwkקcj$)RwY&G>8 =93QK^.y:7[4}m"XL+e+0|6#V.I> -=mNsj#?K"a'aI0*bPJG݁iε-ڬ#ؘ1]@^~JC\K[TVL{c7FiMBy|XQ]|xlWȨqrt0;ȁR |)[6sl+ТGH&x6Y=[ w{6kNHYxHaK\"Y }gNH%l;%jl\,0H],/%#RN`v<-[TO 5Wv< a'G'Ʉu;}(RV ]z[c10A JD=Ljp% 񡉬ZdLcQsj![VeHm<|P*k{2/?{sƚpntY8گruLb?ǟS6'BY#h=1-O}6zٕJZPɃТOH܊7&V |lamO)S-d: u7KVNF&{l~H:ƯZq$v2.^罖}^kУl0h Hsd5Bj0W۳du8L(Y|-=x,#9Yg*.Iإ\L|K[&ӣa9a At4Je6wLB) oOiYʃW6഼\(1DR-RD"2kf1?^TͲP1Pu'0@)J:7D-;RX1#HƖm\z;vO2b~n-u(86:S`h.v(P;0HZN]-y)o(_4e>HG1Z*^#>/l)D@XMoUӳ[zMA H`Nh^ ^{vtxqc=с- Gh+Uj Jtaiޙ)#MAF97WTHdvx:AQlc-(CFߎإ& MkbIkL@Qu;R4p-MX^γ P#;eDc*nw<<~wQD:l0#m^[ѶE@6̩xTIѴ[Z FCj)FL,(Oal= 35^$\}[ʝГlC, HZYكg+ice]֒,YsL63[?Ϊ|JktaaduYfW"|"x֝ghʩU&*ƀn΍"%rc˽~Ъɻ/cWiohύʼnrugEP~>QcF8%09,Gx!Pҵ@^-Ua;sny{՟SPp83“nb#h5AκCLհzLsx@ \::Y` wKWV&K_fǗE?_'Q^'`u=)N?HȌWRѫ|cB#Ge]B6V6V=͵g3{f=gߡ7q_tz Mwaۤ8/SBl%Za'f1pafwBbL//j.5㶄aмrF6> YZ[77K`XʠC|]|toǫkz-k8/ǯTǏ?ɱrWʰj2OadOadxac,±/-]=r9;fiP]*{VY.RH<WF P Ibi,hWHmHP~u`Ehʛ ]܎%KqX S \] 1_96ǡ}>)RۏmmSQ/Gy->7uP](۸E$v;_TYگ?{&[3) aM]*v#>4Ȋ`?tpUfHzfO1@)&bMN?Ϭ<=L#pظE_Ue4~Ʋw d8!NF  ۔ݜl[`~>ot߅}ko~ H%:QnGAfԈ%+T=~o{?Ӫ;0憙 k:t}mB͍ ]ԛ5m )Y_67L̈5{Ry&bm[R R*kU/&`jZ_ˈ<|P"d+l+Z~Q)]ft~uߪ^bm+q/B)û'/NӴvtHo[W],OY. X~RtbR!崅ZIbҢbۋ-%Qb2=ϱX`'"ͫ+@b)n!|li)f1ne3CO8TZGpa-(;IyHPcUc;]GԲfƄ}a7)ϯD Q=(9鉍-tj_ӭy{zGؼVVi&bpv'\4; ނ-ݾ/}a;-4`Z_6Iˋs2#4LkIʮDs]I/<"Yq0''nyHloѼ(58Ζ3G@20Jwqu1 n6X[Yi86#3.MeUv/Fq۟a;]N=s|l9q_{jEO35r?ßQ1Ћ/E?6+/[ly߭|7of7f3:o{Βv׍Iךeꟑ=iҏ-;|VzD1({u{?~Yf&Fb[l\.,Pe hA>/o LɊ (0 ԉ.TsS/آ`F2E:p#.y5)4eG- 9LT fGB" WA~1nb=GaED́T .f D`JU$P0!fA.dө(fN[H3Rng.@9Ϙ[$fL:`ƥFYuBCx Ysv]YȞ|p~2 k(<& GmPi(p hEie90v9FRdSY!uӃNs1Q 8O ROf \H܄fB-&!M>J>q0*Il1`9mO5sݾoWV. Q׏8Sh䧏x1^t<NÔt(*ku,ǏϱmX}矌 U (Y!bpJQg>VRIబTA2j*pw69|e9M,jk'ϩ3FP^8$50tc#ژMWSȻ6:<^/|!)4dm\|6CD^e59'k”`^MQKi\2!*rKdQD.Cq!k\ \"KmryIY4ͳ Lz y!d^\RrܘgFšhއUzz~D"ЏN%ab9v19݃ҼjsewTN1`d9@#safo8~N4Ǻu<f\g;Db FRgd1\ 4F#d pByxM Ez;4E">SJmwB1TGQP=Fd%#NdŴObx24oS+yE;|{i|NM,Sf֋ī[:e/q,]HGN*;Egb 0\dȨؒ4, Ug4 P;>Mț3-Y DlE*V0-hu{7InC7q9͹'CL}U/.}bITOKWGpw(n-Q$Ka2dǥ=d暢d&c'rh " qبͼWMn$0V37uO:lTxƎrbCZ*JIj}GVKtTCEkɳe6XNF$r`𮯑(Y]Qa֬t`KDn,WN)bGy 2ӵ츕>ϖr[ϵ"%NM"1CC<9RK꾼'{.8掂iQ2:s7U %5`yGtSpfW=N|kf 'qո(-c)ZG]8SFy}-WIBaV^@3$ГR @41Q,Xx-{fL _dL)m,J:J}yXɘFkiY39e(Tweictpxm^\[|g3f?3gq:̀Qڻf {Tz[g<.p j ;˝` m~-j4[W@;qolyDFw# 18^p j ! UݱWԴSM퟼I{'9>(N_S9'ᓹjmebv?{g/(z>2F'B1]ne0itWsY|B⩜!n5\%`ev}ɠ4Y{[Rb %M&ǫà ։Mx9׆Lᨔw|k&Bv%{ڢ)Xk6ˍjcszAοk4Qm(bl^gߟ7?_?X]oݭ5,f.׿[|"ֱ͕?p9@ PP28vIӣSҤa.zC{KCztu, ;,i?"DAޚ/U2( o9kw(i?-2;~}i}d2Եy"Ӧdnpb5]7˶09.OyIl57QHB2 evL5+ݼ; 8]}19I_YL+CPrN۷@)}fşMcf`K!CFB  2tA'L @ TA$>ψ,w-$= 0ptW).mkvͫK^dZL0P[`6~pkW2<D05I+֒8Qontt˜Ӟ70|Wr/x5ݠK9;KPC L*X^'tx]R pljnA U{j. s@)kq{׸ȉ ͊jɑ,d]TSSR< 8O [;Gt5.&7>!6[?NLZGJ( ­EQam322\/,"OڗyKO8^6p8)*lN"b=(IbtW%g'qw| Pu)FK5oE| >nm3,u+w`]&<z7_IAT K$&TKZC-1 >!!ԣܽ.A1qftV1 Hgˑ?pxsl,i_۬)ޫZTeB.3Z=C,`NEA ߌqWE_8W$pAøL6aq;ܾed6cwV?<^γ^nk|f3{f=g3/ecl@f]`GElc1Y]̲.Ee7T6 Y ;Uc^&k~ӷ),S[/a t1,.ՒIL(v}-ƱR! )rC冈FQZ jdpk\q/,WȦdT[ ÛFS㤞=8K^H7yQ Gss::t>KBw)"}9!YHsE%F$Q&:z-D]xU +[~71 UƐ5gِ%1Ғ*)H#46!D6f<q(sO91̽`Luh6 KYn45.1&n \mU:CuYn 1 )pDɪTW!4=iX {{Xspzv"^p1@yaTO5@YLB*mܯ-Y hbbq]Q`RX DzT#6Bc$Ud6Lp a.C҆S!0[|Ŗe鶼gٻ>[k 5Nl;9b'XVroރ pPG xܪL]lw{)9qn<[bL UĨ` \ohl0,ߡ>ˈْ\2yhGޒ ‰ h S[PYUonmG&f %ӗ mUk H81L-Q]K!g~koY;Ooa{ UKF?s`1`{gauQwiF t]GiBDIsA{qВG' p)Á-AmImkp``cl-r ڽ"bTL#qbƀYU's{5d߳O|oZkuӷ?B4̶,\ ]C͜~2OD@n"uAǼ1=:Iw2ګh!_Nxyh}}c&/ϸK;nr9h %)=GDњԻ'qAӌ䡴(X]S3"/4p,3Y*{8'ʬΈArQȟBp2dR @dbC#]"A_EKl>FTncvh꣹%GځeQv܉j`Ծt<.zݽT C wBlam/nЅM,F%نۯ鞣7uvg '!5^"׌&S z&䩒y. LaflU<A$3&дO>&OeEJ8=\"1_40OwtܯG .6Ks0tMY B󈜙(ƵP庡w!y !PdHyC": [rh̍ w6Nya~g:I ˲svAV~WVeìi,2)x2[kFVSXǮ jѵL%26pau%!~q!q@C 5,TڿVJ޾R~jddM *SK骇uZ ,U bʀmdQ ikM=AUXyTuui7'c7{u}5?w+3g3{=l2t]Cяړ{g>uƨ]t3ۣ^{ ܣl?3$Zu#de~i`ժJc~Û5F30Wk5Ngu, ,1k ~N8|{B?gWzM?dE?ǻ}}Fߟw^{Զ/>8]ƕ^P*LВܕ Z7:oP=3)Cq\OuWˊ.z]ߖ+g#\:,]ik:qůNN*SMœ }6dy5=?-ϰ9hG/Yjyq>g廍*Nc׽h_'0v~܁t} 9K"}{X>٫s9LqYe9K$L=]neD$1Ka6YFeb2N0~60lReS%gK,Skq:̻`d}.1.>8K`†88+*Kԅѭ\¡|kIav>qq\$zsoH5zo%g,c3n2GI'N㚂z-һlԪ͕/r_?00