#!/usr/bin/env bash # # Copyright (C) 2011-2018 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=4ab909ae79a8f87ad957eedad4a0ab39 # 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 XZbpxEdžjh=aI:X{3 x]!c|fx~8nhz[3Io0 QF-8x>:ix0:x`rChG`rhK ڇYƱεG0XTv/^[>¹ b A`1#γJ`b%9iu>舼`Bmڗl+To/V`)#;tq3vOYjöfmpkFF{FlsUgtAktyZG3F ``iַ̡Tˬ_O~lVzЩZߨ V+l9$Y'(?dmeLGsJ/ĵq ?hr{"%??) 9x8Eg{1*m# 0 $|E gFgbн݃Ӧ~D\!rZEa! c A B2YĊ@8ƶq+ DOla$MU@,<$lR %UX,G8ƘbŬ0\${=1> ["]N"hܳ爐!#VyOle,)O;<EHs.1<?'1-.VZ~|t|d QҰTàT2 /Sgk5ICNb ŽObYM@ w` H4eOMG4;I\?]Ql3Mvm5 p\ƊWMU:!Z T/TgH3%I9jϐ&3(_'A'π fWB6Wd~E,~m,|],l3$3f<)3zF lP3UkPA 1XDo=,+?rg>c Jzx=0@; a4 ̉pX)adw%JDc 4͆how>З'6p=VRՀ%+82l S@l/2x#9=%y XL`!WcL-/oeI9gr A"e$(|VuޅfچݹN=k1b8+:d~qJd P'{ 8:( }Mڳz MYOQY2,~>:H1O܊Lr(lRvv 6 q0.\ύS[[h0EjB٬3GjW,@ޒs|nw"@ p֩hT c.Gfo&0z$g2@%:teU4x"\TwV?,}*XO # !bzTت܈BPV+s% RD0$[!)Q[J-fDkGل/Ah1UI`|;?VZ orKpQc?P{z\2V Ѩp}7^ ۝%T>f"8>@Ha.jG5r(aO*AUB1~/s< pVvj[Z/`u{cwdm~Fش Wi2V-R*TnflTqxbb`NrUXOcsTb[K3H Z ױtXEs^"urZ>&>:&ݑALȇ Cw&ҙgk"`frA"O^254ΌjŁf&x hrgf⼙#(^۲|mf˥1 }9Ti*&"w3Pץ6;=i|7#l8 GA52^b ÛơLE,Slϥk)nz,S+7e[\4e|뻑)J2?ps=)vDۻ(ġ) @Z/O,n2s>?+=HAo`*Jyf,X͊hڙ1ĩk[S4}SRO&(Zeڰٟh4.zZ)-%YtdjZs7ٟVdfYzrgӥ׋,NM1WkT* :֭)ϛm1ʜE9ӪLaM[ANf"T "@ LI|"ZR+j1.U2??1% Hy,mpN7xғ~ |+ت5u"Ur(QxCΊzfbo@=dԲ&kyeTx4XV3 R[Ji`1GʒI&:yZbl⭢%*?h3ju|C(W )YXD5?ó V5FȉDVK`GɮzCYAz.v'QqUEXQ:5\ 4&{m96{9?).(;2"ig(aw*qNוW-;[fwG-Zw)+y&j#*nJ[W`4 S ;6oc(\jB97xK0=1݀lx X#2 賅SܯC}@ @D%f zE # W2BQ]ef?ٛ 8Ø 7YtF !&;-)%)'y)`rCIs݂{YƊorLӲ5ILRX5[rjsf&EaYj4TV`dԀg!f$(:PJ̇KV4"N⠤~"OmH;"F>m+|d8R.<m>\z+pGq,sFwtf #MKd$sO<.>t]`Z$lHɝZx7xIelo ėm}2oAQ~sPO-jZ"lͼ|hZU}|u -SuY*yX..Y=-v[!φpk=_:Db3Y^Z22d\]Mkh,GIhJxvb-|7d?}RRmTs DTf RfG$:gfsHI uA6HTs,Pf 'B9N 2tf4}HQA*9 Avw1T`kX |ð aDV^N}G &<Eﬗ4\3v|c6Ԯ4$ug3(j[x#*B %Ί`-;voU#p\*6,:ūfd9}`؂x. -, 'QHߐ*G~8VrŎdx@ؓR5ojeUT*v$ňx: wv?? Yh@gv׽ph%{HUBGT,Ua)rOhSP{V~Hڬ +uVchs$UKYFBb'rǧ&6%gs̏x㮕_yq{- j=A4dxKaʟ+23<'#H</ok[ml60AvxvΛ+4h{>{ګ%l$m剑k9:fS>/3in]>i77sVon[V`k3Vvj}"!R3< q ,t@6756&okq b+Pz" CnS3JP͑^,R\ ^wS UyC#K/vzJ TM/R9K99no׎׼KBMjpq.F3 OI$,$!< VX {𶺷wİn ` oBajIVoתu kV( (ZiGo(wJ^Ww YZg'PeY nr\Ux@bjT ,ITiJ% z}zKo۔qwoRu"E&Z8ʚxrspX5izrS؄sạxx؀aZ}LGPJ0y.Wг $?~>cOi5:˞GpB'̰nDX{v<{\02U*:Rq-YB9M-8_h(Y*I /tH7eqq?7P9x\뙢 6t D 18{VgOWW<\=>i+DJ#䚀\krM@&`FtjDۗwы>YTϾc;i aU=E~,w( Gq QVoxz4Qe]<}2br FHںhф|ke<ƣaS8 @rJ'V\פ20P'Z S9l.Xc{8FZ^rY]GvZCګ^FQ2DJƖn#Csf-]`kx :\b,H\K,`H@n#]ak :YhӛCpC},i}Г4wDu] %f:2 ng GEH6QJ- itS[<>PPL*R3^ਉ@bxf,&9-\(bn8΀GLr[HWh4i^ja}oWȼX7d0 $CtLn&Fs<2cZ*ASrIՇ37 Jr),{ OZz|Rby өmx|wN`dz·Z9P+UѩsЗg/Ppҹ&YNAllHf5hl1'x BKHKyK3+G"DKK Js_h/S6yŢz )Ynq|FtcB Bۭ?U$ID"'֘{ҹr s++z]/2b̬#"go'#-7{K)Dz$ۜrI4I86g$$Z4λl1f=$fDkKT1y jZxxT2jsy&MS0,֠0+ZEZ-WƝ6ΦiήOdH@X P28@sIe+zixۀhqx8Rn҅;eJ D댿 4U}g\wUϥˬXmz!:nl'wWKqG$|,։J4qd+y+#؊`fH'G \1!a!:W!0l#SuWlIHM\(솫t1CobS!]‚5gRK_j.h>cq#cRY+w{p,Pb^ZiCn-V[쫟=Rpq!߰`_b/1bXk6clR}Ϥ~(.`'d?0,/M`DY[b O-lC,C ^.GhQG>t5ѫ7Ep< DF$ eO{{ B[WɰttDwe6b_V/ʏE\F MGKɸ))}. Zx}EJ?2s"8{@a7Z8<8<^Cuy8bC،p^/hqmE1p~֗sѴLg+3I|iH5C$֓OM7{gXJI>L2#<=ԙO{U9f;y`S!=!'\!;ZUү*Hy l:7ʝH9gNMldMGtejKMpsd+R^ǃA)mK%,͈VMB!w3ZfivfO/=mƛ.8Q87@P "n$NEvkqj!X~Lژyy@i!"6XB$C yٵ&MDhm_l{oVƻ޶(6m1FaVkЁ~C/Q`<ǟ@[ E9VSo1=ϽdW*k -rK -rK-7Fvj|3(gE (O4p)j-A!&fd Eݬx{6;;,Ŋ0az$ڊ1j%D(&6 -Mv1v+nodQ}"H 9~݌-oQ̚"n$_iY7̂6zx7: feW9{eg#^yf=N]B23n V<Uj8請'1ק5}h?7=v.nH s,${e!YLdD7\ $)o6beBmRGpڀP`e :=.<1QdUsY_6FǗpl4nc˘EڕU9NUS8mzu:^؆_H蕽lcAw|m᫥Nk!4%K&.u?JT@Qp>D dYW}<ᲗGGIrݡLrc,[dI?ѣtqqCk0BY}`^ B=NES(d*%ƽ0.è2i%1`:K8;TٕPd6FqMʤœ6mլKRzpu!DU`7ۣ=u_hKX٘6:mQK97 "֕r ڰW\!m*I[9+BϙC" EZ.9ș-]#KL1)rzVaS*GB f2S$B4i#(iPIg|^C Tф .x 7ĒKΈk#R^ b+bWwޗO5,NAcSn=-3Zcprvi qR~H盓+`_iWszF{ݵLbOxr(P470{1*$y]1Jr<5[sLYJdhIixK4Qnԟ)Q͘Àƨ`-;NK|x I1v58z&CeO7~O'fTN.cYh:8<6ڈZ^BlDLqlw +pMi5zWeS`kv=B0?@vqK =z{pv?'xl:p:@VR,8d}1Vn: *GElk5Ds nvS,ܸYvцXT]M2bؑF^oqrpf2,=U@0k:6\v+@c޲>5vǼ NW '='ID9dN+BoVgiס= #: 7F "t}M);L<[=U64N'jKh*6Fe@ nD:i $3b8q•%ck55><GL_+k˫ze-7s7s7V=.=\Aaj#" b~OF(3VxA(?ߝN}K '}C9+]+bÕ%:.2UO-<.yN2{(%@ZvzP,Ȧ; Q0VW'JY T?eFb6ơ}3)U^LIP6-{r~U==we([q-[m Obq8Y_ӆ'dmī+i)k:fRAZUHBuf|NC8Q㣴|8RƯ2 fёlUO8(9Ac.;MfēBE&@Tx^L(SqFr;.mCkS)ӯQ $/{t_Fd1#S pz劦EqrZKC赟4蟟%j]Y|@j} lEˢ {:A76(lt e݀'$RtRx+F?ᄽ ^ >kwc4{|bb_]9 \_WB$HkV|@Q?Qэb ֕ey:`xXx-^*lJ΄#Nk8j7%"T.^&6ӀdF_!4v86,Y]3-f>MMa>W8_ 2:=" 05͠;-vp|PE݃c8>S~g8a,X__*Wv?Xp:rmy "5h͖mN;t|] ߥ1簠2 {OjuwZ4Ld2ɇۚ0J KĒ,J\1 nyC6NuTVoecTjdoP?mg7ƚth=6hk %Pz&=wقY IZe*Q@+W lIPMMVA/п4(k5SlM246Cib-EU.Hm,/i jWC6t0ɝJCRWv' q<bx,YSnuVJF'Z KfQXe<0.P+q,@0Xw:<{x}\ s5BF5jH>V^~|-@9a}-Ң_E8.&)]Jk>ՅM3%ɿXIE'Tq l,V6J.G V>[>E)f yaL8:`$|W)FW4//xU)W% cU\#3a+HvCC8%{Xe#ʝQYNț97uRQ \U-h)סMՕؑCmΛp̹BBU.):O(`-ZA}RwFfT% @,96bTJY|B.S9$HlR'iOo}0&TINV?aJ _bQ4lS ҃- κ{=eh?nBr꾡.V)N @V:zf0ERfUv *`Q ~o "b(Gɇt)v ,棲u!0 pÈѓ(4n ݮ< N[X6 &Zml!dt~v*%pQyxo fG_T#KP<]taO5W91݁CSp "WC& @gxi ĺ;(o'70Xm2fD,9L2 V*;#u9죉 "DSZxEfjY4hN?wa4S`e s$˴sD[4m鳄*|$2:~`Yc|a#1d42P;NepDܐc1SB2`)Ɓ_b(7,Մ!6mEeV _eCs}3h(&vDhLúDt䦎 r.SU7X;'b8pr wcLr \B욋SIg5ՅM`r tF ! b`J LFZ +P i½<}FhСpO1 0 T: A,ݔÈɡdtJ 6aB @lB*bC1t 'M|/۶ 'Jo*]b/ ^JvX"245gi 4Or3&#pCN#!6 tXsl8:0W!Pf/N+&!+KvI~! @!YSgE@M&6,(eSbI'Ą "UJ`k"+gNSs*YslmzjfLx06z:@H=AUw'Ph# Mg zYy=pMx2J#i>ddM D7h3˞)6Amш}aE0ۥG4nM,#Brf d;)xr @090٘B"87횚)bnIC|rJ5/!}H FT20i0xazpc+-RH۩;C:WmE0"Q JhoX?W7{V1#% ,2P>6+mdV N!LRҴzsX~0ABʞCDuYCcHKA>5Uc.+ qs\zSxKS#bdѾ A fE1 s1iq6E -K@b\.JrXW@klth8滑)h:2a}-B26ׄc^dWI"gBo|E3<ب=pq韄ڿɦ;!/90>?%SrcƗeAUKŽ'?:pCw9酋QW_tS=Mߊ߄{"*YuG/vIGﰔUWqVց c}rrlf8\/opj$}Ρf:] L`*p5FWXä1$a9d`5ǻH8"sx\vJVFk*6BdzqMLXvzFgQTF]-6MZY@X.1KѵΥ\ԀP2832(|uZ_Qڴ (۝h/u&|KlE=_abf(gn<͂: sISYGETy#L ħ OL=ѓ@AjUo)?6bGWFwۘ10zrH|ta*֬m̖4^Y!ݡhBʘ&YӝXyCX rO7BrI:-Y_8L֬PWbFtH oi4Ƅh )țSmͰˤk4ѳ"~Pc1mUD:Z=õ'!5{'ڃFIIRp=GTQϽ6Z*۽f >fQ4+I2% Zoad{I-?|CeESod:IuR}bJ+u>fnil֧vahO<7 xf!LЎZ慢Xv@[qETx^ݐaCf7uDGuѨK:WI2 ,9EV`#G. EoERh2iAZ\ɷ-a)]K3ghKn;;VHƻ\'>=zĹ\ǵ7) z:6-4uviu ,7ImۗmΫQT!#=#-O> yx7212c_ZSk9N QoHUG8%Hp1ysЕھ&2ظWoNvR%3}>"+< =vݞY5SSps*Oa^Д!!JQ_װP3uU^[D_‹Y[ Zx1C lq~-TmJ^AhY, ↼!OMmmeS lsX|s3kJʗRy]xEc? {WqM]EY`-Y,@];$xK'0 5MmK1g0u 3XCFZ Aǐ⻞oڞ=X pi;R8Te^i.((x-LS'μȴ.ҬK1ʪ~&);X,{:aaT Z?`rs)ǟ-Xp]"~D5lf(4PX޼`dH=C}6y$ Y< J6PNl( q&bͨ[ v*),Qis4|LK  D->ʏ:Ov#ӋR܌gqr򫢵:7_%=&RSu*gl-}FG,%|\Z[ ۇЩE5d21cfHT6 7ƃ2R7 TO@.mZmĨ?$̾` CϬ,i6{iK@<0o'1tgB!UUH`_p@mhMĦ1ڛb@C Tl&]eeQZ*?.IVdL &”M&`Tf1rVZOjk2]4$H"lv^߳3 tjj1.^~:+kV\999m?!"F\c~,>gP駛7PJ2ekTP>])ޤnrgoȢ-C ;j5šq;}~`q$_+ [κw޼:kcjݍ~}SXJ߫+ lԶ7cqu5{H#>߆9$±-,")C1[7BkPEj 3*IJ\e#Z$# <n盿~q_{s9r}3:׸u`L*ks%Dip;VdT`|l'#!-E Y9V"i#j̑hBZϝ3քoMւoH%seEE(Q=@oJt D@Zo#0 Q 3Ruvpl y=:ZIRo!-#.tᙴ\.Vj[I8g]UzxC*q0V%l_H ) JQ¾0ԴNT3 z2'bB۝L6q_?w+g# ԽurU{電~k0rrӀjͰAoٞ0׋ Y~>oElӧr|rO?'\r_[8C=S^[ y-yv^S CƻK020 #P'r$cڰF](Zq ($%uwBoZh_JUi:f =(wXxhK`;:0 7llR r%2(ՠǷ:`&ehv[ [?Ë O EkՍ*",]$B%l%9z@({ꬫwoPt")~\qKֳ(n%#~}׵ )>棐 D}Î]FI Z V;u՛ἅ!t񩛖0t&hnTҐ?9\,NC;I@\@\.{c%̶ }5s6^k,Cam@,~m=sd-wDixp材1bp(-{#z"H[_'_jĺyjg#x̺YSr6/ [ft'dx-]Ò\3&R,)&RL+O Bc553s*|farܳy܆gvCGPx@JSr#P0 ]bwxeLCFKZ8Ax~tZ-mdz* }P btR_ 5-˻p+ a#o@s+ FlI >*9nQv}Ɉo ht)3P8Vǵ7+i4nIKB{an9܅EyZU!tTfirڅjNKn"l\W0,!5d&-cjQcm&t>#>9'=9 ]'٬DC7~5wg9L1*l&vGD^L-Q $:)zEsQN.qN 72r0q#j?NaS`v~pF.F$㉖c}+1|4RSp0c2jr{f̅þS%}0 O&=ڂ=^q2 z-r s<{CӮwk`P'*>G#B]/ð$m6Ջ/^@Mt;0x ?Fa3[?\lQ[f<](T@{#zb1ES.OeYr+]Eg,BQOi+)դ&cYd&eӦ6 A7&櫆2V/; qG(cu0GdǝيKnƐG<]ǠJ" ͐B̫E%D,A71FXm.+- qEIIzvaRF68dWŰq }ZO[fœbe9no׎R(SKsL2j˧1ܬ䓽ůVRk߻YnA%h9Kk`nzXVA5Dv+eGC_k|On߹wn߹wn6m] OuHwjNB|KއޓrU  ]/zFҩHdE\槶gԠ,Je5:XeeH+m}Y^3h_Bj?3ϲeʲʚ݁9d!+_YKϲYVWҳrgY<_]GjfaHD)WEsv4sc<9bY嗔fVeWO9QP}~y[*QVYƪ_ƪUFeh>~ģr> [ ]ZXT(fճfF.)E ?^`NlKk>YPOѤmӿ9l zt1r'g>ы*fUAc,}hy14e!:4 |2.s],KFTՕ2rp(ny~ϊ{r5k=7d2KV]'urki'2%{ )~yǻj{IV(38QV%(EWK>/e';~ 熧Კn٨ٝE Zj=-c$6JVbYQ"V`em/u-pt.O5Ҽ+L(1͏*XGCOZΞ82x">_#ݸ~V6-|",x}nfR]] sy$cB'8v琶t=l*ǒMng2ŝ8%7>0&B{0 >bOXPIm%Sʠq7UJiw*VfMzuӗIN=+Oily89%hFfp'1=;?3g|)zf8U1Jn-hi$p,W,?=epfdחb0|__ ;n /y֦u|vi>B+= 2L>LD$xBMѠi7oSIOTcL(ap.ɧkM#y88;Fa{0-}:i>w~Frv,?}++V\gkr<|4 ڽ~ŇŇZIYAv3v:ewʸw>Nl=(;ރ3ܐ:-|·=ïUs>-{PrĹ{p>'o>'ïn>'{m>{l>&,"\qDb}x$jiY ~a?sKWɰt`EϹb (ZD?ea[vbsa~*hդ$11Z`0(}.H^|Oy/_ZK#V2P񏵽uSE=Z55ifEmbzEvyz9fyi-A N&1+zr3 ԇu2H).`b+DEA:Y1B{{s6)EFXA+z2RH,Mz*xQ;|]yGyGyG Pj39)G $Zv~c\C8$8qa#9ZGx/`osk,'4QfxbMG-Ofj&psVv.~0g;"GKqزHŷ.W{$Mw`ᨇJP!nzu9<]vfO@4.!~0E~ؼభh#<;l^y8*. Ŕ`龈^ʗ85dq!B^,S*9CtA>1—-ޜ~_̘ Ùa'bNٵYo,ckn5H#ޚ,.Oǯp{BItV1-^-^X$5[K EGbߪj?'O?'O?'A0