#!/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=a605ca044768c9d95259bcfd4ca219be # 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 tcRnqѩ5/~UlQUW|Qk6GqzQUk/HG^+]B^xG7^_|p٭OJ2WkWjFdۧsuc|NG\QwM̓"Q|ךIV%M5u֖ 7 hseψئ<@"d?EGiH :ЊhƮ@& ![9C4񼌽$Q01׭u6  FchI,a:jAm_vp% ݧϽXLa  YSF䶾HYƌ):4< ECBmZ) дp|JM 12n.ϙ_$+#ޒhd0BsѼlnhY,ꥬep^Gh^J]r:% ?K\z]iv }u$H,{mv#> GWÞ WeI鍻rBTѓdAMHJu.}&d#\V8`xdrgkp< s]Y= `V"*Q.۽^W@3K#d@dI@g'dծ<:*u@@bxԑd"GJUg `I0XzR2x$]! e|:V%r1ti^H) &"!)ݶfX*F*eP5Hl. 3eP!חPLbm"Db^I_R#a\ˊT lj0uGueWZ|N2!(r`6Lt@l)mW)=õwh3cOY ƣevwHJ-ӆmO` CgbiM\n95D|,TJ_&~jTrhҩC(.;$< Di4O-?PsIѦtj G?nzYK֪v_q!mS1U2XB!":1W)Ëao]ӠGia鸈2\hCX:g:\1L#A 2'SJ+SZPԎsʔq\}M]JdH4i0+Fq1gxrVP.:>`EL.M]p5HFt,ѻN؈s$H 3sfyNʭ$*X1x<]+ ͵^bzS5~<bX-LumD#$i%Bi(|Lw믹wijbed[www dk8-{uY}[ yE6[֫&<_SӲtE+VHqCFs|)ᤥi5"WQlcP,5FBj$NS6 ͶwGV3k֨?jfp=Aw4gay{:L&V3< |z,1ñ=?z9Kߞx~[l\ҹ|jtMfH2]@pppPfSK€&1tLHkrz3cX @ /p_Cwp{&0G,Y)"֤,m ֲΖxt[_t-nXr[ vX1p! IY)/TH6֮̒T:dmQ,9H7=Z#>)`N7Ӱ3*>gJNf J˶M4YJۄ0XD;w =̘_ŲXpi^@-qE hWT < u .S2#wVNDZjVc솳XOՇd[s ӕmb!A5j^&;YZbEr-V Am0bMu>@Lm̉Z[2A&m[6DF_[UhxNR@9&+.4.u FC xl22Wޭf,W88n\ v(Y=5A7IH;|o 3FD;D^$"kJ'qRu2DqZ)2 aYJ3#xO 0q`,5trM,ټm'+݄`u`.aA/t>OI1 m0D`AE||R7IUJ年4cP[ss q,㋳/}ӂ<?y8k9K^v$ozAAM8Vuc$7 uԣ@L 6X&n0_P]?R?jGV+ujTwkwowowowowowowowowowﰘ9R?,OY!,.Cy9}^.#ESJB{פr|j-mn酯HܪWk9ϓODy(U `zEtVLVy_Sc~I|'}dݵN˩wR_f`33}ԘIA AIxO6uN@P<7؟<:=:h~ HF4/E593U=;U=1Uq8 !FG#`ZMZny5Xv$GlֶǍ",͐|x?n?\xrm@JvџYf{d51yQz2nSv٫Єe` &ʛf^jېf&60Q9s=IcpᩰH uaB<ۂ?&p/-vyV*sRԨ~j3cpgA{|g qpm?p5tRI=vO5߃ܣ{W[/OC+ĝbG]Pi EBܜƽkr0yH V=1=d8P'{/BwQ9ZeӞ~i`5LkӫZ,]b߿KR¥KזFh@KI4&5{r!n\!{; vgJ.({H8rF9RaBICg̈Xo l$jakm (-Mm\OŖGTBBBpT-L ZYѥ;wU!~b4mӔfc1Kxo65siWC xqI6FAf͠=*u$nd3%dō IľU _3-u6mE8(3lGİ'/\Ue܃d&(ueM ? %-rtL03 %?ӳԷL4HvdYi/-\x[W볔[|k}1nR?W8KU+$BJI AA{@Jx99:n65w?ŵv?ng#*m Xlg0=vr'y}ڢ{wZ%ldN յש~ϗZQڹf {T{ҭ^k8(˾5-%d*jmPW@;a(!Qe1lH9ڭGOz\y*Z-M$[*@3h<8dx5JS0 /f 6,ʬь6sxm ϸY/@g&m&XF(ͮpڍ`W1gtH1k$L;Ag:F Bqr.;l#Ż2@-z#P"]$0' twEN4Leg\~P-륾GI:ʼnuRI4/)6on7XtUT5d@66;OzGN+mV bW0p8n=T;| Txb;<‹L2[Jɲ%PR(yd:*QO`7Miȇ喞2qto Lc.zb#h< \_&lم9{Z>,Z [fkmGR~K Nq4b EYp'P` 22& 7TcWBPQ/3xD~jBk5+# ~T"4J.4"XVn(JaBܸۆH2*4Y (ʥiihQ~A=RA9GmcW7DK 773rghE`_ ? y佋 lu1z8KX"=>=GMdPٴzQӳPU jUu|Qjfax4ڂiBA$tb!jٳ2qOPfL3LZʷ'й-jRvZ\\\< ͡o?#c,w\VqUZ?Q H=NDZ/bO@AsU~U?GVJ尥a&R t/`9a8 [cϻ&*V j1q+98h &'<,KPS-H~M-@7If 5psC{c׭V7W7vp#H 2QPi 7QDbז3;}{m՚5uɯ;"h8T%OG9zJ,\DY̰3v\XFw"᫊1,N}dTy_vhz Ŧ,Vm lNZkn9F ݺ<{: Vmч-C{Lv7(![v2PNR|,C=BJ 7V3!AVCSN?\ ̀/)X5{Pi9n۲ޥx}I~?Wkx+bP,K1'?%g>E!5iN~nMl+~8)C B[{f`i]3!<;n( B9x1Atӥ`i$jedNp/V%cx>wu5Jؒge>bBN@j!%uk =V`+Z,T], ϊ~RRӧ䧽g!!Ue!Ŋ|NC+Qgm\%08'Qe-Z.Naw1T[ MxgrDV-_8CuOkOc|f g`g9VB[W!  'g`Fx=\G Fn=zX`[ejs&Nrј5"jwl9r@')UA?m؞aŃxo혢2+}npVr(rjkƆm^o"rSF7%n^恑:FhPa86qcvRb n4yl&F5݄mvźG߸wߒ TwlüpWMx@+(6 l c "0J%+b֨j w ,Q i&s4|L˒#nVt(/Rg'kL;(txsK~R7lBs/g-Pwa5cV+waĘ%x&aUB ";`@>"R2J4DmtΙBe0PJE@zBHy6PF~vz#^?@8`Ng*<"P(i}Cs< -ًj e^|{] %2rD{<5bC*Ug\\NxFDUUqJC/1̳-VXC11 dE*!a -#ON5RjN~7f뼝VI8;kQ>A^h oZL01h{aA'<͌0gĴ6֦a"R oƃkA "$<$dG?X@r*x'l1?Uvk9] - ;LY'v|KhljB3=Z9 S䂪=])ފ݂?1h[]jQq7*,Q~m*3ڭw NDJ.ãE@W]ʹdY?u3 SkKfҍըUk*5D8*OݲƲ^t!?~/8Õ߯<?_4Ô4ڹjuiDO|R{Wkga'mT4IIL 1p}xKӫ×dJ=VaXY/J~C4k FY+5g+F2LzW-0q GخcyAOKOq36jv/^wo0?=ذD n[qcs;Oy=ZS0M}@pwƈDU$܌wiSZ@reARzEyO Yky>4>`p觅/CqRhcnnq'vө̷ipS U R]y#Ro2] h`f@l1m`PAvbAmyONh"M: -Gwf˄TCé3)FTY#tkA 2Juf:PyL~ƍH3Le4A^I{IXIϭv>F,j܋T|ӽ^ϕQsb Gm:jlꅯMoӤ%5]yZXr0̌_=:0fN8}a6Hŏ2R<0,!`9]ְ1IE.+*- .'\cDQ6o#M̯x8R4x, }oi1 o~`vplS MzK0X4%g0$ 'O >.x3YGZ5wTusr`2E_bvbf#_.95z+^:iH$+GU5 bӖ_?)lq4Yj_:%qgQ7h">`ɮ e{+pvzXF,.iDr2>O &s)(Z8N9dyEyd[仠2ȅ2.(uP!e$(XqNDa*mzhi Yς]P8*LZ~^ 4>Ƕ?vkt ݳh=>=ÍɅJl4\G\ 13_E \wYך+jd `!t 7.7}aW)_|X"Q\An+E82~?bFLA'+?f@EaxP>6z(:^3!ahFO O~)RvdϔMϨ8ENWp,Ol/Z>_\./ӁTz=c1|.\0y6!vk-^'"K[9 _dN6cwgycNԷJX$sPRǑh!x4hmVR,dcnV/.x0ndXK-{]QGy:+Ý]8|ɭ*-.xj+eY=w^2\b+y'Qs(EP ~"}ͻmAŅ[֩OaJ Y6*]şa?^c?k+ֽ+f?_g3f?Y,gE>;Utj6ɐ׆.B)0J;W c>ЬajOk magӁJC 'B/ =I;W^Ҵ6G3M ؇jeKSUyR$+ FUq!EV)E?e4pR9yn3 uj¹:.rH|Ji ؈Eҩ<9J"@SϨ:i`i:u6<'TE `rZF,K["-yhG5|;'QIB(p/˒1 4:͍$K F9npQKk)MwL@` S蜉f͋kұn\z-@|]ݏ\KAy+γTәC}KJŒ8%Z>% 1r)YC:3V<eEXDDptB-<7ۻזU|`;Ѻ˺)Qֹ~6?ҷ0Շ 4sɱ{G_xg=z=|#[%٣ꡣ/CHl h ~^ ^5MDKm&MR411!uז[34&pNb;|v{&08/[HG1,kP쓴q]%TevxE3D6:C~Ih#NC ( <K)B F]^H+Im8L5N LfBkYCÚ+~ Q]:Ziz#@˩wՉ$k !Ӡy-tQS;bn_E KnaM#QQiD*b=4-i6T5"=Վɛ%ZQ"Tz NT$E}oN^t-,7rgA͈sVu&"oAlqޮңCqs209n! !vNkl4.mJI&ըٌ cy5uV%&STF36͹Bśm1jc7aSCNNE-꬛|S']Dm/U2iWt.=NٴFG׵]N0c5PwQO!,#vn>~O3őr^뚽z)>'W`gaO=vJ2ɺ5OXDB3|VqfK}Ȅ\*4tZK?۫<hG7f4Y5n;jVva&fjB% YGf&tDꀺ,&AN>)9^Oy')xfM=Sjm/]߉60Щ WuC 뗭z}oC$xU* Rb6ɦUWɀGX{&hQ7FF҇JOZTA~k@`) *!XҤWtdCLqU(BMbjb5/,9߉ E3r8<:{KS?Ι,1V?8z+.wvHOEV"[Iv+wiLE&Aˊ(:Djڢ)~>I[ww7 1ģ}*U_6X}WW=ztqh~gwuS~LIe'jԡCww?L8i.iià 8mJ/!:{GRd%| 5MN -OʥpΕ}Nyv"lYDB?,[ Z||zYFh!WQڀB)s\GUbop#g zba~N}.yh"ڭ{.o6x8ipW6 i"|Ed2"<y*g{Pq߹Z>:VQfY |4+16p Q ͽV ^7_d9kǠ:-90 2 Gu$bՖa@Æ:E`̷ S0Xam:[|x =BnkQK%ef>叆>pr-uZ XBM Ļn{G'& r-R23@םiwb,mZe? A |Ƚ }gFyGWk}'ac6 ZldK2լLB6RГIU=jWb0b MijFWqбg/}"ܫcL}}@|1 Лi؛yyGb h:>%Eo{+7+гV K(*ytXV%7_z~cQBݹ\F3-̦Fg0H^TmLJhq2+!Sm^*UAFil&2F,FHKM h #dXZh;zE0^/T0Y!7ۗuWů/1[;XO eSMJ'R`+t{G!uwJW @|&C^;БTu_7"h P=8>\ Z5lQ ޣ"een䐑 G](A&0:-od95"DXAbz Yt[ӿi\].]$U矒o[(yZJV7Y%-5FG=a`5Yh]M/nk̻rNr j 0UAnRɨAlhn^M{ j. s6'rbBaBZz4K3i/AD,hNo'\R;M.&w.[͟'&^3%"j̢ި۶n6=vry{=g3{ř?wܻ{0o4M)!]ŎNlǰOl!U$&89i!rTP-MJ͌iXҗ8TZ8[RA ")1α8 Qz jbp뼚E^X nI-M˨~ ŇIo[;^LIkGCQ2D_ƍJT/?ܽ$w:^YETN~r'vGp^jlV~52Ris*TWYC ^2+i `FQ|IUEZGTl<iH3+Ish-6_Hat/!f/q Mصqo67$ Z{1_^_ \ wX*me\m4lWqXFo}#q 9 ć;V7RvN{6ֱAC 7Ym؉5B+LZ;祗Xe:G9kmT bUjO}@;kOjkW7 V\t ] 6٩`[೗^e VYrx3c<ݖ4}%0E:YQsk&瀟q0罰ܑ[u8cLF[Gou߭Q$%`Om+͞فV=9u8+=/*ì4@y@ iO ,#asv,>97= {Z~v"+iFwsyz:2)Y4c[)9bUgJEA["ӿE9[_+ J}ֹ瘎@4 ei Qiy=wF ~j[_*@wPQ+eߡܒ!Oʾr旑 >-ՎjT,auR!(6*fpedtQ"?HIaxXQPۥV@+҇]G*9Fث2,64Z ':msQf7E(tu?ZB߯Z+_q-Urb1"5 A ]ye pp&NszaFՂry8X` V 5Q[˫0"?rlYZW< T^sg*nf p~qRt4H8U]Wz0'WR4Arƒ6S,uXsͲ?Nj.n@?hnYZB%P8GnA>̮ɽ̛3 wysVWSduD')6awL:jREc,TQNAxɑ)R$dY!\%,[= aqvD:mqxn'2tr>mn⍦',PEL1tѦ^ R| Banϴh)r1H}󪉴0fP)bxcV[G(~;܈nJP_8θ+e;HٙMb9@"k{ƍ:~rDo:h!_tN$Y"HYY듶،ٍ6y{m]zމtTE2nJ <{Iĝ L[:1)?ud&(^ =59~C{ֵ;xR?.O09 bp$fYz r{:kt $Blc8c/L BWUJG5<>݉}˜y♪8~m m#t^5!=TBr׫wNg '!95cBa5z4a ƟhY["wmћ:ƭS !fΘB>Ř\V<[IlPs%[|$OMq2pO,$`&?+ʠB7)H!$4`^@pJ"41l7< Q[@_C!M Ȏ |p%4K>:I}V鍾'7e 㮬ˆY1#YRf,d#7g8 _ ժkYK}mel@`m!!,L}8?8Y kXƩѭ??w*}]x d"r)z^g-mRݲ!1Ӻ*1u|A3#k#ѻ++5^ܟ:1]\(^]{f_?:{= k~ϢgQ߳Y,{'D}/TLx$5 C2!ʘc~ de6ި7ۏ٤ѯ<~Sџ!jJFarWsTs*] VE*ׂU,:NSN /ZJSkJazazzoS=m*TU@j QSY%1ܥpXV;-J+no0n|"jTZ l6>/= ~yP>:\*=rcg/Rְ ;/{RRpz56޶bąWݙzCW{;S;?yFNUw5(>^R?>)]{|a a_C_B`?%'6ᩁ|l-v_=`z5^wzukcl:8QgnhA8=S fAÉ<\ Gwh)q)=CG~͹N>"=pؠP2GZlW@Ҍm bxum?FqDJ%QQ6VW 90h}a͸EB?/@`AN#S3ֈr٢0qI Id]y 'Lg첗C}WKܣY-?g2DmVuMNZJ0%C&ƕ3ET=T VDkL J}G':%S);P^C[EfȒU="`:8Q}ȯS_{g+3_gF`:,3K0_-ybx@NzIk*H]'fTC8Tُ>'qPOڊğzu\HG/tj A7K@>?V#P8bQWJ|}Pl|x*9ۏqI?_ڧXS@z4$* R dHcn"{@p+ц~i0=]^YW_..b(dnT⺷$.=fZfj}#\aU|\YݕL,࣊a W\$K~Hϼ1F~jk(D ͜ ^8,#[F14N(4˘§rX"C@6 o8W/7'{gu^ GS.wjqKm4 Gh1Ͱ=eT$nh/Vfmj+N]Al# /bH(sfY {buNƗhpU,#gfk/.!s2P(yMM¿hҝ5$)tuܻ]\]s0\-4F-Ci%ܺ W oyhՅ]Y`Tf*&^2㙐aN,Y}(WH5ަU5TXYDaED< ~ˍX{D1d6{Rʒ ?=Bh"'kRF+%(G|`%!:;f@'nGl|F*Qu+u$kZ6=GՅ{d̏]Ό@Nt$fta/b51ʆ%,}],cIl" -.|߳{F?lߍE"Y:JTyH^cr4F-iC­ V7sQ3;}10*AOy]`CBP`" s*Y_>)C[+<:+Ez+N,Sg9꺗kHX霍j ۮh2%i9Kz uVۇ2s>G5_姖и-01 ],48$7G3՗dLbaHZUP8]HA&Oq_Di_y 4FdqFY (P ꋞ- 9<.H~'Z\Պ*p2a<4rCt) L3?l3?ήa fN릚x6nH]O4ZpWXy$]v(/3ݝ RTʶW@ 2~+8JX]*={">:8ݧ4cB'G> KOǾg_?{=sk~ϼg^3{=.NN* 8|76t( z`}jDC^㙼ED|Z'؄Lׁ܏҆G˩gtP )Eg!蠚PL8d C͞~F |}W+%RUL~`(\F7,һBZh6 JvV1&A1.\p"PW!pr;i-ɗEbDni05S+~A7.ܔ3&3ŽU E:XGÓ vmebZ8iV IaN,+Ċ@9ĞCka0?~?{Yd//'{fAL0+gk||a?ĶiDAɮ-Wɀ g!IMLI.F 8Lͫ%Q+f=Ib=N5`˭(UKuZ ^b+/c{Fc0 IG烨%$%Yl/5`o J Y㮣4/a'yRKʹPPM1J5,kt}d7aMS\zB,] ᦡ}Kuj9j&NQ 7'󓝞y;ۺ߯O[n/6E[04fB|V.Bxgu/FC榸c7d#'6z({dǮ;ڴsц9sUDƓ'xU Β;n*U]G6oO~;5Z}CWՖlKmj((9\Ӷg}'\Fvs8L^Pv4ٶ̍(GɊh}i/Ziɯ[*O2G^s^P:t-V)ȖM`W\-KvS^{[G|Gc*`zHҨEE H7c zc\ _fftlc_G$oSԱ~6?VVWWg_uM*TXA :"P y}tuVR Ե2J_1S!^k/u._`gۭN R`dI]Tǭv|f7}Y-)r:;PkF[Tj$u|g>;<=G>z^f2CХX/iEKp_EK !E騡}.i?Zz~M ^i<}ꔞ+E!.]-\D 0 `R`j3_Qm2j F3l ZpKD{9<=R?Z!Fsx8X>ou<^C.nKk+k?hocQX:]x7oح;p{~f>o\gq3޸wZ> 7]8ݿ_wvn<ߑsGnn8ݿ#wG\.)`)ӝ34[:s߬UBR)Qq;E\=كwO0%yL>./)vE9n>N^9]LqY I?CIbeKFkOތBDԊ[(e}6# 4"-**ϖ0̴rf޴FùWǸŢj,vb ҋRfBwVNn~'Aw58L@g:Ig@ܛd0Hљt*j+IڔKbPhuXN7qh6WhiVZՏN6-#K©zC:BC JHLI<}y 9ZC3 n0ipa<Ɗ9܀5ÿw/keth5 2 =zF4ܸB=ƃ Q2%U^we{S0j0$J\3EGO4ytf" ïRq_C t[w_H:i1P@p9xʤ;=x;{}oeڀO$ry5bbIyy&?䇙0fL~X%)_WMMA1uͅvp4q x`2ͫEg$HS f~z4?m{k|>Ha+@Ws+X]st zo~kY?O"0ݜGO4dV]f㵗w>#-{\Nz 1\Z ,O!fF+:"s2c+R2sA ֢;!.)[b ~Εe_õ Gڣ{M*Bsx3bܾr% K,>ӾZ1Z;nc#5~@J\jme|} )jڶ`,3Vgm-#֠=gvg?/z_bP0