#!/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=d565cc28cded1abf4f23504d9b0ea877 # 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 Kc Y85 6W.%K.,ߧ&Y2¿}C||1۴pHp؂YH3 i2`_Z>qȄ!!v|ˠ<2|&$ &5溵B`BA"!!~ -0i!LX-AdԵK) :"3!}jш)˘0C0}X 68R2hHCmB+EO X Ă1X9S D`e[R Zh|. 8+E H"p= ]K>BD:Ǒ|qA+w䳱:)e=$҇HR2jؓ,)";qW_T 8z:\I%ܶ䞬~d3jg;O #U{GÁ"d++^[@JR_%eK h}i 3 l$ڕGRGEHU2:2\L$=X * :I}վKOJ+$ġUVǪD.."I9%„6V$$Vlr@2>+2WhhV|=@~~'  Av/n|X>sm=H܉ Tn.:<ү/{ۊr-+ CԂ 7nZ/7HR… )Vp.FDJr_V5e(`W j^Of\VA*? *%Gzd WHۍ:' g羅mZĨUՀZ<Հz<@j@#p^|X AЖP.?X,=)ᤥi5"WQlcP,5FBj$NS76 ͶwGV3k֨?jfp=Aw4gay{:L&V3< |z,1ñ=?z9Kʟx~[l\ҹ|jtMfH2]@pppPfS €"1tLH+rz3cX @ /p˷Er Ҏrkۣ EIɬbpkj6WDkSgK-/koAEK]wK-RÅi;byJ*$`fIk]GC (W -epTL'iQx3C;ϢM9KNf J˶M4YJ˄0XD;w 5̘_ŲXpi^@-qE hGT < u .S2#wVNDZjVc솳XOՇd[s ӕmb!A5j^&3YZbEr-V Am0bMu>@Lm̉Z[2A&m[6DF_[UhxNR@9&+.4.u FC xl22Wޭf,W88n\ v(Y=5A7?IH;|o 3FD;D^$"kJ'qRu2DqZ)2 aYJ=3#xO 0q`,5trM,ټm'+݄`u`.aA/t>OI1 m0D`AE||R7IUJ年4cP[ss q,㋳/}ӂ<?y8k9K^v$ozAAM8Vuc$7 uԣ@L 6X&n0_P~O8lJ=5[z~;Wvvvvvvvvvv#eÒzTYp*\b2>ӗ8(mb8R4ET(N+wM ^Lĭ}Ɵ(PxCj+:RWj*k}/)`羅Vi9uN, qRbƣ#779H4H39i4)٦ @x*FGvTG͏>PdDPD_ӛ9SճSSH7hdq48 eZa{햷^ceGrVom-||(rR )H'* ] Åw JHnIښUaGVx#m<%'sI1uo= MX ]&`i業v YihbCU3? ۓ9G P&n-S-8g;'bi>gJz;sCi]Sbt5DZsRްj5Xb Iq'槆 jω5qv2]#"myHH,@?%qZHR_bO;a{j)+}DR9ifQL1BqbDzbX0xӍz^na53FiȚtGʐҺD,Y$Ddb\;rOn%$[m#E׽V,Z8Oʈ3ū7Eq&^}>edT{=jYJP5/Ɠk{NsDns5-F$V5>O1ř>@B:St\?To̫6Ao_7(gc\j- $]_wgc&Ʒ[,4r^\ۊz0!A3>gZ=j+b'b]D4hg;쩧#3ڪğ.;x|?` sPfg# nGo*z^wnN7c^]5aGo!N n9uɡ>?_~q{:{4Cyk+>4J0B 1y/~*J`Qd!i)lܫ"Ti%ìO'_}"{e/uZV>87^Aδ&?5+{R k$I!\tm9+Ohd޺TTHcR^7^ +&l7 2`W&\8BW o,g#-&t=&Y&VJVІw0@iwj=匿"o[|S-ZL ZYѥ;wU!~b4mӔfc1zK|xw65siWC|!xqI6FAf͠=*u$nd3%dō IU _5-u6mE8(3lGİ.uP~2 F 2elb2󦅊t G:Zo&T’Y[h&}$;w \s4ɖ.\+Yۭ|j]u|uK7' gjDX @#Q7a#?hHA??GqFcWv?ngv???m8}߯_ 06Ix1l'w׷P-Z og[N^q]]{:\ @==~5se_ʚ256t(+ 0eɨw6$E֣[a}_=DNnůJ'\EY~)c375/n~2E>V@kUi\?9)TB#id4X T ӨREyɱ_VQ ]ji56ʝ)sq 73cj/-=%X_UL ">wJqf7NM'tJ +wp; EXi$ I 2anht* b/;4lbSNMŶVS6XQ@5n]f=Ö=&EGs-;Rb'Z?k>OU!!%mH P)y~Q^f[t=Z mY Rs>$j1 (SAI34AG?&p6PT?˔!\Fp!WLﭽ?t0մ}ŋIvo~ RYxMԅD烙.a.u ӎIRJeh2v2'B\P;KRi`)f Y$l]_MS(ypA"WIS;ؑlUBFn6^EJI^6QM7+%:Klɳj1ZYn' BxIc𒺵~SG C+~Ci-|?yq[gE}`f)ZBSy󳐐bI>^OètUѓ-XxðK;Ǧ  }<39"@T/uV: ৵1>q30@+wE+}΄zpԅtc G0P#k|N^=K`[,-j9VLkrhL]5˻r9 GSuӃH `AVnny \9; &p*%CZ2_oszBJ]" ̛i:zįw=PHFBIj*YgA JO LQڤ>*?TI_} vm;cHբCeYn/crYi3d3jtS33dJ[3ȑFDIaFTpzQ)tz2Pm"[Ń~tI@^o*"qB{.)rU`@z H-*zwuFcꪲʪ\E՝vZ4nmvAOy 8pUMJ+C9NHcÈ6 /79)pjCH^4L(5j%mDq: xG{by^SQډɻtAh GߥbhΆyt7cnjYmx+GS ̕;+Oa-N(q "_3$t4wۜju pXw}OWޱ8XK;^YzhO:ܰwSπҎ.x~B{K5liE`5a:c|R%R2/~7el5[3az}_RZ vC#,3s)i.IƐe^=ػG[|@D4tHζON9tSI}3lZYM}кrEYƌ#ji޲ɹSTz"ٚNbV& 4V-] %xk&~kB dWODi՛r,q.MiՇA3ٖn%ap[91זѐ„ǮIN֪M2Q &}$mTcL[ CNַRi~KEN/r,UŽ,-w0UߠIE [Uܿ2x Lt0Z#d 27/ԋ׀o7Jn#}4F&`Tv~cyș ^\jqv L]Չutzaf*ӄ Uy,S'^/O=i#@MS$e>MG.?#/夎m.NgK3rȜMrs*UoY:#p8L8+^#xCW 2JJu@l&>s&`MeG$yf;:ÉHPùw~ Xl inHC =[W8}^NC=_eΞA9pU~.Lpt5f@1:s ]$砡䊈B) S' DI;Ua;d+8t^PE6ԢŲKn,}aŋGal]E(Ԭ뵼6,L1Nl?舄܍|/ \|:eke׷U۸DL*a9c,D6eJP s0 81MpK)}q7<6@] {gtnB6;bk#o\o}~ jj*;6a^E&< 1FȿS@ c%ؒ[kFTȆϻ(49\>&ecVAO+{UJϳo}z:<͹% ?)SNBk;Ӛ1^EZ]`t|;lb9Ֆ B52K/>{Oܽђ9=^Ś{ފ!p^B.J. qs #s{視m{+!J}ݘI"U')s5li?uN+$ԵL(pq f/ 4p MwoS4=尠NkfF3bZkQh|0QG7oݵ  nxlX^#}y, G9_Y6ݘe;5[hqy.xܝF iA;\%4DzucrA՞.vyoEnA˟}C( Ulj(6]QVDk'J%"J +.fZ2dş%LU3M j*ֵZXW^GݧnYrbt _cY/:d?HQG~uk?????????|Sfg^hEv=II]}^B9S3Ҽ' v&}C0B7}H-O_)4Z]/a lfm~K *U6 -_и5!g{פGRO F h]v 8J.3=\ā7btmԃ4h 161#_6zh#%&2/:enw=rn@)讖f`E43QH\zMI[S ڢ  tكQB6Lzّ-U2DZ0W>.u@w딥D |vm~_##Aj8tw[ѿ+ҪZ8v#QH ?ډώv6UqGB.]sJg\m rkT9x?lu'-Y|&;ˏTcq>\.=\tبٽxqr&0~8O`ÞR`z&|mUWFyt1Жo &~4IOwtiaYI03~S$VvØ9[ ?Kxz>v [z$EXl0:p3NaGټ616H\T;`98S…+gM'4M,PjbL ח.Ð+ >,t!\fkll: XFIRbUɁCdډs|PXt ޮx0! T0xV 3O[ n~g}]d}ۖcF1GaߠAnBRB"'f2 AaUHz <T+eh kt:UGЏws]9?m vpC)'P\cʼnK:;eѦ6,dy? v1jCLx0i{g$LҼspڭ1vϢe| 7&6{(]pq%+Ĩ Óe4*N^ˤ| lHW$BHp^p?HOFftHn(fLajL|G(R),݃˵[&C`ndx|dm!PYv62pCDjU׶%nbztq~ 3<]v̛*rF`S=| m6_X )Ob!/H2j'cU yk_[H(D VMރ:}+m@~+ng i^Yn|"ί)DrIޕg]k #B(ЁD<%\\yP~aыLOFr1I&ΏמdHDxؚ]Ay`=̓ .~J>j_KMt@ۑ>S6=GH{:]Íd>{Hh|q-zֺLR뉒@(sH\.DTح5knR,zŞ_{/m2,kzW~;ʖSJ ^k;EL͆)2dZZڜ"2Twuv̇czQcCRaSZQ~h8`sfHMԄs{ u]x/-%UJ}w틤S ys$(_Ev,L`Rmq^LGK:bXפ'i9J $|gl6=9t FNM iQy,SFT%HWڔ 85!0:6IYqb ik*bM )H)f 8Y@峆5W^+u< ׿%F0SIמBAkd[4/'7\wh"[If3v&G$!>ґT6{@ h[ӌmBjDE{u7?KV7Dt6I1ߜD˽dWa[X%Xo;^'-LyEބ/h+4PMl\KV R"6QoM4puY M胜t}SsϽNR!L U͚z (_f7l&aS:7ٯ/hV/[߆HaTZ lM.g5xMѢnjvx86R2u%TXC*I/L&VPX ņ+2j^oYP sA#\f&qxtx{g~3CYcbp:g- jW-6\b5Z ~E7$\WҘL9QtkE?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ӕǘtb@~7T7덋V6oWVxz/~-xU4]Xyʏ?CO ܎ UA`GԞ~A|t|J ;ؿ>6xV ΫON9 M#鸀o-Iv*yF1qT ɛa.+QD\QFG ȵu.ѯ1㤓ip0:}+2&K;{Q7Ima`XŏxfΥ꠮UXɓR^"zx<nA.r[T8Q Sgb G?nvn(8#]p+ U|6oMzԸekAѵͨpQ|vVnVgPUl􇱀z7DKnƢs+ܹa5g&[PM3 3`0ᵽPdVpCR!T?+++T0zfaLP8Ld9X&yܑGȰ+ҵ~xdIgP0OedBb9lpiB/$h0x qWi%0;gp@fZWv* 3q_X0nx 'un" ,;J"Z2.k?<{kֳ}Ѻ;_֘w!<.@0a`w{}DQ޽E\ @V4A-[q{m6 ϚQ~]DNmstwr^բ*u?gѶܳq?8:$ҍя&ƜXcw\s'*bMtʛz( ox='RW۵Lql%?|w^}{=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]\(^]{⿿t,{E}ϢgQ߳Y,O^6W{IjIeB10VM*20lQoϳIۣ_%x?C&pVTT! Wn/9UDY~u= : l_~=ĩ+9ߦ'{NThewϩ﫨@6< KcKح2wZ*V`ޛtE Y,K%7^ӳm|^z}*tTz^c a]w^Ϸy9$)L5'kmm1-Ŋ_ 3z;>݇G;;kwv~ۇ󌾝8t3kPZ}<;~|S88:&8;;p33~JNl؁Sg}/Zx3:} {kz!j0<=k??Y4>u: p1pz#V͸؇y dZ5<2HR R{,ŏ|s}DzᠱA0d\pخۘA4xQ ,8ǕJ,m1jQ r`3qVfE=^)"胤Gdg)<6JQaEaW.E'#4&Ⱥ4@O^e/GZx{JeV۬P뒛N)v`*6JM*+gBUzT#_0*02NtKKStw9\{57E%d{D1 cluWqVn_X:33י%`f Yf%`:5k_ûrt @\Kr]SA2:1_~ȷRơ~Y?1[zV t' Ы] D¤?툈}qϧS~nYY^9·]2PT냘b#Tɹ~KI>} /ң!Q9NrUp @+\pVDŽ[6,LY˺Rwqc5Fy's׽%tE 6c2S~g ⣥dbg1UA5i efIgV_b=i79RК.yBUwyqv̖q$vE[ /V}òHCF(F h#ٱ jdآlp0TZ0zΩf/S!ROt! (YGg-ԛy70Pb" |8Fd\m4Aa nT+`LB%) K*f/&"!^C|敎v05S{XE!v]mmgPaٲt5bvBY>Zix{ ǹ>~9;C}J8*v0$е US\"ަ7^ll8B;矏i)"騌p@{qP2l;P[p$4=ŧf&QxiäED3B`(L<=s2D`)p=0[c}t Cф Eo2xGPnEwM-!I[-Hʟh餡5jO+/ՖgXyC.ͷ}5%WD4:輪 τ sbFB6 t" +"aMd\nL#!ٓRL!؇(G9Xm6Z,G)=Js-A97B T\?q;g3:U@['Ymײ=:H.#c~rfr`+0 A=0 }ӸP6(qea֐|bKbXlht3/en.QrZFml$1jM?V݇7nr30AHT z#UW3tEC,dS"TIѴZMy])B[1wtb:qP׽^CJJlL]T{]vFc<)H_K/ mA1dk"1=>d=JYE*?ƕol袨dѧ !<&`js@Ҫ>Zv Gr5y2$L+}kY>7%&搅7A*}T_hn)' 0dX,xwYE;BVV{ 4ps;O)Px`radqv C]`1S5u^7ܥqCzIw꤆ʣ'!pNGU\RM^OܕcXUšR٫a>-g):Q=xlo8_{?{py}ϼg^3{] ;˝TpnmPro%,o'Ոн'3yЉ"O -" SR 7PCA5,-'Kqh=4jmχ=a$*/Iz!@@ WJPQe98ERC\řQvoXw˅ȵ \+ESl9jIo2P.bLLcR{]zIWg/ D$2ZC f>nvZ/7ĈL`6j3Vn])CgVMg+Lq0suֱ'&ĴqҎL 2XVeps=Ç(`23>u^^N_͂`VzϺw~mӮ쇓][t5AC6<\xqxIFY6 %W+{UK)W{zj ?$[Q^P괺L/l]NW_̍0a܏QE5SKfuIJT!f_'( kr- L]GmUi_¶O..sJ*!c +\kXnÚ*х٧F}XjAMC$st=Mr'(0?oN';=vu_+ع<ŷ܆_l`h݅\^&6 13MqnFNlQDB]w 7i 5s檈'qO֫8u؇%wTtl3ޞvHkrm-ٖ<ۊ1PvQx.E7x+夸Oٮ}Ls:mFOƹRq@u>:^imQј'Ҿ_v_: Ur1Jed1)w+e漠t[^)R^-:7E[ rI(O,Zp.4T-Qc nƚFYC,mb "8Hަcmd?<|E7#|Sa萪@%Z0"pEIZZOI.Sz(ot*2dOzz 2K H wYnΗ;=j8\2J %uiP]> f\nD&6ʥo*/ @l}SϪ].gtnoDll{!cxm b{=nd Ac\j}x-mu-50d-g!h4)xUSz\vaNnp-l/II w|]kDQ0-jMHogϰ1hG/VOKvJ/jՆ_(_>|?^_p|.wy2*/7nQe\VVV~n6&Ƣ&ȱFu܁|o߰[wvj9}޸py \7g8qƵ|npvnxݿ#Gvߑ;qrG>n B\FSR˧;'{g$}SitY~/S4vz݋e{sg?mAaJW}\_Rs|Tߝ:٩s7@$ ~4 ʖ֞.7wqх$f}Pf#fmFT?6hDZ4%5TT-ai(isOqEY;?.n﬜0k[ Op|ٓkqH@u.mbπ$͹7a63iYUVҍ)Ġ-.Lo>Qm|*UӬ˝mZFS-5u.-n#@{ÙVsy\sԇٕg`<`zgׁx{sk/O/}!^*@%:5j޷e{}+Wdb5(EwC.]RĬڝ+˾k⏴G)nU0fŸ}JX|}23b:?2wGkȁ\lSԴmY]BC fvr9ZGA){;S~f?_5R0