#!/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=34ac0f76a1775932c2c9a8a92af022fb # 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 ~9b;kSʒ$.%c! 116k<-ǠeH2lyh$˘8[Jli_3|? ]znW[[{;{[^mnmzmD,IWG/֌qp}2Yeۛ[[ۛ[̙| 44&u&, ^A=> 4fɐ΂ KYHoXo4KI Q0j̏98 Ҕ4!<7~ _Ќ}0fh2 pPHpX}"i FA4X`&VD_Ew%eBHDi056|&~򸾀А"΀?TbAa4|j6`="Y<qI :%b4O#esj dAH@ 8*01>B+G(L qĂ2J,#IQz*!%S>@%*_5$?s\vO=Ei-v:m^|9g}vmv=MÅo/=uYǜ;[cNپl9s߭Y۽6J38vhN豋E׵2rfۭ:P23ny4 clmXm9=G&Hl{a7xQ&^tVq ZK%ӼH8ý;]es\phjPpNJ\ee k>9HEp6$(Hu#,x!nXa. 1_rWFV*C>gc~eE>!AJ6`n-E;GS:\/W ޿{(O1yDO?qxolX@P @lQpٱ8hmC9|,3OlDИ*5(FI2VTI16mCd {tb (Mك4e}I"+:Cdls"iOLT< hc QqH1+8( 6`i璝 AZ+`kO8A\D0ˣ dtVn))Pyh61D4"Tp:0؟.F #, +A5\ΕPhQ2"9C̿I]4$3#>Foo Wj'8̾) 8 &cLl;M. $`r3 dv2"IR˟TH ȀE'ɂH sDLYyF,1se3eٲDtYڪH3f@2)3 zL 5i3 zt3y%Rg-3Gq O90w䆹px ֯ 5|,7=/E~ [0M f,J"OJ/|B͛ჟaHnVƐ'o<,K8I9bV\~@!]Nmb:v[5[5@"dqF\O1aㄗuF4Ln̑R.&EQ}p8`&vpM!bʊх9[v#:1c_mµ6DpHO*5 zQnxw:?J2MFڃY+F6 yÏcТc ǻ_F)?tސabLORp|Y~`,'SxM jvQkr%G"4/0@1 K|>2;ŤIVKJ  ƿ 2K\XvŅ{HYbo2Of=u|dGHNMK~fDDkWKr|Z $h`8E*++L)]AT!k JBG淄*Im=@g!8qy-A~*~Dӄ>p`aY"䕐qj"Aȝϰj-`C0:z5)O![FS u?)]5!!Xr)IG4;\+ hdd5vzr '7IΑwO{nh8fA!9ٍ $y:e\U}W$3wp WjL--)g &L$!je֠L,i gz628Xjپmsy: D( = @R@de1 ɐDN B]PuVsS5+.+ָ;~X~&[]e'Rl{{(kW 1Vi< fYP̒N=oX 5f UD¸ ZZ1f5"|R钅三OZ|\ar0hvM>@r n,&k kaN) M֓x0̇ Пz~Rdz,^,AX~ $Ldmx=f$yw#ҫ߃!Ϲ6=9 f~ɖڴxY׃$Fi޷:fGG9%w8b璉Wı<\OZ6 9mf8pG0P7䡊afy8 Tla~*o!){^Ɠb7_4bDn)NOw;~o飲E8ޗy{J32掲 V*_va(' +<Cl2tlgzpڄE,XgYQ8 0:un47;ʇfdn&;ϕsC3\SNx8'lg9. #ə Mi/ ȍUE,+2KSCG>#쒪 5eBz`;SzRvhhJԸYP-3 0A-ٶ!,)x1+AKCҺ)N?w{$+͢(ᛖ0{E]53)$6af:ŶPøXhO#rW Ob ݊y)kŽhhKzPcYٳ})d[bGWO 7vӣw;Q yy@ڞ5̘ma`u-ʊ"h዁JAJK)"\OwhΝBK<-%Uaqs!n̒e5f`Xnշ,۝5ɘ6̗-H0!UkA/fEs Ǥ_MUyQ$'rW(oel(*u"6ً HC \ݲ/OquYͥ. 3e-B SXڣO|bQS;I_G *K S쌣Mt*1fƹHXY1ﴈT\3/9jŨStSEykx骀XאQ5܊i1J <{d [~u=Ʊq$tiKdL6sL#gP-Af* 4Yҟ {&h1;w\ȑ{?L@^jt(ztl8Z<mmۺ+8!! 0[a R  vjꖰ# kVZû޳4o m:rqSN4U>,$w0yWb'JEê$-ബb>L#m+J7E Scǂ eXQF&ZP}}VJzð55petw6n㓳vayq%i_MMo#ߪᚩ}R槎qV#a†FFxжګJz¿gr6"k6mJjI@ ,}\~vC^Аi IcSFHPߴ()ۤ Q;+-w~G[og;&0]3՗AJOIH9 M<@] kg3sjB6b{jһ&*ɩ)qX1"R/M5-֮aKc;H!"cdltU-0@2%ZN f 7/0\R6cyuԃ;9֘*PSjS&Z-=TYJ+!IKBd BTeRZJF mfjkg;g %of#O*m-6i !4Xo~BM4kuD Dtd #;̀pbd0&˝LxD mDjCs2$-6^$\/੫׾aſљ`M?:3܈(8'G2drSKC/Fclgj#UwCcᩄ*uhX6'4< ň8VN B0(aU.쥆Mz3zU{/-(ݚdL&)1(=wTc#ûXp T'/ #GKQtM|pM[˲!fDaP6NE(TsڣCn0yL&RFFY _אNht(6G+E[4ҮMzzgTI.ȟRfxm+m=,1gc`vžLcU{b *ZXWN G*Odh'vY5OZo1? vIHP*600000000'D}0 …畓R;$̼>P],DG~cL TySy'me~C"ʻj(lf-: bs|b]&Z*ŧŒ_d[$J(&UyC#K.-K[7]W \ܧ1{?I5S `BKᦣˣ"[ R!d]B1j ddvkd7Ykɔ)н{5)[ ^Uyf͛Z :ɬ[I`D_Ń"yj;y%B ̰W?ϒ:sT9*3. wܫ\v8ЦUKE!Rkz)# >Gjgš(åۮ1Fj&G-tMX?l[KM|]"#g wyl7哛g )R/s\pCa) !(h5C/d%" )v {U\"}y76* ~YfqGpD% :&R4 `*؜[MO+$`J)glTR(о% 6Яa!0l~A6Y~MhzB g4)K7~(HE"Vlڙ39u#0"XBu9!ĆULĚ*ڼn322Ndd@ganx]io5('<=%BQSISBBck/WibMw6@gf3$[+`8;JE<K *A0sY wN$۽Y2^_ԤdJ||\FBnYJ:JFDAni^!&%y/V<`&[M 4dte>x=AS 6a}$a@>( lV`ef4[(]Iԝ"i5 kEԔ3 fPo](W*g<ʆб_73/ӄ7&ɶÚ 5.o)}wf||բCޣ|A|HtǜG=9 hQ|uftaj# .!Hqh QшCr$@䠓X0g '͵I ,2R4y#mp?MaTB.f㉖x31r0RESXbp9+a_%lK`*M[5jqhdVJ"xB9[dLVsc];C*ਯvq mFTxd8˖_# P:/^ȝ@ 7~"r $q1lN )<E ܏)r`xlu@Y@INW{م PSNn?p8xC㪞EMZ_gېSl Ө=X; .XUX^2DN^4+%uFsn?s@wa*nO7E{xXa 'ATfޤKW`wXުN儧6pf" _WՓU-)/# zFX0Ţop4ġXЯ2b^߻_ru)|??U>=AIWW~'tCm;M?vɌgUqoaEm@S0wDm*"%9Ⱥ /O4oLl&;aW)8aE7q('.6aI$Sx7-04Vv2Xe~'k [)//@+zg߿|!Kݟi`ZJE^  $5G~_.}k}k7%Nۍ[ȫQ?>cBUF0ugz[O& 53'&[.Nr\$15rmZ̸缒|/69]aR%ˇT3TRo6g[R@fufDT{;Ij"i!ĴaZZ%5NNki$yqqjl;%t~-G3 T6lRYP,V°/r+21_c}:I.V;H=_,9ieɍ 'X7(ޞA}Ql]%^w,rJŌN~+WxPurE}ieizgs>Īaf РlYbs PQ4z*zXtҺazigg[? @'yE)N׌7{=PlQ w3p`!]}$E^V~B {yi>دoݜ(BCP,lMR;Y(Ũp(Q!2 $i0p tfYc0 =JMTӓ/rS=\N]B4125$}! qZ WBUic=- >5#lt0}6.rqC  "tO#TbGꩣ#5=Mr{@DOq^CY|[H &[VV ȗE-ٯJi͢.1֐8X}V;#bco+K+p6՜e:^iQ4@^[qLxrSSUQ.H/>p*bnN%?HxTؒ x22r>܀(0ҤFS$-B2c:ƛ9h;բ!VNS/jP-)-dxܖ{0 -|? ^DP&Fi@h Ew  89כ-a-y;E r 1Gw2qaš:fr3Rˮa̫6ea6--0-d*p4i~' DM2`O$<> o2Q`trՇx :al>,DX-O ԅY+,B<.5DU(UŗgNl\%bN<[>˷bܧFjzQ VT`33Yf☞H^8#..dRFUɸbH$uN!k<2)FZ!ti hC42諐g"wP9 lcd{JO &1F ;iAPu!8~lXeǝ( 'ADwZ5{a(F7аEm/>C*~=vXcExA,vr]O#Q ?{{b9tRU}Dr9™ӝ/=>ٓ|RJr<lz9q0jfּTPAuW絟ZB&fΘB\Dl|bYYsWsV'|P€>]yO\Gd['U2 7m`2njḠgIڅ)B !s mx-9;w6Nyc&֠gG Kb\L._`.' ޝMZm7O6o6]W5ŧ[2ͤTHGJ3" ŁL=]0׆zV$]l}s4VV;PNV/ww? YY|!cwX5fkkQYJBtbYd3HbqJ}$W &VX9dUu1ou)֞>no=w~5\^s{={}{}#0\Qy\==7p#v芼BE;)F#du 8j089UZiBI$UR iLB q-Z_D:r74`b,)E^{! w%R CQӂ+}Ub)^!F?D$y d&AĐ+K6XVYL`>:IarN2~p ap RD_se7r$1ٻޘ6,.i1Ue͈Qo0&XNJE A'Yj2iǓz'4J`ps8BNUE-6#,CՈ'ہPiw!~G(AG K 0rz 6S^%-/&-!@#24N%sȝ¨̞_:ށAiFJ6N-2"[ te8䀘$策CT-cQgP*UQ`xe[*[m9՗l] s/'ANVCbܩ%mڛ:%`k%tJjovL2]@Nvq^K$@ xLz}Gd+{.ï6iK7zfB [TxZۇI*p:3I7Zh9`SUC.څ`S>*mqo.-cTy}bBc]1I4+O7Gϕ K_f+y\qL:$gM~?9htTpd:"n]υqZb4pxy~JbvgZ;:ne``̐rوX*(Z푒J(/=zDZU*$}oN_p G)RPoa?`i Au.sJ6[WBʎH/5e0i"4~}mVhO U OKG#F%0N"fjnEm~ 3vs3T^OϪP3lva-451?MYz} ^߿Fqī >g9a#H%5%*Lߑ< ۧp-#fsU(? #yIW =xR5,ϝz$r"hI /k|8IXC`F2S5w#ӗܥԍqi ^dXpdq%2('i]xv.;'^~^čI %q/d^rVi-+}yLiDH`4 W_xw^rKs{n=qo2n> +mB݃Po0/m >g.,/ټo> cx$xv'!%6R^fv%1]%<ƕ5 H$'>ڄeEjD$x HVC| d>>RYi_Y+TTO_R{SdcQFbL񖯀wfPvgP3eXO;",`a"˵-NFI,4 jrKm``r<9=A٭vZ In鏁w>S\ @KJ(GY Uh/SZ)dX OaWEaVMq#"X|YJba9Eol0{2Xs[k .0ш?X!4q\ 0d,lmY2;x rmewWe^o1O9 ܧռ/n~lmel:Uz6.u&I]mW| k lHN;Mf;Ssqi2˭bh͝9MXPaם[ũQc<* NL-nM̏5q|"1yfIC ${8x䗱e05ΰslM?}QJ oF\QIaɈ#o׷ɻY?bm bOR<6t7u{(w =jĒEG߶ VCh krgn6\+OIK)d-fLockQFT໪BG>C[%0T@Q3׉n"aB( <P$+]ehk@pv rE󷼓XԸٗZ.iݕm3\Zu5ܳK3kXO+ZV*PC#7TLVv{QE$ /xꆩϙ'VSPUdh匆>+#%QXwjŭn(R*ZIyq.PcUe;]ײ4fJO,"Cn_&a1$;{!sILwW"իKiT _4S [=Զ[쎰I-M'Ŧy_83h"2h}ֽ|p]on×Ѽu E0-/h$:LjJ̵H*ZߕԲ#B29CDÌUyHlo޸STxsc d崨[w!gfκ0Fq[_`;N5sø[|l e={ړpH (7e.TڧwnsO*X...XIjP.JB6nW;g٘Q|c?2F<>0NR2G>]U!hnqEjB{Jkƺoey"oď_y_rXM˜u!n7rBJpfH-/K"Vff),n4Z󋵋Z~E?k֞޳5,z(>c h d)q)/Zdd|'5Bpho`.;Xt:,h I.A$M=Â.O4ocƺ8U2^* $Vj0lg(.o͂}w`l1BcB:99egTN>N2E"m:M5Ti dw2c-g"1|Э@+KzP${\Qe`>#V sy"6uQW=-êE4-_Ѝ_xmM6GSezꌀܶ,#:`pAR"COX䩂4S h f"01';d5PK@1: {It_ ":w|]ћ}!cwB9c lpzVZ!1Y<1-ғ8hꡅle% 1 X6QSo70奔I~C522x(m8wV y}mAWx~ncZ( Ijjpy@uMIX hoC%NKanQ$a{itZz!dDZyYA].`J5/(`JNRƃ*T`e(6\,)`wƬy HoEH+Vf rh>6nA⾡;T/+3"9_(2G ܣ'ݗwl5Ĥ5%RD`)\a.QҠ-Y%I6<}%f憴Fǧlsf WgYnM/neݠK ;KPC L*XN'Tx]7АVvD @Z税R*;ȉ jȑ,zH>8/4X;5Gԉ yk֕ IH+lm`sqϢ(٦rQe=K"n||_6pɔCE8g@Nf;%g;)yO9sݬɾ#xCեPHnԯч_Yоbz2>>mim39,u)𩱛##tHWyX+Q %BL]aХNjӐtc`H= IpBgz9htlc6`ɨSJ Wc tv2g7ʔbmZgl7x{$Y B#th P-b 8Ww$pAøLmt o$V0-F8 a>_G uKŧO]|ڭ^[.qE2P/䍮>)2~tƯɸ ///gЇ{ſV vy Hvwi_wULȄ'WՋI̞ 0|?2 '6am5@,9nl@.l6:@jgy:**RV~(G>gJ`!dj4n~hFqp1S/##Dznr3lK0KkERat67]hqw QPX0yAt_z)o?sg3r? TJ퐄`o4(e_U'52dJ˱deUihS6 09FJo%Z1->Yv*<䳳S3 p/n?w;Kh3.ׄ}vޗPx 3B<%}/'')srrIEkNn JP[2CsQԉcy8VnKz쐬VUҒ22xk2m/ ۣ=OܑEWs@{y'9>,!5H<5<# OergH\6G~MY뼈-BfDVwF"&^4nt:ƃ&Gtw4l ld>i:4|(__JnEy'?Sbf",8[ZwN|jQ:j4ܹ&d"ZeaSt;SPh͙s\;s\;sWΈX]`zO 7ze;Qs'y/p ?RG~Fʋة_X8x:"m- k=Á6-”Y@i"ED1/v"U u4' /0i=I$ ,<[zŵCTmlPOOă3"u&^7} n":Y-NS5`%$-Y|m]rop)4SB869%e877& }Hc/sv$\C:l̍I m"D pEMU7_O$ = @.}q'|vB^0 (o봯]QFM\DpTS@`pr Up$2q1H/cLٞAn$nOaZ'h]bbYW'jü:H^"LbsT)5z-nF_/NBvRlm&%]O o-j 6#Xq0+Ζs̔?+cu /W^/f4jV>=~ T^?fIZ{`k =>\7p-QLєn@W< m4laU2B )9ڈ8n8,F}l7Hb8tr`n+bZlf8[3Cv f%wXr`pk3:sYVֆD2C*&eOD]8I=$l> (,":E6'g-aN=|롰A 6щGqԧ@\r!&EC tDsI8Yeޗ0PY/; ERMgrb Mĉ ՞{.j1f$c%#?y'# *xlѭ7{g:&|:ӱJlBBjYyB("Wp-( =ooDƠ[{+'^,Cd(L:Px'U0r[o6q&Cie0!x=>٣JdSwph,@lA 1`2*p+@ׯkhҸbc8F=ƲaW0h76&~4( LiB83:T oF|e?vye"wv%lwO4Z;~zރѶapڣ~9؎n_X%ڋԖ15siR}K^Z#EB !U<!W5ӷ&$q[Ýjr;`\9x<'tlCLݼGJ 4|SQ5fϖj &mXu'LTO=U,^ȿu"wX8 }7]'yޞd&.XGX 6z䜑* oCZizLfQW\;1~Vu0bXp3#@5<-)8-σB*JT,B PMȳJQ^ė$eHP5aJ0/d(ԸDݫP5S 'jEAirv4Rp&qgd,:0L釁iu$2$u>Aḋ MCHX1JGaZl aa ģ2K#¾r@`(@tkpeShr#c)y2?w@4+K<@/.Z(NxQz5֨~Z-A`CngQi/ r)ӰЈm&$ }K"y}qz!QӧaE0B@^Aʼnôz4@bʡCLVIwU/_\L<V2S vR"e}=d$ǩO̤OĨ̓R 5Pjh\JR'| L޸p#FQ4-*rTmD%/q5A~+(mQ9ڤhz٢%ŅU2XNT h#@%e{.UC"e9tEZ0VME' qg᯹WL%=IJ\1eۮ%yY6[jvX)B䔺Z WSaM#I˚ (d$P颒fǑ h!x~HvuxT9~j;Uκ> lv<Do xʠrݬ&V@"vCV?X0[Fw#uS (v/xrBaޭåk \baCehm7)ۭ_GY<PiId$JD(Q2+, I!k`e 3 I@Yk6P*(cўr8'H6dg ]sM CTv\2i0bm\a'3%> CO 2h^GL|0^D2{e!J_bB#a.`J o*_?ܜ~-t]SہKg/`8 JsZ ? #W# G?Dsm|!$L/^Ts.{eϹ9=\l8!\I>XEݲp'*ڝw@ @a!kYʶxP))(TF@17/Ѩ۔a֑|M* ʣz\ʾ̷N8n><{Q&KngUE-]{,{͌CcIH8\ʐJW:#OFe#<$|]# -肸Ds۾A@|pxU[وx aD6'=e)mc2 |&^Ȏi| M.H,SRz6kLr/[/ _z Y.\*Qbj0d4З5ÕCWdҺ*tT8,o0