#!/usr/bin/env bash # # Copyright (C) 2011-2019 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=7f7af2938a06ef80593ec828e86c373f # 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 "~]֌e8$8lA,BĞ4`Vkebٞ@.>D؋s ܣS@L(H$ 5V@C LcAW jyZЇ =YhuLmFg NLbl4"ERf DLH v\L(0djJfQ…2n.מz_$|+#hd0Dsм,nhY, Y!Jl5wrGӏ)vq(_Eۑ i: ?T^K{H(?$+:?lFkww^"#ѕ/%6qz 韑Kiؾ֩ܕGٌg򨇳EHn!"d#+nK:ef%;7"Eۍ h{Y%:J8c#y @ [<@jp 2cǪH;0$e,<(PO{<.p2>UFha=+ шT:\Z&5 GpA-;{9M\|q$p0nK=Eek )LkyNN6I`Y~9>AG} \#>f}4K s@4)s@$9s4Is@yB:ߟ6DO7g9y9)R|YV7pCkqW.{,O.kW:3JZ.>5|H]xy>U[BC&l)쁦DU[lTnWU?=@~v' _ &[Ez/j|X>q|&o̞.]du:l:͗]e[,V* A*k:0oo"f ѯcR`xP(BI#U=FZ%+Ip3\V A2?#K|4ӥ.I~.َAu_I>bUf!p$I|Z @t\ OoQRn^ÞnTKl{eQE |PRekPp{sCa0G,לYl UA>-w@P5,CL+ulubz{*Ô06ȫ |.RBѰ[9'+Rm`AJ0e.;Xa,s9$H޼!$e)*&=fc@*], l )l)c 4 _Kꨭ֝脽gCT0/Z鄃-L +܆fΉЈd<в$QB3$m4TݻVqۣ90YaC.c1Vu\_iUPqmuy.SMVT Xpl\S}=QM"V'@V`LwVl&Xu5L޺:RMWFDy5WHbm^ B *_f 6.@\5 s3.`P.,<{FĆSR\bL> 8K]1\`ێb[sEUqɬ`fpkj6WDkZS{K-گcmAEKgK-R݁vX>`! BV()NwDv͡Z8d`U%MĈ8F<*n'IQx3A;Eq>Of J2M4YJۘ0XD7 =̘}daʴA/D  0YG*jaG{yEpں7@.2mGJ5άc5by>{te6~\&h OZ1P*E ><&F8@4bQb-zMLD[KS'>E17VR87]ߧ0Se /g ?gI Ԏds>)c.qP!+ЇGK݀+va亯K9Q=?ĵg_BS-ugl&YkW?w]sW<ȧJ %uyU_R.YaR"*)JK= U#rZ]>Ƚ>60r$֥Tn+UQ2vIl)o,~I]/P FaTTJBe#55>0ʷG]ݬZr+Jz?݄'Seb$f6i F,)`&1sPAdvTKTc ?U‰jkzu9cZzZl* K5:1G=ơUWn5XV&kKlFFF@A _#^ƌ`H,{x }V i`}q1ܧGQ ihh% xbE(ݷut#n6K BD?0Z94~PCG+zЫFE  M~:wݱDt ja^8lU-% ܯ,^WǍ?]@Zv0[yaFԬU-@UDZ0]eQ3eD)kjj҆R!%u$ñxrf]ڰCw9мC3GnɌ՘ľT7RĺkYmeaydGX&Rx^RCi^n,Y[sK>ikªF17{#1f8cs;&&NT.m *pɠv ٸ/f%uJiΌzbb^Ca}CZ4c$޴~Q%$.x*DK@بۄ$;U\rTs|GGv+V4=u=PQoz׮cW?v]Ǯ/WM%.6\Ε0+8AVӳnVu2?֭Ĵc5ᅜ\F"Aր0`+X uUc]Ҡzoxb[3gPj$0r^!XA L׌Rtȁ!{UaGP%L[:ħ|[]ז$x"k{!nN A^%)O R%rOO>Y=T{ ]~)MSv,}n?q쯿=Ӛ(K~Œ&Fpеi\-"zBuR"IzI^k{`E-&N;pR {໽b(PP{1% Ä_W# ב^JI 7{FPZaMrƿ'hM%# J1h{?KB<.y h o7݌ᏝV< 4KD!~bqWLm>I~{6UUq+<g}RAEȄttxeNN~~R?KϗuTł7*9uUҜ&Ha&kԉ.F7 b !03sPL*tg5%񄙒iF^̥D{Lh&]_Bەi7'!x5Eg킈7*״m%t~&%pyxb(f#WWhj.0' pE˘%R{4֍]p Xvx֋"/MbXXw({p5oawڧxd3D6]|#ʚyE)1kJ`4i"XsG!x+k(wrM3kJ[8ȢH P[8rP3 )-GAs%A,RTgr+n#x o`4Qh#2vM1 s z٩*p[)t7}Tj3Tvk]2 D8jބ֡Ve8k Ӏ`-~cA97љuV(hJ8'&ΞQ"BX[1?*_4 N<$]=i@E n(]PI;• X2+RK* ϣ  JQm9j _<#Zj899V D?Œ0L-/B>&Rsisrz\?!08` "]A!|Gzm_Py Bهe}Qi09b vLx}< a1²,&T† x042b=P|oʾ}݅i[ OI&!jˑa^~eEW^ @1Z{˗PP'_E9z`QrrQ19<4m[u .DK @{/Ez|i6b1[Ui m@)E<%nR:yֳad& \hCFsIdU]۩@2A Eu#9M6ٿ(d"hX؉ ̱۟.ڽ !*1R_N7 REúH.X@pM&!I3acoc*L3fj* ,HwH,H|De_N%2<< .}X7Խ0r[ 2Xf:Mב6OW>FQp 4.>Xdy~(H]}T55}#mK4&D +(W:IO^[Dex5yw,EH7dOʹTHcx Tt/gxx_4-N1 o|{oy'f1s@@0O|u2g&Y)!rS˜$rFcÛ* "bC?^V ϖ2~dPgU61ebܭ̯23.H%!L%cCC{HI!VCf\?Xwe"iϲږUϨI'.1 $y"&e%7 |#R̆e0dMކb|ÄU%A I Kr"es Lی: [/:2 xFlʊDNaUI^7_2ÿϞ:xlPmVVdh t%Ik ?I *  be>0 V +pxpqdMVqsFeLO N5 Jq?s"7Ԣ PFl/ ]`[_)t0jr\Zg[Tn ]hgd6Eªz3j0pڃ}r`C0Q$}!|B3@%VLQ>%p[q>f *$Qtqx<9FG035AH `A66Q-am<{71iŢqdA6^L_'QS `n"uZt,{"alJ{7H򷨅wLPS3Dk]ߘ=ߜ=>[2ncv'!Zu]t`K a,a:SCcI/Y5 &dVU hJpҴSa'&.ODTdLLLVTVU)( "{hA 'Ԏ".z^ak`Pu5[mI.K+|N1 u53;lA1K@|0hn>]U1Y_=+jzZR,x񷆾?L7`M1a}" (֗SH{2u\*˄0]R= 5 Y);zJJ9-Hw[ړRE=:h!Nm4f@ś4;I.KK UCrARPYdCrVE'5I,PIs&Wпp 86<ȶai@|@ źDFٗ1c_FJj[w,LKjFvv=/cF9pߐD8Q~tՕ ?Ehb/ 22J֖jgaL.3nb`R]bs̼kaeq_͆39= vg{.èվ#A$a2(Zn9Bxb*S\0e:pq }?r hȸsHKg*;lu?MF[rRN KKdt=1ow"Ӧ'q,f]eUV%;qMIܿrB',&jV #N@nCb.s,OÁ.J ?k\C{0l.c&)b+͛Iw/QM/-B,<^ ^B jbGAؚD+l : ,0C= a K5yM*7Y6E^":{1QҖHJ>N5 dsD8kBG(qp36 퀖 ujN w\-:((eGmo.\*H#<o'Rb۴`cb"M!E;֛"=^6b>4tZdc OXC` T3!Uu읽 f<1&CRNRF GA500c^b}h9Ag25߾ QgF(]pU7pɅ+COd_dqSAvl !ᐃ*{/h;O3T%)͈Q'Be'.@8<;G. Zf^t[$dy5XPnMPL\&tubU2;7SXSuCᶟ`yABv%(gS1dӵ\4]!Sb(wՏؾfVBj0(lb?7.(t&ܣCetQ%KKelG=AY P^.h͢)1th6+6EUPi%+\ 4YeNT`3)818_'C!@Ӌj:`V;-5 i߂&fKi1Rc.;Oi%׶wz݌ @rcgHՌD1ާ5Ȧ3a{P ئe ` \D D56 e"U&NCTzqqe\;YʺZf"2l$Nh"qF="eNµZf@V 5YJƦ*cǮ_Ϣ7v*6Ƶ0^V?}OÃkvDz$m;z&|숶|V hc ]y@.Ӱ昮1H (pxi ^EFuxau`-/Bߥ3 -lI!ʘu;jK۲q6!>CYE d CjP/'a.A [ fUžYl>ȉ$ :k;G+~<`a Ym>~_ԡ܎c=`[-S,= Nju¾[bfy!\d6&:qf˽'@1E8>qKO|Mutx0Mp,1ڣ7(΢*=5#6 m+h_e(+%0Xh0Tx0T _mߍӞ6С!? r ىjCMT\QKRoULFlo;N i|m(|SgBn$жۣ>tMrw3>Q`ix :/LH pynSH1F|)B(NqϨ@o9fjqjyaYU.}q'd2:2?OviPfǒEZf<4jaaeJ#K ,1B`wni k.lɅmc8;֕UD#jO - m|N4鑰I[^-14GEQgCp/{L =T DhD#(Ro ø2B)tUPCEbQe8<-[W=䧬C.kl\c>yO6&!H"=Xi[<ŕt:aAX8"4#r$?d$7 []Ңs%_ֹ׏O/U8EW C0[15ޟ(^-Spɨ,d[_\l#5$Av\2VvfP]-P t&荇RHA".R`N(Lt'9RqtUA" t lt)R\=雅+;)_rXOcwKi,?ǪZkx8l ̎75%Xh17]o'4' wY^26FrݕwLC689!pfN|`z齒<p͝-Ct+Ia+VuNTɤd+ɱH(3phx}֜ܽq-RzDj:ښtKOR8)ٵeǓ7ǝosk={'c?mēwz<{'r/r/MkL&h[(x9ʈ^~y.؈QڻfzԫRiZq Fnx I ݸ(a˽.lMV9H:D1Y=9H&fn}U9)GY)&pHC5`FO&a;"ѰKt R`(š{ ȕIa#~:uRwul Zk,RlTF8(l8iRp j0J9:jxӬ<frD&de(f8CzzWͭr.uoJI{7 /7(3k\|~{2=*3r!4(} }hI^ ESPHroz Xט!&$0RZf"{&E?Ǥ8&Sø'2#rh78oIpPÙ)!-7~(C{h#5oH@QEOx1J=8vlJpz魾f"Ա~I~IOB'aY>cjrM}Tl<#{J(DSIӟBCy=ӻQS34b s+i6Sa{M2l'KJBfR~V:2z5LKݦ*DPi)8H ȸn;Q$v`1FA:Y{^Q0$-4iE/,[EhZ+ y[aШȌpd`趍1HרvP[`Q aTJLĮƭ 3PUA{Wc/b63ii烪<Oe/Whn /cR\CnJyW- T'#:_j[l 펹7= ]( v=Yuoȣk*SO! k 7ːeb+q_"Cq$@,^b .;iO{ ߍLbH;,Xΰ!0;?8+W#w`8a_ &.?yBwBvv0Ix# Iּ覭?$HBf!Ԓd FQ{Mz\%Mha{ʲdDANW{م)Pp)m'yq8xCPAp*&zul|ʦ㶷}s㡋HxUJKP-ρ#$3[s)ּ$?ƋITeOxa%¯6 KAז 6H'oSRݘMm3Mjj3!oH߬6sxˌV rV#7ӋÃ^,BIcj]l :^m Z8;7_l% OH\ޥ2 ,EȑX^%U@12*pO4j%3V&<ٯz2?P_fO~Lgq#?r#?r#?c4\i3e{喊j06b  ^knߍl4Dc\ `a򢲶P,=M&UYȺې>4`U?~k@zBB |JeB&* y8= ٍ)|}Oēv¨*h5MoRnZҙנ۳UM#f5hQcDʍ7s@#)߅i_/wWJdm$a+2~}7B:55m9:*%5.`@!ZbxYEǘfWΕǍ^Cj)o*v|ƿ YQ {zx|&e܁HN1>2'-gnłME?K~ĽOUG#e[xn~!/|) jEfe=l޴q Pt Ͻkb| *ہ/mZc l8鑍0,DEeZNgݍegO z.>!OUePV WB{A}epʲhx&Qwj#xw W uS6QݗDScO2v WnAq`l0`ea+^<ip2,,(ϲ*&5w*M 3Ž/Ttæbh8VTm2BKpG :LJ''^#B*R)j;D}XK87%tCIZ$ƲFv+l%O%7y ,d3WM"WR3G(j);mYxR+t?k6Wfd?oYwqxz #y@41pOiA(}P/?MO.a2<^ 6%RZ n0$$|\ӿhk7\\4 k߽laH{3ѽƿHX,ҫ YI0Ё`Els{+4.Li'5TSB[h˗Aؖ#q[;8(+: QJL_=:dJ&|Q{W]T Zi/!\pR55L]ɿX 8'*.4v֜mg#Vr;ʺ˷} )m4d.= t fte7/%#Kr2]WMblys͋H]S_cG1jȿ ?DC?{bEdcw4Iq{z1R.V2r'pTSQy38GN*& wbꎆqT 0M2=)]5seGCOUnNIy3ѹ\ވQ)eQeuI흾KB[`H8>`MFi=N:~̐L:lޱ()DրnN%œ~ei Ȇ큐N7Ŋ=pi@X@ t|b3T08b\R"d3١#TAX P_B.[ϻe_Tn4 A]P%;RlŎiI4D PD@EM zѐ>kI77oBRjAetDU^4ga='6 4`Ӿ* c2 trrf5'AU4k3UbdJ t [ aLz 28Z9k|_$[B @mΘ?s>,x~k[c<1h'l[⻍1?s?s?˜Ϟ?Î? ݃e@~ޓ%9rDk [hRXR֣ECObY 4),lͰqvx.X(X6wYq $G%sRU$at$JquBQvYV.GF%틕I(>p<`}"zΐ֥oW}Y\v⎾8P/?% =Ы/+S"wjk0Ək:K!cQiRsh" FDn8ңB.1vh\pԔA)dtW\ RPxhd70SMk޴+W3MkT5(ع0`!q ' hb!G4kR2$_qh)may% H">GSSҺfi'K|SUƛh0PdgD.euwʣAmf,T>dPo(qDQ3eT_Jil&ci/tS' BmLY gTbXS.gq!x}Ow"7xyngf!l=VU[`wq@)B,T]~j8 ;ncy/ۥSL=u<5Vq Jr5ɿ#RX5*Ѱ9l0w&t Ya%@Qu$2h_bXS=֊F}kebf`m-~>;l8%{rVh 9R_DeK\\A.Y@9HA ;|P͖2z8EN@qwP]ptح`Tz6ͪepxIxkBMw8JQBT{{g-Fm!]TPAʗ7 JKg"R(x<8Mx:،X| WN> `lvZxЅMg ++NvЕ<3Ebb 0>.2L(}ZqӄXO2Rkw/ӭ8! D#ɷmv=YFo=$.%Tmos&ppZ2ekZIixK4Unԟa?~3|D!*XKFxz$w֝/T$]{pL4].еiيK)NIUoGAߋëI O ܡ1[6 ōC%\>ֱ9@;8ŷt^Db8~ ՉAfwUD9oFk:r4 /|&7;CĚP,vӆXT]+sGM#xC1vXYoqrpseӕUWg*\D"UO\|Sr;CiM;* '=M_ւz!nD,:_ TI{e9T΂D3=']K^COEB6= #w"* ox(Y)+& 6pvi?ly4V"hJCAjKh(+ )2o w )68#e TTqqUCPWA%dOG8'Y&H B 1<A r#lKD?4`2m4SQ 8ƁmQu܉"d)<3Ө+d۽k90ܢp7R&Z m)CLGc'Anh`yɧeC;fAU?{{b9}L-Iׅ3; _ g2SE#ެJq``SݚYZib6~y4Y3&#p@%vyqQ;h8;\ # _4ԍ:OWwp2(-zl2 jMǦ9Xi,(| GقB\Iڅ6BZiyiC N [r; 6.y0?o , ؋rrͤ"URп>٤նd8nQ|U3+Z%L-!Nɭ "Z#}7$q~G*XCl|gel*4=`&c!dh  O8N'R5 tzTB(bSaAso)U@hmKT e3V:5L?RZydk}|E x?“{_xb}3??w]=\s?Ͻsw'7{N1 gPr"}K? ϭR$ax՞Odk\/ZBxik9>Q4mTƨMoR6Jǧg) j}V*J?̳Bkr:8T]Є, 4,oTJ s3>H͒h(eYPcg0Gm]NdM 2aq8џl߸yP_x=vO<[k \/+y\ksM` 5ygjЁ݌ Lhn2Дp~3 8E2ܮ=ӟN2Qq02Y83cꄟ$ZdD K\ Zm~xnRAZ YPՎp*δ>c ssL2O*pAC>-_e Ӹ͔ɲt4bJG&IH)#z1ɚ<"b2Ns+^/|M6JPGdn#n;n`4F?)MQx\@{qR"%"a|0j10\e3Ȃ0ԑQ|®"~3w$ϱB4GhM0Nԣx Q\HwON-&IS-%*%Eӟ'Ŷl]#q!лLU.QclfܷCYvAq HkܫqbT:lψBϩ|(GodZZM'x(VVYf ܟ O.s'Gx  ɞdd A~Qq˘zCgeŋmfSa,25WIּ90P7!nG5ZMQeQ+8mŜJ k}cr}NBi+LHDѳ $ӸuCzQd#v) #pL*ƥ`M`BI4(f}YaM#]bHޟhà.nOe܌P#*?B Z&5mT &R.L½`0gKBPuxspLQ5ޯED0sB#_\b B!" s*.)}D*'3!7ք,ycQ|b4'd}qwǂ:9E 2}Ճ͒6h){AS~vBٜ GEJԶ0[a; ,eF]:ՒnC"TᡸW:G͞O#*]"Y@CeMyj-Y\m#JY}8+Tꍈ5iw"V4ȕudu3cwf]|/Fx}w$/4plMfD.mTit W:x~RXA8A"sp,pXXá3¹17w~/V G=4 6%(Zv9  5~\!'NA{yRW;Z Wo_ptYç[1e2<=W؏i@=L wonGn[Vn[VVѨB#V܁y> {<0ļ/m8$^4SB>DG>!F ц1w4q.ND2C%A#C*Jĕ>qh(5xfNx3R =P)B6W.h"ßHڑKvRFD GM\f?ʒ?Bx-ceS룖 JroYyV{5`Je.c 8')VQ~m#ok@[eSȅ5e$^*NU$5M*_>OՋRƈ@Mj>%y&6" -1LT@>&;F~5D Y(F>n6 3 7}dr)Gyz3ClAf7t,8TfHlK."F]}`^ssĸlULn`vDkvm玎 m/A8k+u<^db9m;Cˆ5ahXꬾUJ:.BO1b1xTBc<2X'' hDRqiE匸4wZ݅kYEWx(zlN/,O;Ⱥ#9/(mdWAo$gka.K6ǂt]?}S6n]茩&[hK+T 0x?5߁v~`& <ojs}Q}o<ʓp'lufQU/5(}Sb9F \E@) ĸvvW?ɩ5ob%gѿѨL} "#ܨ/+]djqxoq0jGߔF71\&I_W/'Nx~?U.[17ڛz9Xك"rocT.b]Ng;uÓE?PuC *sVI%uf/Nhn7J%j->Ai\1=~A TTP!<j=<}@wzX}]z<;<}wDpvxOx:<} Gsx@nO89<} [X,Jó ~SjY[(I柺i{Wbq`7.³;PUw_V(vu9nzӷ{u־ B8F`šW`ڊ?&N5 J;CA7?YjߵB3D^ǀ`2ijLHч,ŲdCQ)2)rZB[XME/`A{1.6,O=FL)PrƨdPD:hxP? "蛺,OV@FFM¬*Ź+"Y%Wbz}%QڎUZ{Poel#ݼ_*P6(dR]E^8Ex08@|X3@ce]l(.BcrwþZ+DQX(x~zP____Ƙ1Sjc9)+xoit:iXbv|꜒JkqG 80@ֈ9[ţnKD<C zX-!Oi&p oUɂ3$4#;kOa9 Rd`>VK 3pR=Ih0+C*fLIs'L=eO i*UWmU"B,_v | [SnK*&g=+j3i="7WTLs&WL^~b@)5}V[-<'d}5< 1|My~ߋ1\~Cl3wm}빻77rc<qv+k ŋ+dIPҺaJ*}DWb Ij0ficёvrʐ????????????????5\