#!/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=eb1d035bc81b11a2dfdc6b0d7e67c38e # 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 ndRnqѩ5/~UlQUW|Qk6[ZZ[/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$v?_Hy;As@8` EWW=QR2X҂2vS+f dlR%$CE?LY1x9+d Bt{.crAmꂴ Ez5{g-HvF#AJ;0ˣ t$Vn%%Płj^!he*i5娬rnanNg !M+4JC0e XͽHP>+#&ߺ{wEl ͿXÁ4cn٫GWܲX +r&wHqtܪ^5zP}+r\!PD73Ȁjdɜg(ﭓ73Pr;JCVb9@rW=C hb$S2g̀軫tlDS73n[_/,@.jH/)@SimX6j)KM+ ?/ toqp7a,޹tzpk=H܉ Tn.:<ү/{ۊr-+ CԂ 7nZ6HR… )Vp.FDJr_V5e(`W j^Of\VA*? *%Gzd WHۍ:' g羅mZĨUՀZ<Հz<@j@#p^|X AЖP.?X,=^|/o&*O"#J>-nKsCF۷|5ywY׀a!LL9/'-Lígbާb4,R#v T|n>Gahݸ;\&X^F V3 Qg= 3HaJ5ߴ1Q= c YRDlbέS4k:0C2 䟊&/_7{dB^‡n_Z4+K,/и+0q=P4dɜJ)a&f nSxE=uċۢht[u "5\ȘÊ- XHJyBfDvݥz4d!krи`AђQ'H1Ot18 Q)99,z}Wr267^TtXoAm"W&"2߹6`a.jKj+(D<bGWQWcw!ոr:uWöc7R>'cߚ[l? P2 a:-XofXlC=m}!bjdNr7i۲!2ߴE &h7TL?Y&+Ls }zyMڍ0p!ii$ -㋖MBDRJ,ϥRݢmwe_ue|[)̔YYB#}e~C=/ w ;* nѰ0$yIbq8ض5up/ؔz9?W;jZVxwﯸvvvvvvvvvv#eÒzTYp*\b2>ӗ8(mb8R4ET(N+wM ޖ^Lĭ}ߑ(PxCj+0wG]촜:x'Ej8_z)1чpLԛAQ x4lSDx^ |sɣQ;*ߣsjAG?PdDRD_ӛ9SճSSH7hdq48 eZa{햷^ceGrVom-||(rR )H7* ] Å/w JHnIښUaGVx#m<%'sI1l MX ]&`i業v YihbCU3? ۓ9G P&n-S-8g;'bi>g/Jz^;sCi]Sbt5{ѹC)oy?,a1SCBkD[O jttq6id<$$S䒊8-$ۯS'lPHƝ=`9=),|\iA/c87^Cδ&?5+{R k$I!\tm9+Ohd޺TTHcR^^ +&l7 3`w&ܡ8BW ,g#+&t=&Y6VJVІa`ҲF{5D^_l ~D%x*$G@nIrĠa0~ey8]pW-&Ms6M n6k/y7fQQ3Ƽ}<7|(d:i`li Q'XLRF6SbNf_ܘA+\U >R'0kn3&Q3"9vD q¥O}\_=X0HAlMl~X^w\f޴P3PѲ!HGD 3s>PX==K} ͤOd.AkN2uY>Kyo];˷/ַ.s~! qTB"T[ ٰ$Tf8_+ngv?ϿϏmڸ>E'D $n lN P-Z gk* ;11Tݺ=ρ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+ֽ+kg?_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[kE?Zr&Ӂ(ޛl:x'K'ݷdmSǡtfy(m&$7õ7̛ 8 䜱<0ɤ+MfZVjt#VM:jCǗ[b^HͭAz}p\kӼXg}?p6۔^B}u o7JjZș6灱K +'v^/{y/ D ٲ"=(X*dY= N=%B^4ZR縎h4ŭG>3x ]1D>:҇?o[]Lmpί"m@Dދ#e,Ey!hTs2z})t? Ͳ,+AC4{U'+Jgn"r֎A+uZCs`@d"HĖ- []wtvo @`d-tM|{&pKni+| uSa},;[T@@w9>ۉNM6\ >B[f g$dga8;+')"$}Y}۴-@pd{`1BN+m4vȖGe.;ƫY~ͅ m'7{ծ`^n3cW^iEWӕǫk߯4_ /f*0>fqqppX*~\]o>e棋+\s Vdq*? ȞS :>>Oa9xw갡y I74'asOӼxd?p%fyt24y< nF{YoV҄`@v~o02&45M3  PRo̹BWԵ =yU*KDo-En9aVlu1N3Vy.|sRvFI7L`-(9T :I+!{g .sZx_gGH?6+d5f.6eX6=&3vk颳l [D l!7B~u(C.@*AVhXsp:2qFaTgku>W[&cV`C8J{T22h%Ȥ Q&^,'F$C㜨\+H}YA\z`t[!.}kt7KޥZa[ Sr!m %O\fX RQҼ#$%B8ó= ̸f=+ my7RC8T v7M@*8H ݫ\4iO]ͥduNRTN^(VUK4fi&^%yb=]j܅buۤKyDDQ]0:YvV>##FgW9)_'&78 r(Þ@j9)@nf%*y/s<ۭ=OKYX47?~c WvC_䷏ Ouk]*.=A9ܤG>}ZO"@%R-BL]ߡӔtp0d"8qRg9۞h9xNixsleAT6+;Gw'gYU-2Zsm[=C,`NảEAL<ߍqWE_8W"tAǸL6q-.u]v?cw^>kg3{=g_ ] 'PsQ;LӔ2P_q KZEb"IJ5)Ѥ̨v*}[M ?(%p!"ns*{cUި7J:F+.WΫY4j/P|xhZ5N:ϴ)}F܋1)Oe8G)L_OyUxM'(wR߯ojy )lEj+?I=IZC.#5Vx.?Bup>M%֠? fŗZZuxJ^iJȶ ϓ440wbEDFgbWP܄]FIahx||C!I2 mŜ/U5ů[ݦOv7y5i>? A|@XhUyxS)n 4ac+X(:>~3LPЙZ#$s^z9jUstNֶO%~ FX~sd)aƱv}`5!8~UIؠi 6x뼕 >{IiU`ez!73my!:Nӷً]\![D%%;>izI;G s +9@[%Q=GYdEz$z+N\JOR &.oՓ^w7. JTWp 9:)6g'⓳{p37<g'"Hjt7ׯwhC c˞ߛO3噲['VuT8*?[Ub̠4wn~9-OC _6FKܙ[7#ygKn@]`}L勇Eˬt7˽ Z2K{^j-ɳv)]9Dy5CDjJvV>2S=f2 ;>k&We~__cqif#MࡤT``WyU<حuOi=\[]YD swlىN`[Ɖd[uAgy&^LI b,L3~a{^`bRtP8,o *+~IyE|B641ՒdJ x[V>o bJZYװR:KOa#'ܑsUFuP:#\?}V}_<+>K!g~l߰H\HUQ7- ob[OFW%#N菇]*nU{j I,}u2hcj)0bcO@?19xy6u;o[mv[IW9+9%iZe!|+#R0>a+wޅ'Yi2|97Wx6kT-X ㌅Ͱj) PO[3ͱ.)Ms)˫j(|S@%j>_ʯNxi'()MG*^%5Loq#~r}Q E+H+'i~͘hg֥HNe_$ ɳWΚDٚԻÓ'qAӌ䩴(Y]W3"/GYq<3Y({8'ʭAr%sT66N دZG $Ij)yw$d0QUlRpS)AfPc7Gk]׭!$J q GbQ-cFN2 :C>: tZt[#/ɳnӝG̹'fȠ0*&{_2)AZw .iu{y^^0*l>?E.eR@>rskˈ x˘{PזzZrTO3 xOex͡)*ț@L-"uV -A3ZS' q8cm>R ;`kRa;ծյG~= ~5BgQ߳Y,{=M*^}z@~Aġwe1? USL2 oԛGlr e%09ܫU9+UȂբKNk*b_'sϩGBNۗ_-%wϩ5qj00{N=緩ISa6Zskz*j 5 ϩ,R8,vpz̝J7fo7>{ysV*KhRɍl'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?VVWW?O뢛U@tHE-hc "$nHʩk=dx7:bBg?j=_%]$;,[˝f5.S^ɒ4.[fnuZ.7S"7uw\gH.3:i7"|wxz1|6e2KUQT_.5><ếB2QC3]~Ux)=W.B]j0A'Zz7`jo?pՆ;g 5ڨӏez5&3gl<