#!/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=cac6dee45d9f2a848c5dc7ee78521422 # 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 ^^LOO.[:¯jыZZU?jj:תGO# +]B~fw==+<#gyZ;%RjzȶO.W-Ǯ|NG\QwMJqiykMVHt$+&r Z&d LX q\Yd2\e,|d:k˄ F4ŲgplA a ddr"#4pL f|hEYcW -!x^^(Ԙւ DBBQsZ` BZPC>qBks/v66G#2E"\WV:|)u+@JwR_%EK hW}i S l$ڕGRGEH2:2\L$=P* :I}>JK$ġOUVǪD."I9!„6V$$Vlr@2>+2Wh'J|[!4 !W79<0B ~LKLRs+I 0v$ ]^BfDuJ`eJ ʔQN3/Ki0 0 f=6N0欐/X  ER99 &qֈ!%6z7 =q)az,2iZqD@ "Oy$ Lx'QBLה˹i_8:Yh27P( ”/)3nb5*&1|P-VFL&/u!~{k@XC 5]YA>,{<'rT/Z&_QӲouERJ$o8I`Y~9>A XF,QI{2a:y)__(?5X)hT0$k([-h\|̀+f@4%3 z7m9 pe{f/0T!bTA@PD٦6\w:T)alW9= ”loڜWHKv,Qգ\aʽ=8bqS l̩2x#y4Ҕe8<itE_+ׯ%($R@dؑ'B>;4֝³ jYAo=v&l@{"48'/<i-$M?Lc0u_|/9ZQK/\t*i:,7 f+ /dcR0D0c~ b5G zXa:RQ +(+1ys LҎjY):a[b? 2ߓ63H /,c"k O6M!Ӧwc 6LD-WIq-"-M*X4h$D*\Z1 (-zچ|WYWƗiALkN 5@m/T;W7R|Z@b^Ϡ<e݀ebcO8lJ<hZ_V;Wvvvvvvvvvv #EzTQp*\:">ӗ8(m|8R4EW;g/5?pZKx4W3!w $d@OMu^:.]ZuZny5XvDlֶǍ",͐9|xn?\x@JvџYf{`5gyQz2gLSv|se` &ʛf^j}f&60jS>bp"#P\c` >uw"]L`<$Z4XYQ/zgy(kcJHz9C)oY?,a1{IqǢGd jω5qv2]#fdT{=hYJ=5/m=9Y"79|ԖZd Z' Ř׋LuK!M MtV!]:7Utʠ~71O.V5)o3ꋱvۋ-zs{ կ/r^\yEP$27 De`PI^` pi?(MwN6fFm߿wnw~?/uˆ9xU! _Xzh:$3]܈ A<:!W;,`|^;qG%aG;mbO=ĶgKV%0v!xkf6=?qfp{5b/Vzw-uoN{[v+EN)^ `Fۘtrz\罌j}=WӹG=W/OCĝwv^=ȿ'=XY;sqsZ k/Ier 0-{;czsˏ~xQLղq_Ar5yY.Œ'!Fpҵ<-"zbmR&I)zI_E`7a~W* \MؕW2 arR$HPxg)#0 3fuׁRuokm {}4S>X;0~$bH7Iܒoa0dy8]pW-&Ms6M n6kVe5xAAQ3Ƽ}<ķ_7d:i`lI Q'XLRF6SbNf_ܘ9\UIR'0kn3&Q3"9vD R$:(` S6&6^?@y,o;|;,3oZMg(hِ{f"t9N(,ٞfҧAs!5M~lu޺,_Zȷf[_[tS;H}A~#+ؓ${[3JkV^\$*eHaE3\ ~TƺZ3/<+$l잙'v UYyDfFF'*«r)$Lm,'bV2jأEpz\I0Dėla.6ʬ{96$u#b)//^pA`+KQ*u:J+vc<QY#i ( ސw߿=dM7[/A:l#8Ż @-z #DP"]taI Jh=ιz[xK} & 'J%Ѽ??@ rP`mQTQՐe XXT"%Y5+NH_Pḁs`iw ;C5RCe4ek@Vn U(B x8pzxt#ʠ ®լQ( R*`Ltw`Q4PYQwJ;%q ;BTX ʥiLehQ~A=Rh)£34T 3Xhe)[]^|MX qȦ5WCeu004wj*ߡTC8 II lpiA`_T4DCc9?#c,o8㪴<VQ X=NDZ/#bϞAATͫ~ aSc*2<4m_}Wq`sZwMUQbVr@9S %m<LKP0SM+H~M-If 5psC=$d+պ&ݎ.iAE ΁im__b"hY]rfz-Z$!.1Z +EùHU.XpςZKYcoc$.Qzf`=W]wbLy 3D#'MՒW%ՑZ {q_F!8C\FUzy!md4X 7NJ#̎[ G)܆"wzaWlDFx'ڊ&;([A,qOGz-='Ux5ys(GEcjZ9 e/*1<j9igha rvX_s(;@4ƀϡ:`<xM2GݦD !΁_whz؜frVnɱL`1ւ{G˺uz:Tm9MMV5XQ8shj;9KyZ9 dl|Ƚk1)4d6z83ϵ3`/3݋nj+V/-ԟiEa,x}I^=N$rA9y4$9l.6{sXTM齐Dp:EgixZ}@n%ډ%8`ӎ5?~9I\͊P?iY*E(70gtUn!Tp%x5ruN碪y5v#*0,R03`W6Lr5W5}ȾHVV]VIT(dHtdb3kAAƊmJe독 2j2YoEKx~\wq)XqҦiDm̢-%G,E }ȉR_8*Je+a]iBOȬ-U7 gN_yiN }j>7ʺgu"j0p܅}t`F0P"d75zCQn",0EZék5z\4$E\|eSD G)Hu݃ `BVnj}f ?i,9+ }U,E/vNw_ }vJG])*u_寲BkSHGBj)sYgB N LQڤ׾Ǔ*?T/1J}ut*aaPUCeYn/cqE[ (ftΧMi5!Si3&ND4LI p&?'Q=mPR0)pАAI9o1;I|6l$7I[*Q䪸S*\#谱32ʢ._haޔ~f/0,nջiҦ 7|3UٳbT3R6GCgFwC}~  7"}>AozI]#&)51PCm.-Ue&zz.Ja|IiMtuU)"ݨ]mOVsN:mAΛ'yw@ 5 ƺᨇTɭ?|Ce ]Y5#3 ,]fQ1\}~@'grȷ|xPl.@|DbY!싔W V2MTmlQݦEq "o/ez]#{h[Ǩ  .kZI+8\ݪ<(D`^]pi { ddƳi9mƨďf¿-FF2W}ȎmIcuPhܯLcosu)CN|ocG'P\"HI{AjܗP\f`,~VQ71ޠ B$Oo`V|m6#J%]mZ+)jظM4\fTtkgtwWaz8|kt4"pw{poO_e$:r ŗ &ud=Sb2og.Vj!tmXYVLɶH[rpq8 >'.>(WW`lLZH ݭvgU88if=%Lo'pc F whNXo2]z.V]苨_棊keZoZdO(Gxl #/5B~eLypBpIp h%}q|96xїLnDo vNe*;r@EvGF~W je*fNֆTɄ Qqf)wblnݓʿWgjjTd76c{gFO ˮ}\}vG^NёI#b[ģwόe. aswvppz˗B: W TL4M_쥮?hnm~22-f/^%\9ۿf[l^gUڮLo$P*>c4[ލ%]5ݟBV^f=a|ԫ$z0Ӯ9~ 墝%u{񟆆wNǬm߳h܅r. }z2`X[֕ښVU>kJlU]36a0MD?`q[s?7JXCp&??pc.v6J&)ֽt="hϦ藦jc؟mZlDkBm0.1 7;$l"ތڈِo`B \fD+DŽ,vĦ614DmtAQA%lQ 5:l6?!-^Aݽ&9Fk~X?"T:dQzHԇx@IB',? @`,w>^8o! OwLS`=藌vkb2gVQhs0]QGwqTZa,L[& ><PDtVL7ju` 2[7?b!tܝ iȠ]Ih)ߺ4#0:/3T*yZj`;強BC}Y6VסtUԵCe gΨ=bg/;q++J \q՞Ɇ,7_0Ywbqnaar SLӁBqCJcu>>W<[|܂W֓N}4]+$( g3 ?*[ݫVm_Ng >5/N?#{֠?j] >^"Y^7 ?gg+< *U6 - ZP5dle7SFVO v hCvʸ6J M0 e8b7_uiԃp&hWrX/4BK|ـ}N/:t Єfwx4dSMbVM]l@/(^hg{\ 2n)]q[) 鎮R@DVl~ȩ"ط0f4v#?s1n:đsp|p7af[C^K{,3 G!FόжWܼ&ĘApP$l}1d*ų )^Z܇Ânidŗ P;r1;Ѵ 8 *(n#6|QrW 3oyr`Yqzs`Ðv*2)YT3*E@Yz& Ep_Ef3j)k c0e@u}emX#aWݶqs];!e% "Glgsmg{ ڟjlINo.Ҥ%59xQ :[ ̌MP$ m}>sɰbaZ<0, r>]gְ1]Ӌ]WT6Z\i%ɯGټ˭sb/QrcS<[mzy"ȴnumh ](\Uhȡ"#'H{L@Y%BZe>Ҡ%e;*)F#xHYUeF$9@\Ɂm$0k0ӑiuGycdT̑r F>2@L҃ikBv'RtPvL݃M=8`,ŨA.>@P;i^9m-hwwΣe䔖e4& .0̜|w̽^٠%Jژ|d Db~.{}X'?(U ;d-L sl?oW_ZHW{[YI%˧@Y,+;`ԩnn\EnWJ@exXh :d/ :#?JGNNxQEz5H"Jm_m./Zl|3 )Od oq$鳱߅9ZN__DD HOuَRZVܸPḤ7WYf9>UE/v#:\iZf#{ 1۸xpU%v]X 8hEr!@vŌ$,'3RBlDl>6^3A|mFڦM~)Urdɔ meNGp,)'l-GWZ^ҁTʊn.^Q@vR(- VkZ-ibIUQ^V6FSŨl8/z=qX1pjJ}ݾ.q_fś6$`W,^eګm6>kdnF gɲ2UO&3UcA}ӅqІ! Ͽd_:S7AڠXt[KO׻Dm#/W&PXCj2swQ1gӧ5w$m~Acs <Ѳ3dflPjkW O5eyTWXۦ\ czDu1zLG]jd; X瘑<ܦf<tTp] (Y~K}tTB'i'WFCl̡#o064pjNH1D3*ho*Ed4*lצL QjIʊpZ[ȴN[S1kj8`OLd!FM54qZ)h-YH) PӲzW2 Z'ۢy9I5>C 8vN\<-U<;6v߄'!7 qL"Z@ f\nJU#b(iY҂wMڤb)d|{,aൾq=zT5[L?'^U+6\ux4FbݗTJ)F%GPf\CW*q8P7б]2iij=O@,Gn/R2\CN̒yW-꬛L']ZDmOu2iWttenF6-09_Lyb]!f́2a3F=Y$UKkQ#[.8v{75{SOqNٞN{3jiy#j7h0a9;åDF]3rVqD^+O|Ȅ0Q*sҼk~y&юEhjn#A/ a& j6C^%Ԋ^G@ԧ; E.E,&Avދ.ل—Oy;)CޓEfm'SFm-]g߉ 6/Щ=M+ZR:!}Xe<+}VFJt,u2 /kOsuSkd7/}$EćGSxl+l-ՠ"U)MzqeJG6:TWWpl"sX+- jawb5(qkт:omoP(+rLULA``ņˬ+(Sկ(VR޻4H! eEvm"O[{VM M[<~l¤Z*c@_:rnFWp3Vgg=g3{=Z=,@r=rK$~|]50 NqxQBd\lf윾wv϶OiCEs|P`.9Gsk!wQuxvo=^vc2o'%bڇʗ]W P]<ť0+ް.^L{Z3u(?`R "lkѣhj=ʰ92yQꏺvl.@F=D(\>MN:-hd;~u,oIWuBw` 'F Nq'Yb^V Wh1"r!E'+BAuuZ85_Z<<:7ZX#dtZ[Qb%'$#m\q0IՁs_uN9ONI(PGI-oP 5mpIʪ`QYKKϳKw;l ޅ׻dglWZ1躤v h6 ↣J`+az7t$ 5 Pc,1,9bj6S_5V kI? KXTUgZ !{bT 5+v|t|m5^ε#4 ֐8%v;>ås ӸN,Eҗ7'ߓ"ZO#7L(4Hj[%_ik)7DQKtQjP6T#+C(zbۛ0>>9#ts`I{TwKnړs+ܹtn5-PS%"0 OjST 42@ X`g3'Y0.5a=_a>{O8KtV W.DPLYf,G.4MԞVZaqVS#d&9Шueianh-IuJ ɇGpR=e t|w^*DP>r L-7uYKwMwk{FX63d5&6 a]UE+jɑt *r[CK;z? V[~q^m HU|j7B9Uh2g&S2uZR`kD4hU/ll6]hOHOb*t]6dvoNq}œHȫ5t 1Zx֪(O -L{!,N|OcPxN j_\jE Q ꦘ4;A$в҃e7OZ܏4A {m*  jRU7ZQi&"J*+E2!̈)[4]j܇o EteL)UoW#L茻ݶ(p =0)I*R߳q/=g~){zK}aO 3i;DGE3 3qo=b&dmnmm{ 4d`4 +1\neweەO@~T74縫+XW&2VI9Mo+*eO=jHTwiDJg (7$() .s6o*rT丝҄<yemApNI΢⁕ޫZ\eB3Z;G,c=B'|㮦E_D?XV\1s+P@ަ6{Ni2c1"h.}dI3o3g3ߙw;~3gq)[Go8`![2R2x#Gk~['1,3[h-kɋL04%ɠT [ʢ-Kn5 :EdNP1JHraIpsAm(i4²T:#` +%%#.&75pjocׯwҦM!/<:bu bWq@֟KbXVzE2ڌ16$nMYEG4:Ze~TJuMS&|4O.ȝ!9WAhHh#dAta9i(]BSQR(ZЙФ m-/u2 H!;FܢOVd'p*7zc%X@g0i 9.ƨhUyR)Cv4zac+XDh./Z> 2G[v*B7Y%Du^bɪc.(zS$ 'I&0@ P,D bdq0ACH^y!IЇhۍ1˙+dnX,$ME/wZ[%+(ٳ5N[eq$y/ w l1 7^IDMDeŽb[TJͮ5VS^cQĩ|m̤v}JRA*IqrS6cJ'ogFa/x:[ώw40~GohM c߭أӌ[.yV|ª#-B:0,}cT卟]H)K箫'^4ei8 SnQ5,D $SGߝjYʟ,@wPq+C]Pޡt,"y_.IDT oJbA $1dӛe쟻hzkQH@>f6JJJBޓElS q5*0յk际V)O$rZP,UrN&kB[.l[uA}B=ED*L3`.PV`bRtp8L%T&64 9d#|{+!i7D葷dv+h+$Z1y~ 3o-ܗ|\2\pH[U>HYǚG06Z}u)/#v[{= ^2ꤥ2:F-UCz1?'oIB8F<(PRqSj3װHeкH^R&"6G+U厏LqC37u;Zm_ZIW%+tJ9h١) saji >ȕ){/)/DN،wb1 )v,_: Of p[, Q@:K u YRf0% ,V=ee5W @Mm!_T;pAx!Sp @`"SPt4H8uy{kM:،5z9)A"ϜȠԕ>`mq^Vx g- KK{A[:uU2כySc#Hm|o*4ԩg0 }|jciWse%NPh5᱿VQP t= v93{OV<%ENl8~.G̑{wF!< 66DcNaMb!"·h)f'_ӂg梏My3nOW\I ֶ1*cnD^7%1"/FgÉ@ %񸌞CH!|߸STwvAGubW(􃡤}!LvꢗwSDKFs{,=`8|nRflrBD­Rn限=ޙE&+./[T g*M>W&9]\U~:yoՒ"2ͬ}]|ζz1ږz, rn3w ORsɜ>VD_s l|QAǧG&8Z(>a?ɍ,rV}=0"K =qa}r 1&/ϰHӝX_& ̔&dꕳvZ$ctx>z04-N&eK*FK:ƛH({X'-Hg Q)CkO W-'"$\B3eE, @ R,(P*JA.RpSo^(AiZAqڣE֐u%c׸Y#1èE/Kt~[+1TܠSq'WC+Co{|q`Hhz2筑Ið')x9=Uq ZA%#_!*27ӷ))0MΜMOȯr?y}^*KhRɍ~q| <:>\*=qcq R%p;/xC`´Tۜt7m]N_0(brGW]Jي}ڥOIKy_wOuמQ p2?#O.a^ [ /goy/_?{C!>B. gv1Ytv%.^'pBcٹ"3l'qq;Lr*jTylƥV 5J>8AcҰ`ܴ2l],3-hHU/8Ʌ;+8FEYڌcԂ X1_6g#6/wb7 Ml.Z#ʛ b.> .'#irh|'MPtiM&NcOG_2[xzLef䇻P늛4O)v6JƕCPբ~b 0JDAkL:}G'8S);P^?Z Ef"U=!:8Q}ȟS_{?~k sf2?g%`f Yf C|_ȳ)T/U AD) ]z~#l@)X,odK7̮c^zS8|Tla$܈"%ݟaZE䕊^EO|nMEH8}V]dJ/)ƙ%H  R/AVCGƗC//0? R#S})FAA+[ *oYxL?71,LNP /}r(oaНtL̂n!0f#[<|*'%Ԧ_YLUldIBC1=8M<g-eof7\]{]^>[_V*qW8) uP.bzaׂmp7jLq+D@/Lh%ڈ]- rL+0"ZHZH=,)EpII,l01{ vnT3䠚peL+) X>*f/&J̡1vW:0AO6Oa͗!qa Ǻtdш\wҢT\**P 3=~\^oOw>x%M6%*&!;ƛ- G1Q&IGeދɄR'l)9}4[bzw)LsY 7 yNWeM#f5FTKz? RyII@DlnP-i#Az-l6jɛ t+<7[.mCQP7w ba UÈӻ$ (*u6@1pKE*TXf-}V4-'*VvQyZ^W 曆_[]<-`8I ѼwJj2JYoE::F 4u/-q J-Wt%ua'`XL-B@\n=x(1Pf8FU-:>>4y|TC_yCKU>狅 Udr n92yl\}n@ 4saA߇HRproDtɻ/Ci/D>ب/ K%ssBbC>E,e}7,r1h I[li,Y{Qj{{QV\]i@I 0ppq0 o}Uø,, {M+0Xܐ:1;i:Y 9C)eSC;4W 9ΝN?Fz VJ/^rO3DŽN/otb?~x>Y_~kߙ_w;yμ~g^3ߙoo2,w:PIᷙC(E8Ĺdг\Kה};rk8AN>4ڊ(mHRd4{NU!Lnht 5dWTʨM"1ꑄRCz{RT+\>ДŸrUdNN4*ak&Ik0Cs"r/Ruvyi4&y>;t5E ݕ"`w慭Ha`|XuUz3L>;U*S],+4Ҁ_p'/Zxehc얶zEiw1D(T!u`'}TyJk+I|eH\C$6O/7wr?{J9G}z3ÜAkF;Et,UxnVv.Pĝ3GEd`[ >; >䬅ԥ ;ÝC͕۷tTmʲdj+^TC$xڙ>v̑Ꜷu~ .N?'6ƚCF4$Vg~cNv {ѐ*[_IzJM~qQ:/.ӊ_9_~9 LJrk yu2ew0DE^7nօƘ }4alqz(0C5k[ta5TXO|wM/."m<Q]:FeuI&ՙ[.Q +NaoV`KMDृ:('QTb" \yjx@W;ؙvbìd*Ć1YҖq,݉z߿iVfJle\rj.PkFUj$u|g>?:;:8@>|D^fO2)ѥX/iEK[ \GK E騡}i?ZڻG{ڸϟ;e@W. wЉ.BC ׵FTu88 B4g?gl?<??ӯ)9W/̨6J"?,Vw9.uap*ⴺs0y.5|5\އCݺݝ/K]<~{wzxNp=:='W~{rszxO^N=8=' rMKiT.m5J5->\,,2^}]svl )+eziHW/cqI}wvt{?TmEW GsxDyrwn#:,?-_c}sɪGmk=~z} "CXr R4sأuT!] i*"m;#B<%&9 H9$g