#!/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=6b0f888c786d98b52c9ceda3811cc4d6 # 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 `m󑐽wu*ttH95/qO?ׯ{sF?v6_wv6wvnscOlG2|QlMoϋ ЙLctjlkcs4/. ?4c@#WnVǐNlqx,ip''2?oo;c"Zuf<9qmcÏxj?9ބYg;8)$8m]bk Oo,X,&6WDk^WxKʄ0c:@8sLQ5+9$B90cx Bؾ5q/6@> ̌ynI7%b%Cg8r`F đD H0nGC{6riǜ a5,2Bk]?MugɈ z]uv P;< :`yasdogCU`ȴӳi^gZ;j:?vp4ʼnlpNa.ۇZO}$GڨԎCfgHCvv><*u5kkj UW#{ZC_Ke*>HՆjgk~u@bx3O +j?%V]s>m;%Sdġ#mt>R`%Q=$s]EVQs]#i:A>0Kbqd3`,HuD!J$FQ (AlcQ|tjtЈ4P=3TQшVvKp0]fCHVVr)#+t8j9LؙT|Q#i]^;Cl'rnuqtU}RkA S ڸsiJY)ЯUV|l]UjEb t Kh`ʼDηc&y;oެSlH/776zg?NPm0utA gW+0f#721,Ӛܠ[+Hfr!nVӯV?3r! 0݈WA@fZsтJax4&l6ZbvC!pr?d]|gi N!H8lZwO]&_Ѓ%Vű}bX]DSְs(XVNM2`?I(ƭ/. ϫUHqj`P]41[i7/B y_0if< R7-~Sy[?i_m.v6iWlaIV=t&nw\^ě}B<'u8`0Nٍ?r$e ¨B)TNڧR,jSm7Β6Uj&9ÅCӆd^iXAux`L0=3YHɶ1x:_XO, p.nh2'#ܺOnhua2u6:P56DY:1X.w@4Ҷy"RrIΰvonL5Ŧj3F20K^yyx?hɁ_]Ǜ_7)6-v}9 kC6^n<1dzfEk(I9[ -pSu 5 7#׼ !B37?¹srgnnc ;SoA % [ǿuV&X7j [nayml @[5'GXiDy0'}cKnuRiʆ9`PjPM./,A+ "G+'1+EhZ׵ѣjKNNmM9r̉n Tn!p(xCg@ /ŃP)DDgZ~d U'W.D+Eыb$28@I-W`%̀W3jo21Zj%G:q`_{Y$ Y[5!V].͛!nōQ +ؑT&[|]Ct:P^LyfdV PcҍP5oA4F04t ".Y>qQ E:ܽQ)h_50PU꘭VЛ_jc3ame1F%k$Wɩ 9$^=jڞXL_ÿ 2+z99ORùXኩp*vR,gFN̫3Ce[@L2TAAZ_ìlKv4!CjXzq!ق4Kq%4‰aj8>]H^3*d{`zl“KLJf >ذP)"c*zuJ Ņ`<Վ[_9VL$6ƊCG.S,Zr XP<پAt 2TH-!VR P.7UbE@T:frb=_C,qe J6_w^ &%nn !(듓f` qM2eMxΘJl:DY 95Dkc/BkaDrd]!XM`L51 67r2 4x*36w.\',}LXf !aamƁ|dD9<'a س}#ܒEy*yDrkYRF31< ˋ_sm9t c-Opr`]r!< Ӄ &J& Kpm`S$/0&P +vQ ݮ$d8攜)61R1?UV6QlBįca7hh&Yf$gGTԛ"Sm&|-. oD`M d kLJ:4ks daǣ|}Obℱ)(!TZ̦|_s ܴɸ[2Oy+U`>YZq$b@*/]?.fzX,m) MFA߱5}} U}^jijQ DuU+:2r@v )[b~HѶJꭤh|#$x I$$w`ˈ/ d,-r=2iߌP}3`<V/g330$f =jQO$^z60+L<_P Ĕ1DI2;үg^qS'z pYȿI0].JeCԦc>fMaAU.B.>',YN_,`˥'%7G(blVu^SHPEdREZ.B*vܸ{_4( j=6[lg{\Iΐo\TsǸ!03a gTW! ѵؘi`]uV,#,SBASR(fdr(0 qVw,=hR=:u,UP3lŽE݇$K SٌH::")yCn#R/kmp3G:ԋUl'ZY(|IA=tGEgCy9kjP#߈q>JmS4)+EL@ rm,s)3Ci+ND:}/Cg?;9׳P3m HԠMcJ}o΅KgY:+@IwGm耍HKJBT EطBSC?7GRuFjxWELDX,"ejAZ-,n&E &=%m.Tڣ\j+;FŊ$l2x,$m}یM"w+I,$L jjeV fKs*#ھIzqhʰRܪhB*ja]!-:7]: 7emuGMpMuɪ kBFjc1HV bIśNŒ(\̭K>&uP)^fJ) Y)2Q>%zROST"pihED&iMm =@yHteW9yRogBn-65DdO.cM%=M2%p9wDϢ΋ЙLx(Q>yh#2{S\^`͜,)X{+~[qcţ ^_/8/_$znv 7R]ayNaP|*q.C>薸#1gLlqTNJF q{/o'Ǭɩ}}K}[xFNY,`sm9! QtFy\bv߯\qoJG$2Qd6X{zjʎ~<NJa8%JJPX IVqYȝ˶q+ 5hZᇿ@4=㳥 c{={~]gyWk&ӡ2Hr{&җ@aJ 1 LmQzS< Tai@DwD exDG՗ s9vaU~Sw>[BJ΢Z_.8eh?UMQ-L(e<}xɱD3e֒T&irAbtSNn`|g0\a+[F .d33@46NiF"p'88oioH(˳Ӫ>:C(M9fpHEa%x+IQW;aQɚ%{S/>N.u:ݺt=Qx04IK&#LA.[%㶑|H0Q;ə{N V?}y{GW lY!6fF؂~Wڶm& Yj df<1RWu-Sg f6qOLz؎'cc,E_q) dQ 96+WyX%XHeA!ɪHU?[?46\Ncޝ/pj:DU7j== VLӏJŞxդ-|LVF(MQ,KZZ94@4Dn(XCĤx=84v>Ot&6~oɨ4BUvd2#7gQgvM1nބćB9ßpNFZ 3׍p7uC|[t0m{0QΛq(E撹XQ"-l1LFOԱ6iEvhtilpФJ9K^%S lM:N0%Gn ׂ~ NΒsT?ߋmA]gT↡Ͻ. <Bq #Yyw+w'ʇ? K22 >\5Y.7nL'!  ބDMmnAkH*drFS`tHBD5OAH!RE+J-$s4 0WY U 2ǢPQ6Izɠ(tR/㓣p? 1udt%垜>^Seшnsnco`=`Տs.ka^X}/V ;9zPHໝtA"C3 L_llsոT?8e2:&S\a$ o9u ![5͢ g"C ć8djQ  cŞ|$F^!sqI!e:8ACBE!TXH8q&"7,4L;DOD-H3̔^ EK nɘ$] [.i,ݡa$D/]zZY[4[<1y*fc/쁛ujMoO@ ӫZnD "`\QGEAt%0 UAVk >qHQAx3Mgq|1E883\fXv"ȟM͇XW7黏0|8TzCg_9`{#|'T.<ʔ3Ub+ 8N)U VKP&UXdiY@K@^HYFW^f6*v(?|?EEYM :k>v.1{xkc [)%aEwcB>q>i,CC-h0)2:lJ_O0_N "$T.5T$pм2E$FGעLP&P>sDL$4f$Κ!ɧ= 3P= hm&6fCa3d}Ol 0 !#wCl*--D}TDڒ'XY>Cւ݈2XU3mdÍqqĀtT6LmABIuQ!x_mEjkS_<^ne&3Tk6lLS:nzw~\' QNjiyS1N{4㕢a *󄼃# brpjOMPIs+3?BElzHZEv ƹzCvp\OTzHxۖ 3]ЍFLzYFcm*L`z]KE>G1VY:ڃ[,F !#da YX,,A,AȠx(lbݽ?q6XÉ-HB(U6+hqn@A %d,n1%p-Mڝ0FK >Uk9xZZ%h 3`d+e^>8~Q[_P5Oܞ녪~agj\/*jȡwX!$ae[T|}gxtjrs[+%j퓡&~ -ivԈaF,]Jm*B=C cŢȅ:vLohu&EdRa +Eavf\h5հXfp^iEխMǏUe^+^c^iʣ&=-1saQs`@ZS)pH^^`Zv"Hmriǭɕ2ʓF]K]Ъ*C-Rd"Gx0,=,v-<ؙ4k$jN zzu>ak)g=chrX!G֞w>c8n"ɉ^bb  G?C=e%e s%ɣô)opW~s~m+;`=5}kgCS=$3HSXR5HUuyjc+H' kzͫx6#S2eF)θK4/j Y5ruؐbQ8mjF2On!Kyr\m;FoG Xʄ-ۈ@wQJץn?7JNfe!rb_cC\\AOA.?4zV([,cߡCCYt!}mOtAo؜|}%Zr7:tɧH"'  .Lx %8zp};XF[BgE3-lf  #3K4{2[6/>ld|,t_ 0|yNz22s-2ll]n|WRh8(V1f f2 Zr:}[p}'8iǧ5}40TpVߦlz16q")mXoi+67wXw}-+>'!'"Xk8+^Λ ??$bPjZZE_aȊ~Ug^?_m*W{o~<L?Ÿu^ﯞ'6;\]C>r^_G~5 II8E@(KOPcR4:?-ӾB|;y)W !Ì> pu|XnDOpRc qjo8Smm .`00:(睫pmyY0}uxߖkKH48F3Y"8%:xHFwbl)Z=+,yN?'ͫRT8ogZ ߐJPRQKZoFtD@Zo#0 QssP$`|*JY)E:6$Y #:9boZdv3R (﷋pYJ樤nӷ*aF%756B iK~)2fz Ei{Ndxn:bpIo 60$t~- 5c°sTF 4HaVQqw CxӠ++@>ءī%*n4l=:T93{9F;9/eݯ\Vp:l N~ZWWOC3ko^|z{ko$'s XUN6e:4h-sCEfݚscGo6 Hg~u큣Y}pmgYgY[o D.0BFtKE9G1ѣj1sA܈L2F)aG,׋xPlq0gZs0ɏam׹꺺4?7;Ee, P,,Mz@-A"v17$2axmg +rȑjp/ bE7 `*Cqf^e x%dDit,SMLcz=dl} 0«I i)slv&6=87 ['h{.G~<ƣUABw,_՚K C*@ ɛx oHD"K]x(rm*ysR X4 ǿtܥ'խ O bC}C,?podh#3wQxw/;-|ʔ7*(0q-KXPX`m"Bde& uEQUF\14=eT0?#ofpC$hφ;6Fl*$`hí0ַ_|oO- r-P?)cz=K t'G1*QP[;s? YQSKF]8LE3>u_{\0IG'vw\Kʌ-ͽ2 mf Vo^pPG⇏xgƕa+J=r+Fc;DI$$65ofFz˖iP,$59nT‹(82Bq#ȮBڊ(1,7 s“Q|a] o1PB@_vS=ZS{Nyٍƹi#%N@OL}.[̜?mS纳S2MwZ5W퉙$dW vv\ ` PPvו;h(p;/]"iMT~GDЎ4teI4#d̀N\hQ)cb~#qȌhscmCUe } yd bc'̊ME'`}zgb %~1W0h0@:싃ƾNzYj5LxzXf+8]n3ġ[ʣԉ($%6muAǼ薐GmK؀rYkk`qg7=2$3'Mo06{zu])ysOH)Φ^WԚ۹ijE鳸|kCSlRjbf_ne19D 5Ϣ9JS(#lWcvsHSYSȓ,RleBւ6$#* ylO~~^/iw oƺ`?v,^Ǖzh:`{Q$5wa(F=BaP=&|l2TMYYw&mK0 m0=<'蓅"mWr ZUWA;jN9)LAsa~it 94¼9cbXKInPcYL<5(Q3؜} zrz [8c crQlMG?)u8>r*q~9GvSh(a@''tX0OxT@nZ8ل+5qu0)n(;tP {^/ F$xfOs o7ǰm_ R1h/ɳ~ns\۩w^;]ZPQgR’"*jRШGn}?mO=b?m"xрE;Hy䔣vNf?NK2Sڣb+ː&N:`s>p턨Zt/C6>@#1\>zT}J[۳ xj4cT)#r+_1Ƕ<{UeN(J؋!6$Cg v\Xȏg䫡$d!*Y! 4er?>|b~w`gs/Rw"2‘)Jl+@dJ@ߔ`ZA?+sIËyZV/+PP-;2bCŇG/' 5ye}OXieG$iA&CTL}hK_PZ8Gh!ѠuhWntM!E9TI9|3.mJ `'OѪRrsCjZʌNWSWhq ^`Oeؚp8M`ea1|ЭA+t "\zʪxFJ},\=}w4WK󜠟Ѣye88~}\3H+=%s.\,.a26<5Q r ^V*WhY'k)Vjq0yCeHj'tJv@, VgL±=w}4Y IZJC7 hg xρ͛ _ny6d{LcL1*h;z?zj_3p#eo(NyxgDs48SgGyO.x. ZN>M8̝CXQglLA4یi_b(8WXF\0nV!HM o=.'1I]c"lio}va=> {a^/ wE) b@] m r0RQk{: r;-E Du=PMbx1H O"f_BzR#8ma| 0v~dq؃|57r2Lt?y_بFK4Yq&HӶh3UR 7B Wz=z*3#)d4dOՄ ;-`ڐЍ8a?3!DŽFŹqb $7{W|qX!uf A)f_%EN ɜ^ ͪ:ׯ.j2юhY1|x1;NḚ/2#hXb 6\f;sSɚcocjHV͌o0\|WEDYqKSFKU7?*Ph#-T=`=vI9ݲ@(Mx:NFc#bB0NdM-W F ZNp(fbuCdyR`]~ȃą@.VLCQn2U9oȂ;*N$P 4 #!|fOp}Ӯ)dn/9WWD 8" b3OÏEf? #/5Rz{>򾃡+$EA 1Ro1J?libZl>ὰ9LQu nkFJT㴘f 9 /Ӫg$Q]!0j+s1+C3ꈗ% b2oԗ5=e +,LZ*3 F^Cn8.GVZV<7G1jPF cEb~Q":IOiorzP?;<:fl{!`;Tt7Cޜ׻/%bǪeAoM{KCTqBw1WubǍOH{(*Z`M0F;/C@XWqF܁g֜+$~rrdf8]/oVړݓ _Bp0# ~.˄0"#ѧ[_"69H%"׉xYvJP.VƖo*~6H`ؓ;Ggd߷Z)uj,9s`Cܤ5NJe=E=~?LC.N.*\CA \U!#0GY׾Y~Ek _K/<0כhv!KBnEw{}_ncӯ Ys>O3di"Ț{bdq4 B)D$I]Y"l*&zX]uC3tjvq;;z"r7 м{d5Lv-:ݒJLRT4C]edƬL@D":#Entvp9jY (BM,n⻦rLFCS\+oOYf7㢓6)d(ַ"Să~8O>F/"p:@0P]~,*ѻY\J갞*F l DY&{%t\D+U;,l x!z}L'N:YL] f $Kz66~m4.,F|qɰZ]QKnR2"qDe늗5Ix2fNuLѸO<Wi2XG[b9VSV.. yǣb[j2iZ"q"==?zmԛV½-E3ro>ͪg68m$b H7z+Y9܏_vtH9$Fí }nKFC qhP RMoRµjfhTd5CebȽ+Nk[ Af9,-d" g37`qT}52 2%QDK_b WGσHK!-aY$*Eb53uνKQ\zte!1x 'b'ylDXy2>ZsOC.!hŬSG[?-DD)ۜMRrȚ1H yǔC~6^@;]}?0ۻ3՗;Y)(+NF^)(l9g0x9Vz$F9zߕ?ڬwW!YpDC$(ܭp"ɾ}lwHB -[WX}N׻ǡ =WdƞA9&Xzܯ^qA ';| #ԅ-Y_5"PtR á@WK~*x)8V4Lf|nH+8/bB-[|T7x_"(װ{!=skVFKLRiي_GB@ݙN|#oe+7U5œkeOY.:v;LnC s#0 81Mp\BAhb;΄f0ˮ_>[Sg'ĽcňPK7߆4!X_;H!"c4#dEluU-2n@2% Z;>9:>q_(#|#Gf z˱fG~O!do:9`J {rÚ|ҟ ^wYT*,2ـ1dc~{F ʦ^VmE-%#AapښF>oc]3Y˿ezw xv`=>HT[KPj-=,k"5+&bq ̵5]\p߫5Ls)>9n8CY QH(<|WUnnd%)$ʀSsiuxG,O~_?4{`M'Z֘ 0-ы~eU:dgX"k">#?\3kAVXoyq\, 7";|]!KL`/e2i~͚19{{[[ۈ٪ĹU:D&U3{I/뜲wk9񱗔in pu>wsբO{Xrc') ~nx.) OevgH3߳ZGeL5Cgxj9A߬Ul> X(hfQM:>Ѕ|vD~7ȍ ᚿƝ ڟd‡z*LSVȲC^U< OMo1vsH+ᝉ%c6ROoiaSr5nr9E#gբدQr-:WOP07qf5ߩH[75Ձf&9V?gM\}s2Kn4_p 3Dğ꙳Fl&V]kkm3JErZuO>C:`4ëjtA_`JT^X$ ѽY_{ԝ4G?4ڛA_FɯSDl Be>'TRT &H ŽT*;xٌ e6ςi/'ͳpW,Y(%SCA1yEx8uF}F? P,4nR3҇$nJD4H;Q { 媿Ę?IkrM$A ڥx,vXje~%pI]o{-3"yn&K(p/+12z퍜Cз)9 %]nݨM 'GbnV2`wYj1JY; []w8JPҦ)it3g%Qc7=TRr|fHtgR$8 `+Cbfa&"[5b@溩V̶xdY oi]cqa ߆je{C ][MCyeif.H=s 'KEg j_gP.XׂU]D#è_WK8]|%' 38Dw4 f&u [M! ˵$yLJ r&KtB>fs6_?ׄ$Xbl;{7[&<;! ]bp(-{#x"VקF0y ؎ͺڬb[-|LgLbs2^28gt K.\3JTK PA#*^NfnN} ^kԉQ1ghƎ0̻=wa{mNqak'![ޠ=ͿELԀ C XцaFt#z-w;}2!kMڔ(A}+hp(_E,S*QdD^VtZWbmƣfFAߖOWd C"ґ !B?v&( dd̷q4h?;E3ʕ4[7-:0QXBYVql{,{v!ӒH'ے5"5̼/>KH{I'ZX|C44ψ| ?ces I_|t-ɮ{6/ø_MYN0(b&AH;obG )'e|(q[]HoDz9z(^'8`'lHf(dIi;QӌKY6gnbDsz8ׁF=pp3U勩zyNCݗFxWk̑$ٴ9IwR[9"ћT3DF᫛Woa.,9]VX[A¤lfq(. P3i 7?2|gG,_v0B>1T:Z/SA`4]|AXl%5 OHK$ZY+#-Jh?UMk<8H0n%?ְxl+[}L.[m{ka_X/V `Of ~k-Hp,l9;݃܂Q?f?6|*זǵN2RjRxRh5XKQEւEL'8UN/;)6RI^)]KēR`:ҝ\c ϥ4sex YlqXhV\.W[ݝxYQsrj0bl'{ϏO<|sQ?p.g#El?ǃ"o>vu+_xZ݃iyQ?*s*ގk\Ov8ЦՀ1֔ڔzY .mSj=Xψ(Rk W]sO~ilv^#;Q%49݆x?f. ]Zx2mF{.hx?o򢾏_@R{BZoy9gdjXrD;Z N3U!ѴOHDiƣֆZfh|zQy+BJa]tZx#0#<`.)CC Ӎ(3z1 /x`pm1p%c}H5B::[8i?3D[Q_)5Si: Z:o%aXqȲwϖ״` J诧( gFd- Sq߲Q_.r-'}Uwk-?stKNc ;G@x'?oAfl?QgWvY2ӣZPdiW}K!è{(sFٟv,wW_NVIkQaliad Seϖ/|f\m|zS,SMLۇ{˶n^}ǃbGӅ_vGhN 6ǰW3ՃNi0G[XyIw@~6p*{aԣ!4, !J`zaD]~?P]-MFoa8ӫ_?u9~_?b`W3~ecNj>5vTw* Gxr!,]\/bw(8yl:M8ޏh=_@֘aNh&^'n:7oB{*©nԷC}2-;<~ N>:z:zq1a]]g"{͌pDZdv$byD%P~VEe ģ;: Ӟ lWnFdss\/K9J^o\Syyd4 >}˧$o9l=7b9CtA²mP~/żc4G)vU\˜aΧ]X|8sj̗LW>ETkn{|V#b r?=%m[qǐVu +_{p²#,gY|EU50