#!/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=ebc001cd8bb667b37e765f4bdbb7510f # 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 [{s8OLv#v{GhY҉r\m&!+Ԑ}n|#EU%h4k֔\~-{7{;oyflĶHgVO^d`~I̪{z{6`McDGFA#%8@ -ZW5:!&Aڼn8LaiF hH0q߁md1gBY` (PO4 ie,s h|!/ -PL7;^6A3Xbo'i~s0[/1\[7Z~ ʴZwȌf+]v ;Tv㎆P@k qL(DԁZ:|h0s]r52x) f`zZuP^ 5vI64uz)Pvsؤ΁ 񅡓P .C׭d_v@&4n{]0ٌ|Fƨ :<5Kk* \k%A8tvS}\Vi $Щk0D䍸NlQxI`lHu3xZ č~eM~cK1*)ʺ %AE~%z"$oݻU~w?wP[Hۆ*! dn&[U19 cF{߹~ 7@洈0 Bf2\x+uv,(sH$g+*~y@'[!3oR L+)F 6 9Oɶ0XF<c YrVP.ߜv/)y/`X#Ƭa4^QPI;TNI2 \@"ƅ!«3D6 *P I5s1ͷ;.fLbYVi+ФeDz;4`;EdD:4`5>xmPѰ6qdzmy~_@S+^:ʹhR$eh3`dd!3d8y(O "e;r%E˒e髞0Gy 30z |4F|;lFσv8A8]Ųh.`rǜ5!Ꮖ?~ɇ?v9kMyO [콅O ;yVhbL`/_wxИ& -f罷G~ɶ* pcs=-pSs!5&GK/#Ϻ畗!B3罶:~芦 wcs >S؄muVxL.ꕵ5Z}p^ó'ϰ@ցmTȘ.v'ڄj@0Z%̯];&(ɱDbQ A 9 Bi(THOVyL RKE#VCv9E!ul=O:973ddsYH!HLR}gZڸwAB&5nT&bNd 1q(DRTDl@4g$1BH5GaKZ. FNf0MULaEY8#_?+MYfAQ2u` @+6S+VQX8ZHwzKm NKq X0M[6ۘX &/I <B`Ţ<:5[ ]AވDE4i)8)_,Zؓك onm>`H\hM(6e#%&VdDLׯ郁f (K6x˯6Ax7 <9rWT ed^-I )۠p?BⅣtJPjh|#$ I$$wȈYr<:݋OGm`轮5vtDJW!!DfDHN g3KE7>(/=?hqA;A"{RS*a*lT:_OʦNW23 eH*2(ZXKlzSӻ$ŭ԰i #  Uh f庥y(uSy+ib:0sH7[4O&_"wb%K_[0$ @ 0AY(fs#l eW|G0%kC> FpF ] ݊ z'o 2TfZN9탤w9^or7rf4^ñ`OJِ_5GT lTgZ]UCH ',#ݓ9&y|W%5-S3$I|3F(EM$WA /s9RET\ |ly_ ' C|+M,aƼ $ ILY}__pvDpԩiI*De)0JɦY}/t>?7;ʤAN{ ϫrY/۽5Ksj;SQ<,NVZvbA^dCU,Pir8/Iؘmq[He>ȨMؗh:KjEVtj&š%J]?|s4Di[$r;JԹkW"3AH܋eFzx(^Gs 36s5[6ɯn6q[^K@ 'u~/4B_[4>N<G @heS/4r_q2VC5< 3%3KͪXupt5 MӝRd/HNl?del> {g>D08r*֚{%*D}ʚ/ũa K4j-zxnUUAaM?b0sU@3^Y/dOls"4E5/Tl q{],SKlpHBTxQmRSVmeSMfgnbx^gJݐ-QXL dXn#`lu:u+q Gݘ::Y<$'ʒ!I77ŮpV/,NpOZI8zE v>q܀ i &h-g93d]F/E *{x$=vIyCAb!-9UuGw{_đ5zJ1 I6ؘc^[_-m[6ԒI~R{Wd0$3#剑k=uԩ.f噲s+SG*JH@Ok4 m mԹ+FbLd$ph vݠwGr%av*vhUzܩ(g/eY< Q$M/RQV/a6hj=Z eӄ1Tl"v ׍t4v]*>4>ٸ~Fy455Xr_ kvIҋމW0w}4v爐leI592 o_ZΡ /0$L{14z.CO\] ](0;>ѯeDjZu@cepqNMq ł3c 9Q{Uvso-16wrL(R3W#SoaiS`M0^2IIwT J\(as.=ϒq$˰9eݫ2lR2e4AȳȠnTOUӆtA=g 'ǺX{rV#54D2O ?\+>U Aq̏"d ~K0H泆D*Ȁ5Qn8DAG.\J p– E6$GsH&PLcr0o bze!K+&o1f+6PĈ،p,3Y_ωhqLOY/Έa!CC+S(#v#!ȓ,R,2KChHmW!t~.0*/=HݨF [iAz)8^cEq' Q㝉R2:edvB %Phޭ?Za{-GtP#2oDX=nnh][`x|OONSˮ%Q 6?{{b9tRUq$T]8sc@0xǨ"bߒd Bcİ\?œs"5oVYCA楜9qdQoTLmˈiqz9Gvch(a@"'>FxPx1O$=hR^7 T"/l6a+~( 4ۀm"A3V#-JYgo+Zr?uI0lreW*3~\3{=y} ^f}kZxunM eC('b߻v>v9$axlcM5>nrۂMdԯ9}#ɭKimLk^RxDYzs"Ƶ l_zkۧ)֭VM/! oqvnmoW׼KԏdIZHl'Ds#Rgx qU3(+^ s\d#턧{B?g۵\-Uc^lOk[gDPmp=k+:/k'U Оx'_];z]=akz'70PvXx4S2b</XŏLgo{'|w^S<;D^fSydv~6 aNk̰nVY4cObvKXQEidݑEǥ0;PH~4cqBas]ӑ#JdH\-M"& k9hk#9H\ðPCE0D)jƄuSLZxzڜFXeZuWt " >Kv6\5# [LPLpTnTG֥ `jDAˆΊmu,VKI(M8P$# Vgcǔ_uU|&KέߦyYp*Wp'w b}'lQvKM۱ɬQӊPT+Д𲭰`0Le*bALy Q|d7E8dkSbu{ .1+E탔II+_o7*j5.mӃ1E2+$s붏pZ\ WD;/_LP9΄Nr7baKtHCxKm H&wD@>oOFԡ/}Z/8 } ȧB|F, xFLf!1Ouf n:Y'6x92PuM"\.; Q]&N'MQkn(ʃ1Ǻbh٦4>ys\*4x/^qĸrf,U:3H0NoRp:D-#xQE"B{ \F8^dbخӇ3}\շggDYq|x*Wcq%a/hA14>\ǭ 1d?Р" -lƀY.x?1_6k`& /1?v[dTTV Jyf=>3#,df 2Y,Af IK2m`l}O @-_f8dc8;ېd-t#(4 Bg.H ]jxrlBJS%v{(00/3m1UƒM0 4$P݋0MbC>5Pu0Y2pX~,8 'J g5="jNYMF_nflmPJs mXBKp wq|o;<;<:> /Pi s!"q^[[:W廡$c0_7U56$%N&X 'y܄iov)9R(u)^YRzp0n|nTrN(XW| lz|u_N)a$ZJTzR<-5֛K, 4Q&֚YX-Dh\^kytX&ZϚ'?~>#&"G"*LО|7Axt|JW[+Eu@hN N\"X'F ?xDA */N;T)ʟBL0rA\F\w9N4BKa ²}|1I&&fM5Ti dw<#-K*WDl(/$uFʡ;꠭2g9m`gxnvw 7bUU7 p#3{`^N=zSUe|/9o. N5<5QD&,J7%Y;k)/R[)*K/UoQ̲ٸ1(kxcMdTYh0Z u^s72!`!~\P&S*x`F9Ƞ6 @dyȠC{ث0 !|'+gFmoB#N(W, N.0c7!ȞN?9MeQt6`/c<$02SMGXa H"{ C q6%0ΝE(HןMg/6 ?vOU+dt3 yQF̳ljNz[E{hThc;7lA5!Y{̻+xYA].`}H/NW_,NR*믛t`g(Řmz0E[cU:zd>bO&QV`z  vh>YDgF ݡsNBƀ.ψ,PNiGyO+x.njAQ.*D&"jK l(;OlWbD74WD1\7p7:VݷG+ֳ4hM/n`J);KPC L`3 5^@ 8u>&tQBM$EN,^WC5fMC5Ev?%y ~ 6&6N}\CL'DV?bH+m 0g>##>3Q˺D>q8e"P4 L>ȁpkESrsỒ3Ǒ>so ɍmKyCkPpW1=~g'8!ܤG} B#+5 9J!niХǏ 1 >&t#`H= EpʙgzќuO1ÌW*gc6`ɨӾ* Wcstvrʒ-.+TeB6gm[o<ItcNt , cSQ =ox=n'¤0c"la-Rgwk3g3{f=쿓f~p l9nzCwX>SoM3l7_c u|ؾJx1A/`}6=°y XDJ?<=`Ng57x_O Ԁd%98pfoLڒvEʵ+wK0~mOU+LU+T+BdnQL쑰b djv[-#x ޸aa9䦠m 7OU] ϟZ|T;q!GBr铲(V"OF<t\BLM1Zy{3F{Tx1hX), ]nyeg4+ķ"PNTҐDh/wdQ(v18@CVŌ(>&[!V!K('K`>3|*$7ޘm8JXVdF6 e<5gl6V3ʠZw^ɥ2xW˄YBhT]{ɬLf[;UZkg.~@qԌe7I!VIEk<*nW?fF ݅x춼 ѯUrWFF=NZø~D1 &&D&şJu7>m s%c=pmJ6y7Gb/5~2T4QZ[(w7Ϡ @mEU%^{ke@-o[[(sphCs*Px*t y"ɒ:x0BŪj*Z/8Q+\]ȏBb4+:UPm88;;^',ݑP<Ѱ5뎕 ?Ѽ Z Y,W6zd̈1g N[+9+{|f3of7f3L'I y ]P/Q( :6W lJD|AЍwI0|9RDxuEE~R8Z#։V%+"xLA慂6I[QE< ֨L=)sOٍUFz`'2&Ό~M(_E~v/P(Q`lvoO~p#EUqp(<q_n`KTEJN)E,G}[dcEʞ}+x=FkIV5=B%VfF1 ;>t(8R(r!nq.e}IW *B^KlFӔUl *lF!v݈HŻQ+ _h75*dF$Pu̅>UbDIM tWCd G6ddԸ3F,f+$K>%Cq$@$I_/G}r v\A3G@{,A$֍s;aRv \%,e>Z`Q#@EAs)bL0 ćTj(> k"W1# &J<ʽ![Fk5=ر8ct.:]|6#A]XҪUw\/ɢ@sǦqhȓx҈k!ʵG񪱙MsǖHA4e=AxGqe1E.ǑeY> S6mqSNn? TLy<տ kGk3VuS7lv,"j_EC$CRWj8uʹ/" kpY]ڇ a*&NWTQW Hoba.,9ݖ_[ ruƤlbs(n P72|'6Ml𨶷[]=NPتqp&e j6cmb-v6tluGD"[I0׾w $Abh9Kޫ ;maGg5Af?g3_ߴ(1;G:= mܿ蠼wVӭ)] sJ5e٭J*U^3eP&_&(J720L&ܹ֧oFD&*jv B/Num^߭.]o\2_MuUXy3>ulQYM/R"+"+"VV8%dlQ ePARv@?:g!nw)31uHFP=骒bu%!aj#'XIlNE&y;#BrO㫞,V#X#Bsbd+>M |uPn< @ᓀ% k\'.6׌2v=#yF,qUa7?=S( KU<6P].֞c>QE wOJ+QH&持˨ @uE EsDVd95 B!aaR,RPga>a%O\DZ}Qߎj19c3~[u댯w5xuR}e~YIHX{KQ(#Q6=9ܑT I`gE8>YR, Om3$ܶ@w643=k}C2[ ڿOkW(JCA߭[o2N T((iu*pj[Iˡ\ԋ{|>[M#=Fu+?S95+Bتq >镊^12L Q:jCwq\K2f%\){[#NL뭙b{-}*^W|SqePSgݸwIt3Q\;NB\}8:%7Br_m4xD.ѽ%^=s®Zzw,2o5}oV_[`hӴ(\Ns3< )vd7!Ӈ_Q}x̳6mӃM}u[}e}GK_~u*;C/c1~@"Zx@s)nq*2rzknM߭7"N캟 +vq}>獱Cʿ)~D9[ZrEJpCgG.mojO_FK-V({:b916_Ck^`3B>*a&*xjms,c0tsI`밹&:6,4Z$t4c1Zn+D%]vq@Вdn!=S''Dm?*(H$Nǘ 1&b4!;!cj<ܦMU -Fˑ,KGЋ.3N+ f1x@w #4oOnaҰ \qwUdV7{24pp]~0oP aPt+p@FEEqڋZ2"=`E*@C8 bjRFL/xG&O[p:@dSWx,s" SGF{.jeBaC4 &MdlkE ~Fx EW&`?;kPjp$N5A}dS tڇNQST#LgK; epQ!2UܻDyyߒ #FJ; Hkܫq<;ͿEgsB, tS{ZKj5E?W#^bڼeX "䮣CvU;:v15G$Cf'$YS $~F1Ua<26rۮUrIsKl%OyĹ%ub4|9ȅjʉ5lF%OleC  5k'zDFQτD]= :0HK2ˊjqTX 3:TduDQ(YJ>Ql1[X4PhO#4vrA~K4f5n۠5@Quڃhxc^ 9ZUHN_r':Fσǻ wB#aiaǏ7 *`H$ÜC¥KDyj%Dr L𤶆;I\=zK&hZ{hABRfZp5*YbPA#0ȼX!A uC: 1jF><üBP&..%jbYg͡3Ycu#JT߄p>8U=X Dx^_ҝ˽<{F Fn1BKoacm]*C{wY?ئ1O.ˍ1;׭b>c?P8z 6V DۨtQOW;<}}B1MYf+^&(tj?cH< ]M!hԔ . XܽD@ #}Uz)cT=,^ σyGER|17 0mJ#>mHdg3f?32S I 7"|o?"֥eCAÜM)*Yo&KJ$FP6d4ڍIkg%IvI0))j`La{uR/8x8XQI]I\߯u 9Vlt>ͬ_Q,gL֬Z . hs!o{}q Xvx֋BѬť8LZz|K9+Xl66Cr< w䴢VqT"DCZ4HH4m ,vϜ$ÕiTfhWiNq$%VAU6 mQYNF*ȸ?Q H' F9rdRA*`Ҡ"֊H1][ast#8CHyJE],n:"tXvZ~kDg$ @?1WCr.Ԥj # ~T hT1aOhM^Pl`6i෶ۢDbAOF~KF Sd` ["NN EDHh<<iH!>̧ 22Nm!|M Nk/խQ/1ܾpԀ7'',=(2^$f CX nP  ƃi)ɥ;xR.LWV#'1ק2=t{!Nk x76z;^*0cFNŞ?z?(#x$ATOgt]MZZOf5(0nP9 $]$AW M4*N6_ M<-Hnv^|qX^anJc =&_n@2!ᑣ\i>1}LDM`rh&8 "'4$O_4T!S+)06F 'W8ͳDHxնmw ھz#Rk;_U^v0ˋӴ6&%{!ܝ0 `"Gyir16K%5}#m42d:s,N-Sh(Σ3W7F4vǩGe{.u&%7H;`|}O{ր|q>q^_k׾R 5e1pg(mh]k)̰Sla \LbeEѭl(8Rd"6\)c"ՐnQw0եbq # !Q/ -ǝ|$-rB1UW1vaR?r}Q/O!mvznoT<Ê\DMY+fǘT$!iN< ,τl:EЬT)pWP-I3VDR!ZĤ'9P_ %ѨNPaiċU;x`f;^Pf K|w/U ManE oW~j]N+|+][?6o>ic4 sfd21$nbwricdc ?LC7-|* 8yςzXC)X[)yIvvVH#.}UzHpmucMQk*qLR_8uSyB5r^'&װ֙$xJ/OxCdiw^QUzr/$IϙPRO3`,6xl&Zx<\+z Wi"鉕1i.]"t ~ @&tv hP+ ܾHV/wNN6oRi\hwfkaW:i U~e I;czM)6Wq{-6E ѐ':Փ?[(x,HnisJ1G&s"p/ U}Z1mo.B- ah<(̽kEWaN2})Axx$#LIݢJ9$vxcELfMg`27^ BTĪ^0U&N +t麶i`B0˱ei>IޯaZDrAoWFC*=:y'eQ(0{$ElXa~%h]nBM:y[Ha#z&p҈/IqFQ&P룥c=}vDVZd'խZu+,zoYr=$B{DtI6FPcy١SG]^ɑVG!0(_<ּq~K_n|fz][R f2]Q_kB[ V0cX xM [,1 F

