#!/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=457becfcb70173dcbcee0b37c487b4cc # 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 ][-q\Yd2\e,|d:k˄ V4ٲgplA a bdr"#4pL f|hEYcW -!x^^(Ԙւ DBBQs}Z` BZPC>qBks/v>6G#2E"\WV:|%u+@JR_%eK h}i 3 l$ڕGRGEH2:2\L$=X* :I}վOJ+$ġUVǪD.."I9%„6V$$Vlr@2>+2Wh'gJb[!4 !׷9<0B ~LKLRs+I 0v$ ]]AfDuJ`eJ ˔2%g\73W_ cS(!C XF,QI{2a:y)_^(?5X)hT0$ko(Z-h\|3̀+f@<%3 z.iY҆{:L&V3< |z,1ñ=?z9P &_ftn-,9]yRL(T* {L^ /CY"7??-! A"Rz6h~UJYqP qar p{thZ)ɒ9S nM:Yܦh-{lAEYw-"hn Ej1mAC["BId3,`KhzC媡qtӣE1Nb6$zcp>7 :b: pshY:z|܌^zSIaٖ5\ix&|ڀ!kX>2-n %Ģ@ pԑd^G\CceJvdTJ8\ jpKIx,o-LWQFtUxufiX]3,yJh 61a2'jmLm}moZTyBX:I嘬\pI2EN~ח4=Ys7ʆt:_y\y5pI,|ds԰&8"G>}3*l=3Jy )LIu'; ŭkl0Df1̌q?&X1Ѝ[>6~\dvk*tP& ><&F8B4QbAEK}Wߌ&!"V)%ҌI@)n{6廲/κ2-O fJXevR,m{ڑl0B}x$,.[3C~`SxWj;;;;;;;;;;uX)㧊SYmA` E񡬜EikÑ)򿥽I=}ICZ£!ܿ /]!% .hWm'RO<PGTuo,q5J晬FNȺkUR廊^2@gs/%fԘIA AIx(v0>AFQ;*ߣsjAG/n6p\|/9SճSSHأ7c/hdqG˼Z -oΟ[Q䢙R8cU= H .5lFAx /JXO按bގ9<{LL=DyK[cb,ҿ96~ɜt]lNqx*k,LǷNŶ˟ ǟD]= +6{Z18VtmL{`q/;'q( ;?V%,f/i10D DZ9ֹ~8SîZk$]${Y|0 '"NTשKƝ=`<),|\iA csxݜ4(&n!i8jrfeDBBjKf2UGxnbEq&溣Ц&Nq.*pMeP? ٘'lDs\WIX 7ͣ^dLHЌO(OMKgnZ"2G0$B0MȟF&;g'Yˉ_|3;oy\OUvownw_k s?LCVdl1|gP7CѾuIlg8[ChxuCvX,v,.,UKtIÎvÞz?mΜ=:#J=`2C7/=m{q6znV-uoz;v3E^ `Fۘtjz\罌jC'WӹG=W/OCĝv^=Ŀ=XY;sqsZ kHe 0-{{czsO~xQLղi_A r5eY.Œ'!Fpҵ<-"zbmR&I)zEE`7a~_* \MؕW2 arR$HPxg)#~7!3fM7Ruokm {}4S>X;0~$bH7Iܒoa0dy8]pW-&Ms6M n6kV~e5xAQQ3Ƽ}<ķ_7d:i`li Q'XLRF6SbNfݘ9\UIR'0kn3&Q3"9vD R$:(` S6&6^Ay,o;|;,3oZMg(hِ{f"t9O(,ٞfҧAs!5M~lu޺,_Z̷f[_[tS;H}QB2I=?Ae:D޾!Q_fQxT$*eHaA3\ݳj ug_\yVVI=+v UYyDfFF 29VdYȀba& ?l'Q&Qr& _ͺ0+ڐ3V^@{Az!e&X䯝F(ͮHڍ`G1gtH_1k$xCJ:=~_w>6Onɾ9(֯Z((K%9BU$vх$d+u.">redd*;CnmY/%8>^XDw(DRn&AQz }HGQEUC 3`aQwf:!!|C ΁7p`O oKHc~%v0a} w3YHBdl:i=-Fm7,} 5A҄#T4rZ~KXNq4c EH\GL`hƂjlҘuU(N8e(6&V2G+£(HDp1A *oFYr@eEU +? 6D Q'b)T*c0GI JNiҧ>nNn#ЌR2`{lu1zw!7T}tUú:"V5 O9?;ڑW8A͘C뻪ov6S q@OM ^$fb `1 #*״^ ~j4Tӈߩ|;xR  0$%-]E|Q- 帮Ҳd㴢YG-`;Ghg={^P{4A\' d>J.R",Mjд ~ \ah5VGQ[D#L(l2/A,N5\ A26%S&mc;2,dREk cƒV+ow;R!58ql}}Ћ8e}tZ˙w_jĸkn7DjcN  "Uɻ`= B3k-%gMDg\DFw"ᣊ1,H}D4UK^TGj12<׋s}gkj^:D:V Ak`rUY{zShGA`-(ܠb;*U0;go5pܥꝆ9_EiyTk+`\jn!=;w齶T-r͡{E{hk/w' c7{xՖ't1G8;k`97Ρb0b>z輂y75ɘ=rw&ІSHL;~ݡcs:YujG$F0ULZ 1a/EgSU}7 4YլceDY̹w'SnP /qi2w&! DАPK<΀̀v/h[5{P:n!{qjq$y[;Y\Ǫ)rҐStX-bQBj7!B=d"UogZCuiiCYJh'0[@M>L; Wx"f$p7+B=T.e4 ހb|ÄU%FR I>WE#ȽJ9 JHڍ؆ҫðHπ]3)Cܳn^s\K#"YYEt[ &Rt!Ƈ#ґ~S B+~ *i=|?*ȨdE}dh-syyƩ"bIqs^gO 3tP_ѳ-XG`#'rK;(u D }<3"T/yV:}絧;I. l?+랭x„ qz @@AD 9FnX`j]pNrј2FEs=!N/< v~.#/ Y}̫1%ܗ, uJVd89}yF6)vMߧN`_N~=M#q~e k4;f9he 1;߂30Ek*_OTdRO+wtܾl+N^ӅN7qBuV%e[Al־.pщ;8GC4"f7ՄL\ r: R'O3%)™DIV:lA}KAC%miH$]xڰ0'ߴ'mG BN醾B\`rn*|yS%C¼xU-nH2|pV[gϊQtfK eI aZ0|(ވ oO!o'u @ JTݣGu/L( %5{Vcңt~w=YuV^;-VA;owTi|Ij}^R*$R5 $ uz6t]gՌ̼҃ԿײtEyǨrE C!A 3BOASe/R^[UNP6ER-z#aDu5`8 hwy`n^4L(5j%mtpuw\zwiå\5|]8Wl?frxh Ǜ9z \ii#;%i'#WDzvgB]q2K3}jͩY`9-9ElRBMr 'ur_ :B r^ɲSXFx.4& =}̳vMd_2KS=’@L=4o}[MhXБbgaa 'Z'}lDX2BbX'"my0\]q1kw\V SO#)tƋaWBऽV8G8_29jrIu(|aUJ d Wէ_""Foٻg,< ?#NJ*\GU^ˉ u۠6yA޻yq/.K۽pGkr&)Q^ \\j)l4<%2دK:{h{πu(_; $󳿝8Tt@i:\`*h]TeǠtۙ C[ )ʤp:*:b\zyAпL9u[n9{j&7׮:rPw}5mW3;X[드I2"i?V>&됐i._&*ѤϝKWYdu,sBv˾etitS s KR/s 2=5-w@Ȫo7p r}8b`t,[u/~*9Jhi9>!?:zN-Dt2߂ "%5RhۈE_r0%29._F9AbX]-σЪᖩѮ:^gg[R&v$D):ƙًݻuO*^M×ë)z(S{ooOLۄQ=u,/i:ry9EG&u$Olmv ލ?3ƗP&$ͩ[WͺE-_B0\}(6$S5 2y`rD@ڇ~#W4}hrYX 9x 2Xr<7omynWi3DCA:3?Alݒ"z{7t-w׼v? [yah *S ˆ OTe,rBvE^A'k]>pTVwNb9sSGʥ)<ӡ `~cnhm]7#M ,@…p [Lm/(8V]s޺(\cmYWkkZWL)wUuY؄ehn6qmi̕(y` |\RJTd& C{(]FЂX;^=_ bVj hA (z Dl{3j#XdC݃ aHtreMdaC=ʙ(KYxSycrNO c=5Ɇ7mZ@̧D>Y36H lӅoq/ F#4 |5ZD(60ݷ˳羏opnWGR-G-Dggx6mD>t!\B` T:Sa)O^Gm#S' ^,\0Z/k>Xs;!;u6BIKe`w$>~}tnPsOTⶭ/;نvwb*G/?OL%9HyհX/E;D8?w2F.zelx7<52 La[Ђ_2f>ڭydZXuOGmDtG1|Qk0lX^$G?X@r:CY1ݘ{e;2)f1ly;qwjS(L!v&q|8nZ{4sS!i]# e݂,"[]jQOWUP"Q[*1;{ϋվĕJ(pY}V{&d|-d݉m݆% LU3M j *MԵZL^VFܧnYs ^YO:t |Z6k3o3g3 ?SouZi}"W;%Ͼ ;m`W\v@n^qRcMy@!ƈ)H0 S/xis _&By!]-ϕASP )r336-~w G"5CA`sAR]8y#5Rי/ ub0zhb3 H\6G2t0ǏxEmzC׫fv\1r<4ˁ}vf>@͚C*ߏ۩ȠdR4p!guOȂeN~kvj̨&Lc13T[Y~a]}'{tJϭv>􆔕_,k܋T/^ϵa@G]:/h? &&:MhHBFl7Nb23N6?Cu,xalv%ri[Gn$v [tM/ w^Qhap &$e.Ή "x#HD)қZO tlp U׵=3wsU!8GǏ f2-e1tiG`2K T ]? edUM#4K{EsKx+r'OȶYnPj4 'R6qߢ[]R6yubKKCbSHD~6)c"o!L ie(FtUf(PqXsTdOGƧխbtq!?-ޓR1G +nuP1) J9 EUHC3u4嫊B?C\.z@yK8>=wS=<9ߓSZx\g,P`Ð:2sVV<Sx~ 2zgd*ic1ȧ16MbT%zNo,k@3 78qT'^}aj %_mS;Fd%).o@F/exZBLbiPPU si_K*eicJ 5ZnNN䓽$7*_9Mr N*;EX#*ٟ=| ,2jh/.6<łődԦƪ~ Wkdh9}E "}F)"gB<|#Pd;VJu k[qB\)d̟&VϿN<VI{MR:Ǚ2FW+6g>W3J^$ ,wh D|rVoy7*[ at9kc6p&!R}Hf]ё3~V1jOAHۻ,OH 6p4hx$WV'}$xi Jm%͆E Jq<2r|1pjpar()?Ǟo.Ŝp7Jp5āeZFFIVwP x6({4xSJ$l$S&myA*:g#y@(#9po o/Uoy'e6/eRCG_'T}9.e+rռ62-`;# hcb8ꪇTk-f&iڜ>nj,6%068/㥂ZG1[P쓴:1H; "7bMgyqU&GXSsBo%œQAx#U/R$려Qa6eMR>NRV|G&zBuښYS| Vf E&3aNP5oa?J9-GkY(pѤ-pe)4^va&xI/2T5k;2jh:N\$|N1o^uԍr_ס *Y,Cz5X$uW.g5~Y{[õZ#yC'Y- ><ҟf#L]ak Jiҋ+S:աb*BM#dj_lYP KA#\&qt|xk{{$BYcbx&g-jW/6\f5lXA ~E'$\ޥA I/+hyG߫ h2PfnzkfS&R֑v?7*N$'7wM~f3{=g3MR )s {4V[̕ˇ;v**^p3B[A^۸1P*jG=zsnDX lQ{?>XޠtAxZ'w~ڤV.uv{տ]^4XVnM\.L?ҿZV/WzYM/bTݏc F 3h&>9Oȼ"/z6X|Oc5 N P54?ی8o-J1ѯ2G`L޹s_s1N.no{ѯ ?OaHeqHc6 =(_$6׈g"XŵvBU= x/Ե ={U*KĶ^U Y# b g[v>>lͮس&w뜵A*']E/\V*9; qzԸKriAѵziԨA{++гV K*B::aԀ< Ò[Dw w.#[}͡d *5:0dt#pm eDĬBT?+++Eӷ7~}5]BU#qXxU\0 L[.jy֢Hqxȭ?=Mß-86 $*>5F֜ngzwGhws):-tb)5 4 |P6.'KIw.2ҷF۸]$|UϚaV.jlI}w-WXkUfW'Vn=Y' Hǧ1j<'Eb/ctGe5wl(D^wuS[]9<>m=^=  -2=\6uǯPszu&`[A{JwN4n@m4vQ\ *"9PFAhxfD=%]j܇`o Jt¥L)UoW#L;Uݶu(p -=0i>zR߽q/=g){Gz }aO` R3\DG3 =qo=b&ĕd cnmm{J48d` +9oewedޕO@~T74縩+XW&肪VAJCMo+*PT@jTw}DJQ (37$() .s6y*rḝ҄AempNNLޫZ\eBP3Zp;G,cZ>Bv㮦E_AXV\1s+P@ަ6{N2c"hwl_C 'gg;g3ߙw;f R?͟?q =Bpd6dvGFrgoNbXgH]Z]\yhJAI&%Eu[,Vjx-u-@ɜcTVØU#(GQie5Vq18uF"VKkK\_]JAMoƣ;k8ݍn_2M雤5=C^ uĨĸE?J O1w?豬RzP crH i%uB-G뵛T Uc<i! \;C4rƒ ѐFɂÂsP82|P443IיA@[.O_7˛Vd>jC_w`EF*J ?`Ar]Q-ѪR iR:V<_}IAe@"8U>oJډĒUǴQ։H4iy~M` @Xs Z;XlT㘌Γd,C36n v&;c3烝Y V,aXX I_'5JWQghk&Ѐ#%^NA!9b@n.,x~FRϜ]Y Vk$ܓ^wSt WI2! P26T֓:,lNǜ$OEό^uh-an3B@Ɩ[G˷\٭UUG**[u`(%Y*Ǩ?iRw]W?;Oi(9i(qA:v 66k$o/xYZՉH;ղ?iYWAWf}iC Xt%YN2E1+r]8;; 9@MI )k8 ɵ#'$u^b7?w-$*> +7Ew4ށ|?7:l<uV'Zɱښ@jǫU`~k?3 RH䉵=qQ²TX,V;ZMn@ oqmg qe`Nj^0 fA@YЋIu}0VXW0כpP1GْGޒۭҭhE{Ǵ5TrߣC;rɘnrM:<6{Kv!mU#gkrgj)~X֥3ko}XGOoy XS*T{ ˨ʈዷkU C y'hd ~$ @qKŭ:N᪕NΠ^ê#A#UK:|TU8:[V Ć\kjgJ']ЁjeD'W\. W"F09a3WށZEƀi|9+p<5,+qnfD/ /PMK3&K)@df&@X\55ɷ|S%j>_ʯNM™.D NC hIw55`3'7\h@?s"6SW"YszYA7M4,->soAPW^oM"wAy}PFÀlRg\9t:Amդrɇ^[qFyC܁ D+/mn=Y|@|:Ig;Lyڢ3GWID$,4JS4ڰڟb9A6يh( ߢ ;M i҆>~4%29oh=]q%5X"8M~5{ݔĈ8wqqV'r33z]#Q=~QVqMo,։OC\ b,df2 mگ^rPީN lk$7;KŚE J jK-n[ugB~zg<Ʈzlg\{lAR*L7\8~tsUUGJUKd7ϫBvQG:Lk[,|U`5g H/[nuTPsNŝd@e  MY"A`F^NS'z:]TT2hpElPn~"{Lߦ468s:cXP7=!-dO凨s?\Ԫs \6<50RF#J{V볿Ѹuf ,_aܧ Us:=;:=?Y=or>tx~e>Vxt@n8.bY !yD0UA]H&(T=hE4XЏ6Eޠ/k擄%ǰp'7b kbhF\b^\a.+XhZ]1ǰW-۱/a d_mxAۉڼ ;Y 2N+7hf. {TǡC>hkzX٭;oҫOIkLbwTo&zLf-mJQݲ1*1u|Adm0j0#Oxw>Wj?:LٍjFqړlVVg?:w; E΢~gQY,0[N:ُ馅ti]&DS"Cai ^az}1Z.++MI9\ͭRΩt5X¨˯}?r\ V8pNv*Ox$}R.ZVU˯sqz96R8:?o ѐ6УOc8Kaح6wV*V`le y,K%7^-|^zpwLpč>>'5<(JλXԻy9"RGoosZݘk$`TŊ_ z@'K`?#b%8'ӿo= ~7ݣ;;}eစ?d(~F\؁ä^L'@^`z^C|}Z]&ڏ_bl:J]O0sEfOX5v Uhը8:}#GK1*K!j<}qBɇieb:Xfl[nѐ'%^q2 wW*qǨ-:blȁA Gl-7v_& AnAW(]FA]|6] aOFtN̛M0=Ǟ;^]/qdw79iR*4l ##*+ET= )A`k0z2Np KSrw~C@8\{37EDx%d{B1 chu7qV~?Xd}m/3?gF## sf Yf%`f NY9<;OR%gDϟ 3Ey(`Px.?&DTnm3e?E_V(-s4[rmJ\ӥ1Ԛ،U˒FY$}h9搱+CYGyPvFB)ºXUD^Qj`v'ZKgE?xhY2PJ U\]DLl>TzDyazon`|1b@DZy)>e#\qη,<&{ڟ|K z '(>90rNso:&cfY]gm D둌b sؒ|j` @/?,QK6e$桘{S&j3W73q.../tLȌӯ\EAʸZu+vs{2 *!Pxp3sIRXB.qOi&' Ku( k6Q5wKHWa׿ P&KmD`_^{G9fS` {-${-}^" |8ǤTvZ6=cE; rP\2w&i, gj%_X+'cB\ސ0ỈDmc]q:ehD|et;iQ*x."?Av{[/㷧P ]ix ] k#TsŘ(l2A dZp>HxD1s;[&^]9މ, <'+²&ߑ c#*~%bD)<$w$ "Z]{7thr K j9S;mTռPG GK; $wrj3`V}ñ-}ʵu!y>H؞ Y+Dϸ]ӳ!$XUWO›UL ҘF@f', B!nyݐ),Wc&Sq)i\Ų;cuKP${wvQLҎ}mNU>DeV A۵=8c L'4gGCI(ࢄƅe-w5|e0k  Ma _G B^ jDgu??9F[]$ETF65M :iZh돕\\­Psw(;{u10z*Aa]C:B Qn" K*Y,P>+CK+vۇEᡥW*_`NBs*P7<6T7JŹܰ GC$)87"݉ܗ[Ѵ"_l%9uF![pwvJ"AԲ˾J e-4h n(Fr=Z=(+D4pJO8OOQ8}7>Ϊa\lNZ,nH4Z|Xy,\v]Y m顝{+L#=bU +K_pt9ݧcB'Ƿ:m| Ik?<0?3ߙᅦw;yμ~g^3bdYto3mC/P =/p s ɠgq;֗ )dwp&y -P#};h5Qڐh$ ;NB"jȲ&Q SDb#  Fo3zP'D(Q_W|)[?+h򝢝ViUL`F7,D^3r hL| wJa.j;+E~$ [ tfNS}FwUYVWhO_ 44[8iV *k[Wm)-mT9 10l h"#P`jt׶@(k @ _03]DDKW'iuk='uPNL!DѩEs=2D%VK<԰ .vO3rYɆU) c- VY>yaaӬ͔F]p.\\7gH. 8i7"|tvup1|.̞eRKMQT2uQjpj߉xSz\ h2Z/JA ?t|]kDQW0-jNs^ V4\m ᇧy<~N_Ϳ0+ʟյ<?,Vw9.uap*ⴊ9E[<xqOq|n݃{z wNO_yz.OO;=w'\8|ޓtzxON=9='/|ޏlr4*϶OO]neZ?MOJu/[W>.9;Oڄ”Tc2=?ɫ1;;~}˟bOˢ߀h9]"f~;n`Zџ^[nɹoգ5E?>CXr"}N)ݳqx[ClE;Mxz] zXέ!mNi&Hsu`~k0