#!/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=a8d96677304da30605f96335d9cf6730 # 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 P`Rnqѩ5/~UlQUW|QkV[QQm֪ RDuQMŗ,\kvRLZUZzݥ=z]S8FԴ<ߵ&+$mGeYe-2u܅W!_,8.|@pLkjl ]J]XOMteb3b8i _3Ogd8&3"Z}⬱+ CBA+aydMqBks/v>6G#2E"\WV:|%uH量Jv Y%g>I8c+E36cEa[|S+)*HY`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+uުwkwowowowowowowowowowﰘ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Ԩ~j3} {1{8ޠ=C{3v8X6]|t|:)x䤞;y'@~Att=~}AFPN{`SPO(4|"kg!nNKa^59<@L+fޘ~?{!;(xLղiOAr5UY._%OB ҥkYyB#[4E֥ڤBrJ\7a~_ M؝w3arr$HPg9#_)0!3fmR66S_g'B bK#*T!!8rK~&uK-,Éȝ?@m1niJp1_}%~W74+D!~C$Ic#O3fОO:gB7s2Ƅb_a窄ůJ:\s6"tWyhuE#b؏.uP~2 F 2elb2󦅊t G:Zo&T’Y[h&}$;w \s4ɖ.]+Yۭ|j]u|uK7dxT+b%AGHΆ= qr`<7Zv?ng{o{_Ƒ~6NA,q3d`;ԀbmbL<;[]6v2{'ZNU:u2P+J;W`c>ajOj qeٗ%4LEʹ  @y2 'q%d2)I2;GV~rXW+UTWR029VdYȀba&aN΃LWQJU#ꄄ %Hz:{o ^KxrGxд-,h_%lHvKBeO vCPٔV,g@ۂ ӀX"cԑ-0gl1ju.`)ÿnnF&;z,MF[.rӤqSXg^-2 dE8j$$ddL@ o,&_]ᄣ^f0^_2@jBk5+#`~T"&csxtP?]`r@G$Q&!9{g])zԌ9jfg< ax]42En ɀC`12qMPfL3L5w'оA,jRvZ\\\2 X7]ZbN+*-|ͨq'VVQPO*Ep@|+%r0XM:?yUܭ]`{R4l6_ V&%(ũЕ $h?PCƦqݤmrlgWh!u~&ݎ.iAE ΁im__b"hY]rfz-Z$!.1Z 3NEùHU.Xp2@ZKYcoc$.Qzff "BQŘ `'Kw=Xa2 ߌ$z]J@"Ne1a\e^lbթؖ`k7 c4ҭin̎2dwxfe'U=]$U 2cġp|k1id693ԱE7mf*-r[û0#jdqNB^) ICOQ`6AG?EE8bA*^? I {k5cFr Rҭ/ȷPN?^t"F<'@"wRK0Bขφi$e)Zuh2v2'BdX.ϥTӸ?8aP0pDWASG8T-ּh WVsU I{|c) ~&yـoW~\NV}yVV_#&T :.P8^:`pI1xIZb!Bd?š4 >C d>0T^OètUӨ-Xx.5cطV&,/ Z SupY!$֞SـVB[W !;Qv9: @6@A x9z,e,ʪ:LX^31#IktE  N 0<aSUA?*?T/I_} vm;c Eʲ^2Ҷdn_vP4ϨѝO ɡ3[jBV.9Th9)̔̒Dz|N)uֳ)i#@M3@:{І9Y=yK8_2J7XeTK6vcr*bJ?d\@wOݲ iS[T{٪zYÙl)3L#wC}# _5 .g"}>FTpzQS&51PmnE,U:zͪJ|I|W瀔\Th]]UVYuNm >'yw@ (Tɭ?E# lC0̼҃ԿײtEyǨE ɇrA 3BxOSTfS^\U~P6ES-z#aDuśĔ`8 hw[y`n^4L(5j%mt򼦆:wiå9|9AOirNߌ3f9<M[d4Aے+"U={@BWѸ_G3}mΩY`9-9Dl3REMrP'us_ :Bi^2SFyx^7& =lǁYiLWz-umZ!HQ-եrrTb6'ۻ{?g'* p"$ +El!oʌI4Y+YA2)LEaI *ze7>\&4CB1x0ӆF~q\>6"}HC!1G ,[Uٖ%ܿ2x Lt0YZ#d 7/ԋ׀o7Jn#}4F&`Tv~cyD_́/B}Qkw?B[bvDznoJELؑgo/Noo=zx9m_~B/衬6NH/^mB^$u,/i:ry9EG.'u$OlSvv ގ?3^i(iߤ(:ga]}<09"k.1:~#/=h:X 9x #Y7-yf;\u v F so{@Iٺ! -nhnI_xy ; ]y*st jS 8pe,rI?b.th ]$砡R wN\ylKD'4*V! ^GU({\" nxA-Y8R= ryVjz-UxȎݚ{/gjM.@0{0PnE{!(N@i63dVe9c,DeJP s0 81MpK)}q<6@] kgtjB6;bk#o\}~ jj*;6a^E&<6 l c "0J%+b֨j w "Q ͕i&K4rLXʒ-nVt(/Rg O}z:<9% ?)$'Kk;d".m:ʥ<,03̼J([$BY C!k+%MHt6J{/ON^/TzyNΎ^dZ/`ZJ7 Ԟa 5n4?ᚽI\fg/׽a_FhW|枣Cw\=lj%z89z}xfQ߸onCU7Uܶc[_}7&8FYJ(rXqewBȓSGZ iڏlӊO1 \'K -Mt gns\&t߶;LDqxpw-B&-KG (QNtVL7jَp`2[޷re!wD2hu?Zʷ.H(4sڣCn&<&T)"HaVįHG:TxúM-Pצ"=3|hO\ <v˶!K"LZi؟Z\T5tnܮFh]uU!zQ}%'F5S?I?}<^dk?????????|Sfg^hEv=MI}}^B9] v&}C0B7}H-Ώ_)4Z]/a lfm~K< *U6 -_и5d{פGVO F hv 8J.30 >b7buiԃ4h 16 _6zh#%&2/:eN=rn@):ҁnR]C!l~%㡤^duVTav4B]fvcTD>e^vdux r UO0 .PEcnt2Qj qz?Texs=5 VoJ2q1HRyv?EzPz5nלWBtZ,~Gh[j݉} .n&߸Ncc>خcyAOKq36jv/^wA_o0?=XD.[qms;OyMMt) :K;BԬ-sp8X1-ms ix-qqF6>2wOt]Vs];!%u; ë"߄tקseԜG{wCC\D$7iiԚ[.<-, ^fƯԦ8Nn>NdX R0M?W<0,!`9ڮakCјnE.+*- .'\c䲍l61oc91{K_P 6f`O 6u_L3X|Ģ! ׇp:8 C7]T`ahfa2NbtwN4]fhKN,`˅Ģͮ'xÒDr$PUYX-F+PFaOaR -ǎÝ>c E~!)_" t5!LppNˈ%^̠ϓARv ʈv Zޜ`<$<~YP|BNSR:}(e2Dsk8qI'{C6=4ڴن/Yς]PD&-sV"ͫ>=Ch,ZOhpara7@@邍\Wuc ;2YF#>K1Lژg W {BDN Q759 4,/0N G;^lQ;Fd%#.| Ų۽{p`v 19d A!VU}/#Tݹ+)PkA9c[\nbzt4fx8U'^c'l{.Yd~b ߈]lHy"#0-U.|m9#@+b뛨7$r,2uWڎ9B[V8WdA0{YfN>:Uoq~H!yֱ^dd6Y:e/.}â0r[)‘= 3dH=ɐ*#2C ` C3z8]8|{Mп耖#;}lzFEđ.u:*e|2d;|Zuy*%;uQ\.Zkj \I{*~Vګxi+Ǖa1\Ӄ ӭl>p^naS$é)V:0tQ)QL<6np)1TLLri˸iZj9XC";"l gvՓħfMnTwlAtCV )cy}k-*Xɋ?r@a-‡C![nލo *.|E2lN} SdȢ9EeV.ǎiWY[_y?Y,g3f?/IxVyDOg6~tF :MAPڹg {T{ҭVk8o@ ;˝T{"t(+`z(Mk~;9n}V4eYȈ M2`T'Rd ҊPSFǹ,6@jZ&-wὔ㷔D"S>WwO+UM8F/N-ΑV|u $zFI Kש>?.^AkX:L.nR8佣5֘P8F n2],@(Il}C~t|W;&-1HRGLD5/c<60 ӭZ2T5!1hVgUn 3s8*l1 qJ|K(RTfI t*XXraiQ 1pl^[VWd٥`6& H*ۃ 5xeg.WM|atk^>id] Gs,sRW=0`{n53YNc4)cg)Iey1/B>a_b**+!xБ7KrDvn85'IY\"k7R"E^Ix7kS&Ԅ@$eadLj-_55pZ0ϧ`epXd2d}uX#\Sztr,_ jYNNd^{fœmѼܤsʚ ; luC'͞*\؝r oBoNG&r-Alv3. 1vmN$Z݈!wuڤb')jd|{]/]ma`=|zԌ/L?'oaUg+6\/=J<7lj /td?$𺅐2d891ӸlbK*%qVOphg3J.!ZOUGˮR4 Q5'b #Kjm7)١x'mf<uM>)Γ.-s lն'*fa:Kd7#aTϦ9ص"<AXb%u OHZKc*2 ^VdG&%WkM ţ*-L2v{5#wϟ[cЫ~;~)'omh _|0hnZ[#w.NOkYs˼qi#kpU껺JyգKuG8+޸kjO*sQs oQ eP?}t.ԨQ!עZyxhX/Oeu|k{L5Qۢ-9@ ޛo:x{'K'wduSǡtfy(m&$7õ7̛ 䜱<@dRT^ަy|3D-+U5:ocdl+ŦIKFcf1/V >L8i.ii7Ã}?H6۔^B}} o?HU/oP1$ <7913O?mRc+A:WN];_..^1 Wf":|`!|ZjޛzNgzGK:h\Fi q WI(i ^5*K}(8,gP/#\v3wC!!>n>ty3q$ς+Y0{/c&돔S9{UNnЁz(De$YVxҳĮ8۸zu;hЌbhu*M Y+_n͆+pY["\m 74,Zﺛ[$|jj<%kЦE;Gg p[ÅZR/l,CVx/?Y4ij:LN|wxtme^ε#e֐*%as;>5y}}i\~'9I1!ۦUfh';  }&hgZ6&_iF?*s^1kdxh(=t_νQK?v%#vМzvatۯ~ۧ?,¹<~<^]{r$i _4U`|z<<ՇUU4ᇋO>e棋+Xs Vdq*? &)P|Gǧc-uXЎZXpX9id<2I 8֒N:P3?12GBpL sE~ν;ҝ#NqKew:5>8dih4y<xʩ ҁ`dM4|0CGKKaPzj3 uP*giT@/{oook /NBecpq}YxUJ0 Laxw_6T9[xȍE#= P˲+pJP  W{@GPq2~݈1 BPJN7 kVo lHZ<Gi2@xFBv$Sddп ݡqNTIپ̈"w]|= 0Ht[!.}kt7K^Z a[pC<}%HEyS󞬒FG =aƵYyR$r.d5`H9;KPCL noxdplhi^M{ j. s6'rbBaBZzq7K3iOAD"S#hNom t&;r[[ͧ.f/eJEv5tgQoTm[ I_9yK8lp9e]Mb>(ILCtWegqs)t)F5ǯaH+qXᮮ`^eB&:V(7OD֓-o+*%aԄjPWwFDN2 ̣P Gi!A!ufpV񐃀&6G_bgͨW. WNmstvr^*u?gѲܳq?8:d(ҍя| cN,bn}\}bYE,rAṊ̀aBCxiu]HLvqrB6I&ZؚnX/sqq,'D1DR cN%cqFI['S(uy5^X .I-M˨~ŇIS;_3M5=^D uĨMĸ/y?J O1w? ?䕎?|VQ5I}}n.\Z([ z|O'%i ahZƿ UVP6 F(Q_lUhQ*:z)U".~3LPЙZ#$s^z9jUstNֶO%~ FX~sd)aƱv}`5!8~UIؠi 6x뼕 >{HiU`eҍÛ鶼.k\XD%%;>izI;GY9E[%Q=;XhW[q]wk*=I'S ggvު'g7. JTWp 9:)6g%䓳{p3<g'"vKnt7 4&ewQEi5aUgHEA["ӿE9K_+ JӬ}_ҹ瘎@Z4 ei8 Sn6k$o/x Չ ⽏=ղ?iYWAWf}iˠC X%yYN2Er+~<;;&=@M.1;= ɵ,Cw=vb2}?w-*>/K7 w4ށ|?7:l >;q)v`~8m.^ 9TY\4P@/&M Zր2{WP;@Zѧ>fYGdϖ|%$-=|nu%@tKag~,߰\&HUQ'- o[OFW%$D O lÊ.mZ$ >:R1^ u`gJUmluLlEλV}D|`kA }FhJt|EZZ,r%bD #A yXd H&Nsz'aFՂre8X،V %9*ii9ga%E.V=ee5W m!_T'pAx!s@`"St4H8U]y{+M:،G9)A"ЧϜȠԕ>`mq{&[@P ιfo{dr7LG|ThIʾ||cjWsz&NPh5 ౿VQNA=.#]Z HV/~pT_4{At xOde}^QO>/P C78@1iǜ%FzłFN fsy&ØM iRcu!ͫ&˜A`Jvtq[np#j)I@q|1682l4N eg69t~7 $nzmv_j~2Y~0\#1l7zn#&~]]%3q` 8\"1_42@Nwxܯ M9XΩUḠgTޅ)BՃ NiCP"7: [r wr-/\!`&`dqY %fRпv?uz {y¸+V4K ?߳Y_#{=E}ϢgQ߳?!{٤b_oۧtSCЏ:8.9懡jJV ^az}MR.d4&{5J=` Y0Zt{ɩr-X%Zd9ThI9&N_wϩ68)s*lܦB+{NuMx_E 9e}Y nv/RƧ{/c?wJ` _*_mSå#7|(;_b P?x/ 搒J{x3՜cI}@Z_u)f;>݇G;;kR;?~FN$ŪK.qJg'?׏v~u_}v~XBgx'7WPvXx$CSrb|& {ȃj0M͒0"R,EU{|o>s5]>.2qv̒q$VE[ /VCòHCF(F 0h#ر jdآlp0T0zΩfO3!ROu!`(YGMi d5Pd>U*晠8-=Sٟ-ɧ6 =eʨd#밟(B@AAl9so!8;i.`}mbe%Wְh5~WNrnsCF`i΢0iY W'')MZAݓ?g#GlB/;מAKx^ ^ yAXM1xk>#g2K. Z6Ġ0c r ]PBw&j% gLr%^Cw+C`cB퐸0I Πq:eh,JBS@TkQdȦc4l bed+h@.PWM rxxsf\>& $"騌p{qP2l;P[p$4=%f&Qxiä喉W|"w" cxCL34 jHcYFj1E%$rUFwox;rV޵G(9\ÒBZ`O[ǽ5Ց?NC\kԂk?[WKa [ZuaWVn3U{OD~zL0',ξAAmPH5=ަU5TXYDaD< ~+XkD dxRʲmo}|4Ej e=N9 Q:+gn }θbI=ѩmTJ<ɚ=hMAjuc3#cG0] ˥ƅe-w5|e!D+ |GXB %dKE (O40FxF(w#tvрhr64hf'A'Q m>tp+ius#"F_S%)V B\{QgCJ XaI%kRgErrhieCu_/ŀщe2QC]2z )J+0tQua`X"-|B/A.уg^ecĐ]֢p49ZTįSKh\ى[Ȇ.J}`pKm2V@*(HVM}L{|iTߘ,ICh? . 6Tc$gAsK >a!`(jȂyU$-DjEk̀qޝ4rCt) ǡ#[Y5 u]BհI{TK 㩓&Q +Vr8EVe/ݹ El|Dy Mg)^:Q<xlo_{˓ߏ{py}ϼg^3{] ;˝TpnmPJo!,o'Ոн'3yЉ"O -r]v?J-A%@Po]8C YFՄ`jH,]$!ШmF?j$3 wU6S4^*5UOhEz\ r\A>u^F#`V)>."$"u%]?5HB! _e}5%_o=L`6j3Vn̝)CgVE)HaGu*huhp:$"ä]C!Lk0'ت;a ,ÉeXQ7g#ʵ0LrߟO,omG׽A d&޳ٵp>b[?" dWi}d@3bl* ^QrVEBIUf(`fO0VW*ԥ:n䅗-JX&̢"}Q fpȬ;II;p J{Br\K†,qD[U痰l`3ťqwr.T)aS:dak ]v<͵wX]}a@Jo?TH}+l$\4n[ɦV4H  I>} Md`~2o `fBY|V.BxguF3A sRܱ'6z(sdǮ;Zsц"9*"I,NpD%gI7ê.]#&o|۾jK%S[ F. %^{ŧ7)۵iT紭h{8*7G=+M-s5ޣdEA@4找׭\*O2GsPȴ-Q)Ȗ`W\-Sv S^O,^p.4\-Qc nƢ zcm*|Ptlc_G$RԱ~6?VVWkOVf_uM*TXA :"p yCtuVR Ե2J_1S!^k\[!]t!wYnΗ;=j8\2JA %uiP]> f\n&6ʥo*ۯp ܁"Xs5:U#\Fވ;>B>ֻ$2{.UER}L,Zچ*Zj`(ZNG 5r7QNW=3\, !tph"Zj/IAH ?t|]kDQ0-jMHogϰ1hG/2's?x=R?aF?0'kgoy<,i}t [T!եՀ[ɷ rQwv.<7l?ZNGn}A73\޸㍇o\q- .߁;ru7nݿ#7wvNߑqqP.F]4[s߬UR)QI;E\=Żgُ[PYg;~27wGOv.j, I?Û ʖ֞-7qс,f}r;皵Qelaؠ)]CE֚\݌қ(z8X_E`C읕incKxpsBxǻ&9v^`*t.s=wŝ+wGK}]vˍ>_` G)H^Iwkwnʴk.Sӧ噔=gRLʞI3)VR6"zf~at\)Ȝs'xrC2h }Y6P\-_'HS e~z<?osk0Ha#?C?˹_uGQ=Z췿tm$<#8GNJdYU -8:(BoǽF5#$A|+Wn%D^.[\ i%peKw,Υ?%[nU'\".m|rjėLZW+3SZ;nc#ѣ3V#q![ss<)PӶ~ j=ՀbMr?bPؙzfe3~?u0