?mgq'{2n{)oUYR2Z*KCZqe߲hi_WHZ*ES*PRI|, T*V! &#~P~\d$>LM+J7%xԜ(r#x[5B*lbUPf 0?2j(-΍L. \Jwj{*Zv^::KP2"dGP53 WJ4m^G[R)jvSʬc=}uZD_7‹iG Fx1bM&M)$ye>@.x Ť鑩΢VgOaoBD4)w4C?"x˷3S$yNW_LHKod$*g QTcr MEf_ÔVLꑌ2)]`Xh޽!c0̔@bsH:d_[98.=s|a+Nv{Q;x%\n찂@v3PǗaי!=}\9Q OHgZrSэ́r4;GX2) Ԣ1Z[|T7x_"(16`.}z֬}9mm2YH}GcVClħd#!1ow";u!_F@eU63k^e9,F}y; J sp8Vq4At#haRws UlmW[{rHF{NJzj!X [1FȾS)G1Vk6k :U-0݃neKByM*7}V^K+:{UJϓ>N5 f 7@NɗlT) fuloN'5tE/fMZgаVB W#ოKBeƠ,RriztilPAzzJ}8l?4qB@J&$&== -xrty 킆=1hCfQjkDNp"3ʬ5OsVFyX6H ڲ+V&, g0I;kaO݊NO;1OkO!չٌ`RhmiRS,1]c^-:9=}οPKߠէ7,w?????????{ = nPϠ !%$ t3HhGA{ Ǩor48㳽}[ą.{ޡUp{똗6pn"K4ǍE֫vr5pMPbI`78j6G2U_~W/O~KGx?(/o-%}),ܦ;h瘻<]7\_~ ~qX&Λ߰"p B0l&is|;4s߀QUG\'*ȇs` o47ޏPe}oN5qsojy>y)=]-ɷSNg) /V<]]q<\n{Q*hC ۤ(/VJG*miڸw<=(;ރ?:~,x=ïUs<-{Pr ܇=h8ޓ7ޓzk7ޓr=6ދj=i6ޏbB8u/FA>}w\ aE7(Cs?yAR],9~}jlBamUg];~*<:~NN\uN}^Ms<a,T^,c޸@D~Zm8Xn,G2INo?o&H]:K"Ƌ[jq9)zG\1X?g{06^-˖1ncǃ ZV+d_O-I"q;<ݷ/ i7 wL8߹Ѱu \V=Xt1z7McWa <|4Ad 1lxgGpe{:Q~BN|~95nEx=R;u'_4Tɜ \< W AAfz#<53Bjǒ9 p!@t&3u!a:ĺS# xDs> yz8jDGN!ⲔO}YOqWJVT;O>GvLط|zCfQByc- d/{n/Z*3(1^%9