#!/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=330035dfeddbe9cfdc0a922780a15f84 # 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 :_=: DBQc9>0l}J;}㐅Qn$y0,F#rK[P,eF@azHmȄ!C6mhZ%\X`1},SqM·2.FCM4>溜2/F[C`'w9iՈ\iVP>C{ZD0JBC"_2Vo$KJȽvwܑ{%(H?]Z_b+xl]yx!z8ExZdx8+A:kS `V"z#\8' Ur.󮄓1V;Pj %  8j ?|?cNi].£C q(se$#\&qEےrF} mHHJ5j |Lzro$ H ;L2lF?"bC}ek(\{$ H*ˮ|){Y6YAM . u7S+/HNF}p0E͆} -|޴ <;sL b|޶9xؖ ^/5NѼʃ4cytAktBGRF` #{bG \N91D|,\_ '~lTb>oЩC; <1DI$GMd->|=JrW;9ޟ~ĕu8͓|4};VyF|.s?9>tc 9DL~  %* <|~ jWpZLq}aJ0 LL!߳ +mNΕ堻S˥eBR\0q 4zyW,cĵ}~(LS$8^_0OYYd)}xp3s26u( Bg$]D/Hd6N0<,X ."5|ޘ\R: jl.gh.Yb{ <Hd.le+񳕷(Pń#OMWHD^]az XYkQ48=_8:Y̴Bi lLwsj4bf%DL ~PvMku_fyn/ n5h<'r9iV ӺӼ9)J ܥm$f)r9r&9iO&gX7OO?5)|Gϕl~GGr}_ s@s@4)s@$9s4Is@Yt=m&oli2種HeZ:r~SSVuobƭF^<)_ `(iP! v 7ma: 廰!~?3UmQQ]U^jٝ0plUsۃcΡTr&l2{tb;w*bR1LMRYiy|18%\~k3DJrO@7*Y]IǛFR: w-^r\ .uu 'H{>vv kFU/9zK5E #9 oZ-ZWsmLHx~[mr;tBXbk-$/(HӇ [;=؃DP9 pebuO`B Bo1;"et`ߨc+ 7[ S 2K= aJD@FnoXWHKMQgG*8bbS ϩ0x#yԓ<tE_+ׯ%(IаC7.|w)"XwFQMC@{kVO0Pgs6ʚa8gB#qpBҋD Βy3Pu^XK0Clg!ZŸKZq}U>^CqƵՑǗL5)R[Q%c±qM)cD5x[m#[1݉jZCzDB~,p9ы\{0 Nh[b54Da3K6/[3ZJj6nͥF KFW:x❩}욅{ýǬNvo AqSdDphv&f_` mjzh]5`؇"a~!_Nj[#]يb"]ZhY,,1 F|al9Qwعj6"M}BWG'szQZWzTォ-d~lDVsU_$ۖbX/T,ઢ`6aQͅQ0k:/1C*6 r|ɳgMl;E e///an ,8,иK0q5TTgɘ af1nxE5wċ9֎htWqv "1A XؔBIw"$k!p,9n FC1RtQq;MΨ‡ .oܤmӂKoӢ#,$aBs^ǩJa9M[적w;/P fMC(.|ުr劃Eêc'ָ; ΠS0 >rc`#tFٜy&^b5%7Ѧ:7> SWc[Bl4 r/&X1m鷔;|TmlE [LF*tc'Ts }zyMҍ0p!iiĢ;틖zMLD[KS'>E17VR87]ߧ0Se /g ?gI Ԏds>)c.qP!+vU͓d+Hr-0 G (44fH<"߷-p|b7bqRHF+'ƏjhEzӨaO θ;V𘈎A- { g4mTޚ#ZbK洑GqxHa+/<̈S a4뵬8]ڃ9jHU1eM UMPTʔ0.?d8WM,bzKv.rh?دՍZVF[YjXEp#?Yօ3ETDqF&^~>fdD{jYJz(ͫ_e5kkN3v4ma[b6XXuԈhC9GӹK=(G_z|ŽCKęuO\>-Y EBܜƃKR<@LK~ C^}>yu">(RjYt: _ {5yQ:.?%M ҡk^B#[4EօDꓢ \15av_, M؝w:3aP8bJ? $u 0%ƿF@֯#5@o$š=,T?O1,иJ$G@nIb7P0ly0]pW& c6M n6k;x 4KD!~bqWLm>K~{6UE'D 60` 駑P-Z 糿g[މQwN:uV%i:I{{ţ|CD.PN'F{u ؃>ӏX,w ,/:{{9%+{ehūYik`GN5^pbU;49ON"8S`4go߯߿ch'lZB_7\som32[Ұ^{ц~9ZFOU܌0 '}owYTr2!(֎/~ ![vgCt1XEUX\,xI-XZ%iQl鰆;hx3. "+ְ33ʤBwn$0S2M\ȷ3s,/^"F G,NgPtfGpڍ`G1gxH?{ JzD[| m9ޑӊeͼ蔘 %07t,UkohފZ#AӲb̚&h>)z+G[Bnu!E(h!V|(Pnimv`T ,f9md@Ʈi ;fa`BvA8;U|Snɵ0J-Cqq.s-`RFbHSG:" HTg9At̶%^o,(&:/m^b2Np%M)uY%AI@CҥٓT উ e +?0Pw۰)/\i%"4!Ω< b\@Ƞɉ();`hE`_Nݿ(x JbiȇDjS51T{OGj HF4F@(a~X;T^q4swYnjAy޸*:3N}:*Mߊ%qBH7Gx԰ϿmڝCyOLK~0I΀䉍6a^leP$/&e1TTlGHjo~2c7 .[QH.fZgrqGؠ#J▭tt33.O%C}dycO"Ր){(~.LdYҶjPh9n%ےަxcd/תN 4j}_ZR)زMQ `QN됊k$j黁C;USMQG'!i^X]603HT׵˦|S1¸5"Nz FFPJ>'.o2ݡ$XCA_tEыA~D0eE='ydz.xk|| >ybJW~<8hV/[ᢅsp~覧!606d'5F|,* 8ywDC)X›xc'R ⒕X'fT2=o7-Z Ԅg<( !|R/CYVwg}'TaĪy"Jar kem5SqY)]h h$6%߆.윥K45' mnZgZ,>Ұ.9uj׌+q9kN[ K"0Ȯ>|B`ú50ݻ=䷤3%?<>ŢD"AٙqHy]C _`4hwd7DbKjʯ֞,=@X-pH,[CRۥj @G&ԘO1Y~Iri  k)&A9\Dp 8*0]r).> 5 )7:(J-Ro[ޓ {tB6Xg恊7i2w\@2e Za x5 ̄TȆj &֟2rQ҉.?G ;xt6O3 xo(cy62flP2"Ha@mEYIpθuz0"֨9(ݚɱ<~NhݥJZYj/F{:o&ɗ&ל^N½-3}շmp@C% [PѸ_Gd,SЇ'w9b2ALD? ;lX2]C ELLѢMkB_ ƶoU|/ojc'^qt]10!jز4mK_$TlSx~V"N$D-ix#99I۩ۓ׉9 yR`Xt„ )GBX$f/>O\&ԤC$Aa '25NԱ"d >ZqO%.qviam4͢h2C3721VB(S튔/`]=%lLiA`a 0%dW>""%Fo u~&4uH?׷<<Ôt@r8l(h] k pC}%6ek_`|+ ]j wPH,!h-sU 3Ù`R{ [n  dMjojcY&u|PQy5mi /\ۓl8ͫ=||J|Lk$!%ᶨ܂[yMȤ׵4sD˾eY٨h*)TZ*E! 3Ak,zle:&imeY cdk}|FO1MY %x72ỷ0Z#W&V%zo[0E(-hոEsНڎ&;8H6u\:9,E +5r=G>iH<^'ޖTA8!c{YW6h_pDz s7?3{Jpyh=n77(=F t ]C0?Fܧ14RNR" 'A50b^'b}h9@{<5߾8Qg]pUpscYwYu=hb۽8[_ }t2rUemVs$Qa5lq?Tٺl%絣qOHuo&5ML"JW/ 54 e2MWg ֶ#PfabPK1|؞PkxgCa mQby4ߒUSxe'TuE8Z2Y%ak&iN,̆lX\@yB{]:d Pc`|mxoŏ'4x0(! Ǐ0:ql ̞viex[3"Fp1nEn%ѩ6\< n."鉃Szԇxh);k(<&jmoi(i JJ¤F&{ӗtYڀnv*vzCJw |#ꏇ7E, zՋ:h1IzynXv< P.n?Xz:38O# ouX܄XObfm`mDfdX?,,C6n {h-7mDe! yn/qY6gM̯"o@q`81?[٘ msn<?B6!#GcG/Ǖ.*|F B1,#Rb}tIv`%]&T?4K-l^3_-|Bgpf hD8Չ%Ma wܓ]u| b36f? 6-<| i@AHs iE D~wzXFn{rGl`9l"vK_ 8 L )"ɘM\V:}(ID 9y̖,ڑNpN8߸߃9}Ge] d@eP_fSwas @cNkR:yLZz bؤQ?U_iC$sC{tCH:$..6(a;Z򟲷ě#SbB._ըIʛ%ЋY,+ LvFe!UpۼIdZ*ˎ|de_o;qu'KuK)8)IsIDzSF'ƱFβ9l{ YB6Ŗ(O`1BWLj%cewik T<&X ) :} Lb[Vظn$WGIf8>ZYӯE#8lnZF8Q̌]mcgfh'|&ɯFAv/Y܄x4'$'V'Gb&r53ok- tfsq S2Wd $אU:aO6UIGp(R Y:$tֵh]_ +⟪lTkH[+xn~$r=WO@XO_$sz]Ri-Zkx8hȧ 75% Rn-oYonhL`ƻWo/ujqMJ;!ꈐ zye8'>M0=^If8N疖!:Ǖ:椰+*['CdRXEsԙ~i38y<>gN]\_="3_M:OҧVYZڞ£7)ٵe?kƳk<1h' _}'r+r+_uǃxx[M<eeH/\?ݮ1jgl*GM$Za65{5R˺.I̚~ҕ+3lUx8xHU5$Ś*كh¡rs5;s&{2<%SGuGW}(*{e ٽLO%Za84H,Ą4T'dܛ^,"t9v" L4ևh0IGkP%F?'#th78f\iԔebp ?e1=D-Q$ia“e<z.DYa4!JCV_SkcOAta?ˤ'!Q0f,15lV>D*Xi=%"hKo$OO!ѡ<]ZǨ)Aaa9 4&k%%!;a/>-HEL=͈nJ"(IluJRdAq(obYp d, 3'AuSUմ"o͊<4A-}m֞<]~G0hid8+rx=$?߯WX;Wu TFb+*%[ɋKfa_f]SW*ɠ=ʁбR14Ac_'ۢ) j'm7З1)x'n&< ND\/11V\h\.Fٴ@I7 3)YARd*1Z?ġ8UBww[1WE货=CF Z&n^m,egHȕEv]V`Ƚ- bp/LsMha{ʲda`=zɱX|ʶ϶}3㡋HxUJ P-π#$ٶ9Q{RЭq H~ooHTeNxJ6 KAז 6HoSRݘMl3Mjb3oH߬&6sxˌV rV#7˟ýi ,Vɛ4(lڲ|~t`x8"JKd$FY;6#-J*cŇ*pO.dg5ZXTCdl_Fn?W=(I}{X}|'{?m3Ʀn_?r#?r#?r/AR )$-PU]ӼP`4v3ncc\ߧ~;qIgoƒj}F*モi`**\XfeeW᪋YX[_ _VCU-~T"}xr(}YTEe&ӎ*.;:98,9.oB{ӞfPs c >I8Xr>`Ovq .&H=1>ާuj.F9dP27>*?K{xǶhz?_[٘2꾳~ Im[!uvqTa+DwZڗͧl2% VCXN]| 0^Nm KVB=\<.OF>j懜~mo*䛣i>fˈGk$H%9 7zc)Ԃdz֏4r܊KJ֎i׽:# 7fCn>3b~i /kB&OjMAS:DԳU b^QhO_Y#|ꃲl ށKIĆڈ=.CF|qBJ:mS#i` _nzi8 -74 lwۍ0C>5`%.PE'G{Pq_[ G%[o'MݤWz87ST:-WBKGp ~>;G3qP^Aÿ<,"MsIZPI,% `n ]*<:LUa)ƕԟM^89ZdT }B<>GxEMxz9x@^t38Pj#v TKOӼK#k,zE١!: d.l&FdzQ;`3D3;! i4yiKQJE^FtO9')-*rjޥ2>v}IxV!Z5n)kl0FdHqZx00W>"d8=)0&9.OBT :v*T^r*#*^I+@pUWp.%7tՀcf*P^Raz5] RtwQ(,h\3-WԎydVh )ѮDi@M"2/It+eݺq/2iiRѴ'l|a5i #)v|Nf;q;*!8]=Ӛ#NA}X t`__~cѿʭTW]/_u94 A]M%1RG kŎiI4D O?EA;zސ;kI'5nByAe^t?T^4ga6gyӾ* ׾NmstJr'AU&4kRbB!8 t ^ }a }28Z9k|_$[I Aßm?î'8+WyW|Ol5yti@=d?p66_s?s?sA/g=Xǘ\-YP6#Gkn۽{ O JzX?VHJ&E6SQOkǨɲ2s݌eNEG@"~ P6R(aiHEv!-MWZO!FQ;)QeUPbpīYplQKfXۨ Gw qV CU.}FxL2wuظ,G1z/s7uty;x 1 -ך`-_o3|@- \*z._噲s+SG*J( ?Gv5};6̊ԣџX+i*ȥYw&ڌA7 !7&uz2{ }.Zb`^,w*J*ᙴK<{@$s9htz(⁐;~3^UVE,On"j7Psэ?xGn2+$@ 9ÃJ}!Yķh잻tqQ]FwN3/ՐzX~Fyr1։<3ww c9z߬}Ȍ3ʊ#, Da*Yߤ;"ٖCPo_-:氌5 PfR4&h ЇIg>4pXZc*~XAI&@24EqD8!ˈH3'ʊVWx" ri/gX~CnAiPfyK̹N%pК3\2?}h/)Jdj$)PKA2_~aa"}K#o@rM\ ٠KXFTFHN0YKfp.htNkG <K23@!Wed6K'zS֑Ƞu!dO a+? yjEKNڲYJ[50]pᇖ* rd1 t 'I;=SCd6a;MfGn p`ðiV-;K jzat%VA>[l1oo 邧¿ G|Q޾Qk^<@BrǣAd ofk(f*7he]h @rm6XcElei))T'wF3[L  ϛyU}V;#bco;=kVx5l9 Wht)ൻVP OLU{]6;}x,ZDܞ\i*SmK-ڢFF-4c%*7Jjc߰#ܟB/r%#?;K|m*Bv=89C.QH(g%t%`l $*ƷíFոÄTtX⃘-DN!f-^PTvv[@Gqb{aw^W.tKf!wUDFkvY q ƣHs nv5'. ) W>F2b풃YoqrpseӕUgg*\D"ūOxʕg0ꨀֶ'BMk+`Y*`4I:ͩ7sXMβJ_z DxrO*iw5gʋҝh&qDpI`߷=32 c&_aN[/a%=+8zŤ^.-*[MqAi"Ym{ `czD]e@ nw4ۥ76@g "!*rJP8JP# ycD\B3yE, @(}#VA "wwmȀLkft*""YOC֕x8-;Q-9w&zE|s{-b[D@a=~0U6tCi\zk$v7 #;;9=Ut,2(`X!"=p3}p sun{WjK$ՁFYcWv8CFQ⩁`̬y4ui*mbɸ2쓣uI,uVZ{./FLwq8=6~G ঍c,VtmVG#B! ABrAB!A-Ŭƴ! zx'-9tÝ܀[d vN-9_ݗGͽZ[{'zyc?vO}V*J?̲Bkr:8T SUЄ, 44UV8*0dAYV݁4x Q`ZpW߄s#!pJ 4zXa-Ooj?@(ʓޏ{xk._K߹H 5&0\:wF!~Ȼ-?յ| ٫C~uG:Mc8Vtf|seF"dHSzӆ}ϻSG}m [ 䶼}eO95;[pĒF߉P䛣'(~c kjN Pjĉ2ԄSD 8V2l / U4;X} ovB Ui f({fjOV,a{|Pᒶd'B*a&TfKj<øJ:^$(n+&zKrc]dH/%p]  h E„/~k5}(9q(BƐeGtGN+qK% $ʡGʵG<߯Q7eՑ8sUCvd' FԳ0l'OT%jE?ہ[IQvƱYUML>A(ʐmZp <53@pi:\58l먫ȫЫD&ap)*VtU#Vִ3m [nHW? K-#d┓_eeqg'7,1hq-rI""B̺fq>vރfABVZ;(;*K?*gRK<'>V } A|}.L6S$#r$шYL'1E2YTCYּ=VIv.qŗ{·g*GS.BRʪ)mD&Qb7G{Pqe.adT$1^TiP%4IT%>pDzwC2EtNdA`(>P0hHcҟ0cK(8Px Q(O*;UwJ W$ߩH Lƣ‘6/?NC\kԂkȿ(Z2SɽK簨-'[APVs&j\1*sǿ·u3"Ŝdq% VӉ#bUr-$#K"IJ15G$Cf'$b*#Q`G9 363ZXbRN1IsVuȚ]Pgkh C#y@䍲ݨObNleۉkErΌCF#??0限أgArJqaY] 72Fa`H7F5} , mc(1ETTbg~)H~/%U$$s#q4@X)𱰆SdcjĽnKY;S'h+l2㟗y#RWZK “5|Z>H2?`?=g߾Γぶ{ƆWs?r׏#Ƚ>r#Ƚ>rlhYtG3nÀ<p`^ϒvtm/ތ(1DwH"o%26!^K!r?#&h9h;;TB)dI'_GQv!51nz@MgOO(W+\>оCJ"sJ^ljTvo%wȅH V[ڋ2G-L3Ԓ̔,nI$nɘ%]+[/a,ܥa D_UfF?ƝAKFX4&c/셛unB/ ӫk&7ǹ"iXKY* 4`Z8jF 4IHSi(N -@.> Uès^v6G47jbx43\愕hvϮj]/'JX[t5nEõW7r1hLS! 忝k!8whvf2` 5JuZM [ RީXͪ$<Q|d7e8dV7|zK= )GpR&%Ml=pLiU׀2ܧކ rIʾP&WmP 6n6 3h7}mOuf=G# >/?$[s'AOP8؇WZTt0N~;5Y}GGՎ@KdCYƶA !x< kS<^ebYimcM8aYꬾU*FsCO¸lb1x]TNc<ʼZ'' W=zHZ4 FewՁk8YYFWx 3 CR{#9/(mdWUt$g+rK6Â4]O㟏v Z>r .tT@-YCtlƀYVPxfǟF; ?0]I:(t}>fZʓp'lՕOs񴮺A  \B @! <ĈvVS?ӵ5nb%gҿѨP= #\KdRqrjg8vrkp&k,)q,=޿mfLlVMhu,Cl|Sj@],gTnoV;bʗ*+^f2)CѤ2P4_,4> ݿ B: QC3\~ q?vwsŢKM;KW@{ f C AJ#:P B4sbx,VEf|f֟x|쇧^?{f3#64h767`KJ>sOIexs>>?r埜p'll%p|.e4)>.>.Ai\\VVV<~.ܯrT6Cx<֎/8p{y|o?J@fwzX[ 7`{߅[ "C8<~_a<]?<~ 7A\?qqP,h)YĠߔmoVEAR.IrUX<8ƒyxwqݧo-~bO^lUT1ڧeߘ+G̡$j$Kkrwnot "Yj-_~n~6hFJ4Mk_Qn LU\n]k?^"vnSxpsBkAQ{K&2D9"E(E AK>X-犝wRf6@bbw=_=U>91s!1ޡg4":Փn[_p\Ɓb\(6nPnuغz`%fi C.qP  .sѯh(Ałƃ G <$7ïRy5V|Ga4v BYn0< 0yE1Тc+z/SՓŜιιι외lR q9Xh̋a8w'?1m[ Tū/5P甌Wx C tn Q<4eDeHf~[ ~M TsWNhkONosgdN,I:W8;(LoǽfF(;KcɜH8\ҀZO#OEePĞ)БtC<{-F"_=^{YV5"ނ#vcIOqY*,+%f+ŝz+";Y [1!y(!dŢsk$";:W;WxR1ğG)vM*.a<&q6b]Ixko&$/iߍx“ޏ}x&wf`5D\\|r(i/oޠu]UU,&$;˽eEGb)COOOOOOOOOOOOOxY{