#!/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=561e6617c8fe32c52d427249adf00b85 # 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 ]$[ϙu%UvWN,WF{vWzحW껯*~T&Sѵ#} c4g]ORhIRn**Q0]O,)ɶ G}R,"5-?dSb9wArtL\o'+cEHfiM,*ݣdN$sϽLLP@c'˹&. .c k>q'Ok,X+-N:aHq2h ,؀,2LQ֭k D: BQ'УMہpa#3=Rl`2D&K-;"g+f,!~X"18R{2hH Kc(Efn@ WX ̂1X&0㻓DheğS Zh| (exD /LsлPZr_L@9=^%T"u[0Ѱ7PkIٔԽ"@VUo+PQtOKPno8JGWbW ȃJJ[^1'ʰNz#4*Q[h2AZlKJGnJ ;$ne4ˮ<@c2cLOMP ./7:A"ipU  &IKH `Q4G:ѱ:TLN{Ӹ*.vOeJ2Ғ#H@gG´t`0^} >%XbjuQ`f3ropQlJLjiLBU0 A(RVҕOʩm8C<*aFL]nIڈKl[rBօ̇` S],T<; h9O5ˁiMיXעFcp4׍jsj4E4<;В!Hqǝ<DZa,Iw/cJWEN qC {' 'mN Q$v&֣hWkr|IkI޺lE&S<Gjeo/]0M .kI¹<ܖ%0%tA =ywD) h3ȑn|; ݘĠ;Ha2Xx[+۞xaٱT )7`W/,-ttt H:$`Yq"4X|tC="[2=_ ыI0F%Qd ";40"9ɟ*}r;S OBo޿OAEH(6[oB@[z2~<'X]6H95aDy-3~Q\Wj|7j--!,.B'Bɱ9okĶ L*煏C<^AD+MJs+D0jPB-@e}TUA=}2MN,ƞXlcI*{Jc0Z:7z %RGT!?wݐ%0"n/,/,qkQ5<=`4Di!! |F4DiyMM@ݟ877c<> ܺIšJ<)@$'Lng8Z] o`(/>j--ȣA`MH;)z98>w7 f#b,< >L>s*7` g 9%p'D)5n8=X:(dH,/tY"HePH2\.59 7ڈdw7x猛y@|(Ũ !?MMzmb>󈨧4xm%KÈ#T6_yԦOߠpm;Wk^K&oFÅRT)#/ߺvXg==*~njdְ "@oX?΁5 3`(l`F۷(0L‹@ޓ<~+icxĖ|m_!EZ"1)fL,qFjHF*+t!kP}8TD\`-'+g-,b?$Gȶ YCNQ{u{}H2VU&@짩 D>Y %%,|'WUekk$MVh49Nz>c{Gnzϥ0X"w2i["p\8Fɏ@%T6drLa_\lp2'%"0YNI+*[$EYa.c0iT!\Pct#)Ddd U4jl |+E(&M(sa1ZΞ.88JCg\ku|:h@Ou ꥪdcEdR#sFx:=IGh `~VLX~%gLw~h_M`[ CCp=cJ6<, !njeJ` Ȗ;GVa$5y)2T\%JV'g,5KJĦe`߱Pu%v_XM,[bAq>n#IS*X#M ]ƒY]6[ۑsiCyB-]Tnatp|!c8e7u >{P &fPc蓀zAY CG|CAf8J% 6&( diQp;<@{r?a>;Tf=HYYboqFG 'W4Z?n_Y{xZ}W߼-?6lؼyc? HT&DI}EԎᠡa]w&O@sV^d4 |!‡@lwR==.d-|×xۻJ}XR̀TPJU "RעŶ\cɝ^?Xd&![s|z +ds 窳)x('Wlu30lCtzv>xMu'4lab)$U8TA*inR[iS? Ϩ9j.4]Z }%vsWvdI S vyBRsSnFjHJ& ӕ@R25{{1&s^}!p[S+uI>OY lR\kQG*#r[wvD1㑍CJ&2zw)جLH&'f鱧%kIw;_Chk~o߆?1͓͓͓͓͓͓{a?YH`ɮ\JiU[kpjdh18M,X'q )Gkd;~xvB\Fd_ JN%7ʐՓs/`+6]$u4_ @S;fkZ}=Hdz)A!n=URYm֨kBa~n }}mMYGG q5$ﮟx!/lo|<5TmT-E*DZ^ ]ű`?|ihڀq˿kQIUh _o'bKZǧ=pa J,ZOtgv⳯'SCla{_WOؓcJbpQ +Vg&nr.]. -s ˜65 "e;s}y}7Qk}/-;9T,FH[ ;HoS"k]dOU0L Ӵ_N]H|fw@!!uIXR!E4~=!wPª?b_FBh>n,n|gAX99#nԹ'`\L6s/O[Ouk|~QlUJCKr"ҬѼLI_W<*yJT HLjBVyHmAL~1Wp :N&pv2G+BHI堁;P4glSag^eKC nl` ,<2HE9isA%y&$i PꎾWoő.&ϟ|MuL~ƫiX߼v3u"o r1ucphܜ Q#u7m^ePtij?A]JD݇LC"lЋ0:{\_F[RtUK 㫬Rq% j#"Lp Yw|ߗdP 9),&h`Qǒ!]@[kwXfOV4WG.[:!&V"P@as 9 0t'jM$ : aP.O%)42NT ۄ|%&D ʽ[YZvFɛfj^U1[LƏ6eTiM+u?u.k|+} ,vٴ, A9H<'?;@cf_qkWMpǚO6=! qRYKĒR;8}+qb'd3&2koHL̳Mէ},UΰN}G蒨ޕgX?Bh:GZrΫfS9/MZt4 .eӗ{'dwOZ)mܸ+ذHV! ~xX{~%!Wr`:bۿFg`& O*| ߘTF~X;q`m= .YtCg,Kѡ5 4C.+q^8G3w DŽca*m ;5'"x=̍GkH2QກUצpTk]#,k\!|OJHʙˤ{ 4 r6 RT/{( lUfn H"&cݶ SkT}ɪzYÙl)5gF!w+Dr̿Y & SOYr&Pdz0PmnEh,ҀuzE N(q%{n*ҡuZZoXٻGB9ªywhM!r=jUS$5>-)ABXn[~< W4!3t'wZ.(h|(j*1%cl60bAPyS q ҩ8Wݤ2MkTK^mlȐE&"14z]^yi<0Q/6(oCaqʷ򬦆dwiå̐EdTwN^7D9z(~̘fs$o11{iV=;i%N"Wz !BYq2s+{mΩY`9>H_ ;:Ygtz%B1ԈJ$vxm)hV!9,0/bM7juCojVlV|n*k'm'^st]۶Vebv99"x2S㝽z]%a8!+Il!vmo$PaYup &qaEb2o`t qmHe=h4f|qL>6}HCaXGmٰxXg}NWֱ:cOc%[D+WZhOcܰuS̀҆.t{ '`+`KA9(R(UDE xxkBmIkY.\󼩕a٪;-LkgLH4`!fA+[ s 03p8VT쟊i/bȗpVEE.P%\nu V$q5. :FRc|L`\) "˼TkӱW X鱺Sׁ#99>=dK#LuKwtvb:ԌRmZ͘)g:C$xLFvL"%*ם-idZ5Qi$ѶvLrP $gCNںm,-j}úث㪕4޶ q9UEC.&5$NlUvvގ>#}JSsQӶIIvVYZI㎶-ΐw)>g>]Kod%RV RQR\s`3k[둬<}_`Yh2ÉHP¹IF}CZhAܒ±*:Eh \p+!*D{d7KW$Qg?u o(e5pTDtNb%;GX2ʥ) !nb±Zo%חEPң06nacz֬}9(6,H6ƬGB@[N|ek׷U۸r,7a`+wXܖ*Ai3f>a8VqcrTaDWzl&ŏ⊪m6̍rC+FD1"n Ђ` ^1FȾS@ c&+a Q>t+XLhr8%[ -QVVO}=9 Q7/}Ac^?ʫD lr_MZ{PVB _#;ĬlL(.R2J4Ċ0|#/0.I%pЦFTB M!OvgYvYFk=f@8`Ng*<"Pѫ$if}jCk< -6(TA.Cz xuomW%Wq:%vRdE~zyjQq_Rm- 2Xa^⭯#],O%dU٭9)FX >* Q>A^h ojLЛ1{nAvkfpSbZ k˓Qh{|[0Gp@-B! K(wc:dӍZ=\s&(̖iiݩu0f:K<h̡U7<&Tm)"HaǯoH&Fj:Xú-Peצ<=fe|K6'Tr}ExA;vd K`l Lhg-ԭ,nOE.fTI+Q+84:ZWkc]yEj1TtiɈM(ve=>x;C}lͳ}SB/9y9:z.Z'Ѽ\sʚ;ne5CLKf*NM7v( Vtz`z:2jb }ݬLHUM lAw͏y&dPxYg(oqrKP AG7W^o~-W'q^7b6A 3;EзŤoKӕ fzxTCVvLu{2<OwOj̆|K&Ke퉺St8?TYƚpZ}k4.j#y(ପ!t셫Tz329bj/Kn"lIlauxM賌쐼aU:0Q+7#?'sRdN]Zٴ;??_d>!(q ѴkY HV A'[w]g'-$gJA$Fvop~„ w'r'-CKVc$b2꠼R#j_iXq9d8 +c_%l' `*%O9U⎺-(sw6t6teU(˞\7iq<ɨ0ydq#6΋׻?r'ЇK?K 02;pIwlS6A U&<[,oMh36;BP%t] O=vRt U U=S7?w]'.9Ҩg 盬W;eD._ס cLʂ>TX#ErYnƀG?=|x@Q3DF@̫%4o"U\mwLYqm -JIҋ S2š`(BM,~pwt/ܬ&s0;8hFnb/O֏rF(d9&J1 (]l7Y J>}{gY{"Jjr{ VVdG&%WKPSXW @&G篶R}>Ƕ3O]Gf_3g3f?1]w:6%=k ER0atJ 0/[CVoK]n >z2T8;ҊYWJ/;'uU!^G`Pɓ$VjErH(VC=uە48OuR/Q `n?ckǶCj$)RwY&G>8 =93QK^.y:7[4}m8"XL+e+0|6#V.I> -=iNsj#?K"a'aI0*bPJê݁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 ]zZc10A JD=Ljp% 񡉬ZdLcQsj![VeHm<|P*kz2/>{sƚpntY8گbuLb?ǟS6'BY#h=1-Oy:{zٕJZPɃТOH܊7&V |lamM)S-d: u7KVNF&gl[~H:ƯZq$v2.^罖}^kУl0h Hsd5Bj0W۳du8L(Y|-=x,#9Yg*.Iإ\L|K[&ӣa9a At4Je6wLB) oOiiʃW6഼+1DR-_PD"2kf1?^TͲP1Pu'0@)J:7@-;RX1#HƖm%\z;zO2b~n5U(86:Sqoh.v(P;0HZN]-y)o(_4e>HG1Z*O_Egsb wq\{ٌ֪­Z{ v]v '4/@}p79=<1k{R TdlnD Z#Q*rB`%ڰzTcrN]u #ѫ*$2q; NQ}Yu -&A֒ gG ="# YC,KLL/t4r'K[p=28X[uF^HKE (v~6gԱi!#ЀGhRgńIJQ5nڤ5&c Ѝ樍:Xz)p[&,Dg9ZU՝"aHarF;O=("u6ő6/W-~`ˢ~ T< oZ*hZJT-pQa#ҡ|K#zG&٧0ʺH@/~F۾-LqNzk6ǃ!^Fd|$-CB,\Q3ĕ412.jAX9~snSߙ-gt>XE5pj0dʋ,@N>|<[EN3y4S*`jc@UZF|б^?h]@ܗ+ȴ_x 4FD:d`P(}H?]hn+1j#(Z H~'R\ъ*p ɀ0qޝ97O}!W(P`pI71E4֠@g!ajdnKM_B1#߂߲]~& k+Օg3{f=gߡ7qwz Mw`ۤ8/RB}l%Za'f1pagfwBbL//j,5㶄aмtF6> YZ[77K`Xʠ||xokz-;k8/GPWXMUZ+෻SeX5ʰf2ԧʰn2<Ӱ1(plK}KWOK1o:|ma\κ㎥YbikJVV-3|R;Pr.]-pXђ鈊 ܩrR% ZJ߳A/=k*,R/htǑbWEqJ@[ *+58gFGӠ6-ݒhPYrĄ|19PժtRFD']e_6dJJ7 ƟvcVkC]I}*O9~~UKFw;FzNorb0xr9ftZŤk' )-M*k^oQ(y;i^Տ]O;Mqc cOO5[&؈Au+#z¡:;hA=@ LE:sݩ:W56&dl ?vvNM^}z%r^^H^WDiфOOl.(>lPn[;Ͷ2M3.H>wEc@b{Duy? Uk|a`tbO)qn*;1۱"wi{ƭucˉ ` Sp/zj)k DŽgݺ#:р^6xquT7xJg>lCx~K|f3of7foJ뼝E;Kv/]T?_5 |R{Wkg躛DI?j7ZjsǠqzp~dq>2#޺'euGtaX-[@3 My}#T eJVL0GNtr؝[z1`6Kڃr:VuLH@,*e֤И =0$0QΙEw4{],1PXmŒlPmOOU:]/|ل]нDj6xٻjnQf͊ڃj] "'eq0;msQ2bw'5~ R- d+*F.19ǵ7Lvwo{FJn$*W&.ơD3vI> =9-4wjME]Vlu1h SUӵM Mo[By !L7Dp(Dr*spaft&+վn-dZ{`O=>K8,6 #E#򩷂j4Gb$-sxis IO) ;㧡8؏{A0="!$|F:\qD\lBtLb@@ȓBu3S%Eq* T@C1NB{c8oQP jHU kr!qy2 l4x*v%lϟӝӓNb =rh۞0#XO+}ߌ+\h/Q/mq({ Y -O9b 0Ey &HNUE) %PT!0X6|?Sc۰?U^>QCQC() ?ά}-PWaYdTmrr.Y5 NSgpINt,3ig1Bȼ.&(1/ON;{5=$5p|ET}7&]K'3¾sxc4rjũ+o'y><"criGƹp0hu] /1#̸vAocl2iaG6F~wFw hDZ}P3&I4cV>٧z`JRGO) #id0!iߦVv0WcwV|Y1 ?W'Vul^˭ XʻPYҝUvċ*q1=afQE/$r)iXPh@}2V7g[y !m,TaZF6w/$n4a * nSLsO:H{1_\L>&/Q43 ںhu}%>3g3f?3w]$Fird5Qn_1,w60S7u̷cnESƞ_đv9ݍ(8xU1nK1$ׇ˷KTu^#(FK'ӟd}Q'~߃Wv0U  Iuƒո-jyoeeU{wu^/zy/ڑ Dp•RC%QK_e8ɣ%4/ۣ fJLM(-.=R(*S#\v6wx7kdd(r+'O+w47Ot !_5f`BG*jᣍ(J>k VxgWN6#^+of5th3[v g4Ɓ fZ` ֻf"#;:K`bET3bVÅZR/Vni; O=윕%N.Pdҽ^/Nl˹6dBt G$d3\0@=zƃN*|"BҖ ķ)D*e[@bl%eIlt߀!m">'hV  ֢Fsogox] hJ{=Vr#,¹xp=[y7&Ebgٷgo6V[+b hn|wkg߬?eXDkV; ZE Yr\CC{d;_G iZw~ul졽 ځ!V @::flv4M`MCeZoMIV*mυ7ݜ{w;GB?|c4}Mww>N2yt{9X%I@,%:ZY씜\2nvv=.e2R_ße s@V+|XÖц==]]R,| fMuZn#l>P zDDbBD;xcLI= IpgF9ht77 >6 ϒQ|ɞb+A>EU&:e3q?;$ҍюXQwXsJb 4zH oxn1YF8 a'P77g_3g3{f=.#od~;{;j/"Ŵe`p)j-qE]J fݩa8|CiH2Y_ӝ9JaBEx gĠi7gqP,lMfB,Un152D& hH6_(7D7WLmXVt'#^j{a!$D6&J-$^7t4|ki UGڤnGE̋b8l?x 𧿘Gy**LH{Hw\Q9YMK)RR&Ho'b+ߒI_KM+O)Pm\/aF7(/5&)2IyۻjT%ƨ^`U^9QV(59͆t/qM9fIA !2y7@MԘs~ʉyLN`] NeFaʚTvq5q@hrS` HN#2LV7l Yh4OS2V0=#⎃[jl he F5~_bBRh~mR@SJ *S/2 "`[s6,Bي+L_,K(&X[tĽdg !V;i(0罰ܐxLP=?\k\Xl+HVebۣLIsKقcJ%/{%F\d| W_H5Ir:)YI2d]L(O@tyH~mBlH][{"i%ZZ,_{a8Hy155 U2F8ENK1Z#jaXP6êpxIx 6h9UhEO!抡s=|[n P㍪'v,PET7:JHRx~0e3pSZsA]H}0jP#).bxV[{(~5LZnFPJ[40W:v1s?xB~ ٵE}b6(anAD06ӄ (;' Γ [ՃHx%ЧO>rRjI[-ڒ ڏ3L"[6Q{E™ G;؏ &T#kvM#gk>ڵ$f0hog[#~hmK L Yp &)9dN")D (yo7XczxW2ګh!_Nxyh}}c&/ϸK;nr9;o %)=GDњԻ'qAӌ䡴(X]S3"/4p,3Y,{8'ʬΈA rQȟBp}2dR @dbC#]"A_E l>FTncvh꣹%ځeQv܉j`Ծt<{ݽP C 5wBlam/oхM,,q7yCF2|uo6d2Ş8vmp>F%قۯ鞣7uvg '.5^"׌&S z&䉒y. LaflU<A$3&дO>&OeEJ8=\"1_40OwotܯG .6Ks0tuY B󈜙(ƵP庡w!y !PdHyC": [rh̍ w6Nya~g9:I ˲sv wIkF [yF++aV4K 3{=g3&(Ssr@5}=ǮvS\'mE7=7 =zφ3CBܬYwܡk)=|,XNV&^:47YcT9SMCXS}sZǢohC9:{o7!xZɯ{Ƿlwh7OSNKs9{G\]]~rSqo:ΏW_ 7sēQdN869@AZ*~)**1 +*y%p;sI=T0aK4Ϸ~2DkttshKe}3/2׸eM%XZX.+zg߿:dLHٻvo<ҦY$ճd*6 J>iT3vFߚIZ Gv2UGFV}A0ƿXo ؖj`PKSO6irF`Қ ̀c ]Y1"T3.i1QWJ3=6IŦb W07V*U>OS-J _ը S ەc rzw1j.j"iD@l]TADv]%{޺I\X`U|֧q^KZg@SB"'vNAk"pvsgw[7Fs*Gg7֘z. n7,3LUk\ ub-]{u~#؞:oL132zz'\Vt98]l_q<'WoK[;V` /~pbUZm*ths49& ޭ Yn> ?g曇9xoOs6J}?p3(u}eݟܿ<.9k /r#vcuimem5HvFe܁];u6@oUtTE9߉(9p܅h8ߑ7ߑzk7ߑr6߉ji6ߍbB8u/eIdSTZmUBRIAqy\;އKNNv6$ɉ>,IvAwrxYt2Uڇeo+^O怦.0ed[:,/rd959p+I=Ro1O-T-!L0VRWGĒ|J; Z.˖ie$(MFEj嚬MX]$Iv i2=6te.E h56WYO00>z~B]~ۋe*>![yeLL.LF$d^51i!q+JNNg%U(IӬr%nJ\[4 (sudt2b>2닻/PL |8:#CIj3<M뇟e?I>.v B_Iȭ?wXHչ@K1^r4c\FA@wV$BH]sJ?>+ϸ=g\˞qٷqG 踚,u3 M5g1\Ӿ.2vm^6ɐ\-CDSOr~rт!h[CE#v((r#Α3432n:^Zޜ5#7p yR&KǨsUx̫&`ߔ}ˀTiRؑ$񸊥@L{6=GnGw td9Shn;6`},|Aڞ[̕OwImw\j0b@RX6T$vm}fg|90