#!/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=7789f8e27d04d80b39f4669851d543ca # 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 d\{sHS$3)p_Ʊwdmmx]VFIq6Nw $Nnݨ*6t>}n9-sb;>U<{{bM/RUiU'Q3#3`p}柲? q "۩jNi^d f~`FU⺌,C;`S 5^dƇ1فcR0)$Yl_M=sje+j<(H@!hc Ig@ԏl&mX(2´O菢[R e,):|'- +?twNWJOeu.`'0zyP{:S =Dѱ RSuuzLkuOi5U/1]o^4YkwZZNouNYKU9њZTiNxUz}~Tz{vts M76*2Rm~4i^sV{@UvN天fՆS}if xZ2Q{WXu.IPZ,|V28EOm~qE_egNK\W{Z]Ys]*P H 3Ʌqi]tZ]a_A:SsM sQ;wdϡĮUH\b B$v %53]WiCx4]-445T^p@iZKXvʔƥFKp(I᢫KsSr8(v'?-I!ʂ;u{hWk-_cɇ?z/l{?[߱L_B7翳[y_[k͞TD \c?Su1,ۉAǷ"7fj&!YdF`ILם?S οA b]gJa!x8&<,qUpJrY b|@@8 :HP,Tt$(g\xrj,K ֣PwcVjWDv0 };=;8bM3C3A!D7'N}r/K:L60Py ʉ^h ͕?PTap olʙ\:^fn;-=ޒ4([תYz |.WKKR1&:EWӒkM3b>E--j{~ύikWɸ7j iaKuX̿Xnjrh`ک&lg2ջ%Y;| E owmEpkEX0{5.Xd?S'(* V$Jq7Bc7ʟ+5bB^#bxWbBeQ(TU )%q,[pJpWڭn4Sg6!+k@uؖRR#2"*M(P1GR5(l@ 4֦Vip}kB%~Mt +z8ZpoSaFԱ Qߘ7,GLwZZwI %a&-##5L| !^@~/R^Đ&oЈE8Dj\)Z߀PзU<\js @a+A}mX,!-6묪خt XV{XNٳg"1UC[x K3́KfUi5!cr^uJwlzs9qyHd`h4OH0&âj:*ڑAfT(HN VK ~~{SϟSiݠH"j>&xBL)ӲɁS?H_dpDRtz 3` lw\/X\y;v,6H9θ #񥬠i8CYqFi<58юs"ʇiK$d5挖ձt "ڽ[M8:£}X4bE[{~\-ɵGL |o:uZ 1 |<87c ϰ6g%UBDÜ_Y>o5 ixٜ;e&BZXGt;}$9S 6c(s2yǔ}%% tl&ύđ 8;/19 1\'|2}Zѽ+ nPz( O#M,(>/57z{gaHV Mꊏ\#U^xqYĨqH3%jR~wAn7_~UkV'՟VIdCPX~@)ŹGv&WZ7h&[%(*ED-Fl J A0G/R]em@Z-,㩥~q٘ N,'5Kuud^fR_6xa!95FırrOjͽ VDW_e<Rap)6q6&Ǭ:F!'źiMggtrEN?jDyX| x\8'JE xlVՒ2͒#"P#g粚n^AKUiqK?)5Ob}2sOW ²vD7574=0P=Ė2Y[UJ4l USu\Kyq9,.F%bye 8@,aUh 0_Vpa*Ϥldo0?)g_m 3JKبny!RTRĪtٷԓL((i~MWOjkWF8PS/Ԑ./59=ݡA%w\-&kc?.!VWke'a.c= { O~_<2ܳ #Vw4o7A%^f3B3BhώJ82ϾMl֐H6fflE6% >=?J8=?`-G ;;¬18B 2O~fDafmm$ɾ)x-a6 L lvߺB*@cm|7\"Jƞs<ӆ\"3##cEo%"܁Z@8|¥ThSpÉ`[Ko^iǏ;cT9;#dcX(rXD*T7H8~G0`@WR>೒kGgX!n%Rǯaī6aUeaX>媸`ܵS05\?oc0 9~30"Ah~Ř^hgeN9e}^2Lb$RkPUOfɤfZbX a}ޣ1=n@8#tF sŀI\BT3e2 CЇd@uЯJ>\`cv#Sj0=(J:BOӃ=;5~`]9DE>V;8;Er r{;ީ> tlQ%f㋏BǮ~L-"[#6oyCz4uo}Sр{lOdJP6W#r(cKۄrQ}uaA})ȇ/k cT,=r\kr2l*KjGIV7b Foq~+[@%c crUj;*guR;=>9;4TsV|0ʀ9eO|Hq(xL@n8.b5 W5V# fB :tBBFAp )EnuQ[_C҂&FxY ˲swv?uz {y¸+Q| +V}%\ʤO( fur A{o8ǯ #AZMP_ u \|[lL%}0y:d u:;G/^Qjaxe oe2oz nkڣ.iCؘaF~Zѻ++=^ܿ;u#ηc?fg=g߳Y,{-`3@`_0h\Ap+XA:5X me]hR%]K1\G(Lxg6pa+ZY/ '80k|S] 0Lf>Ėj ,Ub]#5^ſw_8kϷ'Y_S|ϟm}~C};E3Kԟ՗< ^ LK4sI QUD:a A >]y[. d_J +*AùFDX0wq~4Džs9弄ru;/߾"~udo9zEGU/tTaܴzxHfur^իhn>G }Oh~[~koH%.I@4W61?>STP|ii(u ?0Eƿlj'ȸq\4FZF1ЕV2i1F+޴x+iQ8$InbSPjY}'7)Ɩ$Y;Z4 0( hj %k~WN͹&F*u3=LU9S*twŦBM<+>u'J!IvwhlМ,RewNvMgs1Z#=2BM𥠩݂>ܵR]iMzAON?u# ?_bf *ٯǵvHYծے7}C~v[W_[_ݕvz@pcڼӄJT)ҡCoٟPT__ɷ$SfޛHߗ gBW.PR6%93J %QͷM]) E8 6ݾDQXtx}=Q/Qm.Eu+avr\J|#w%ʂo+Y8nt,UH8)oA&j\:ycU/G=7viT*S:c']Na2 Ĵ JtNLbIZ yKK%8gQ a$s2- PFo%>M\ }P>ZdӾf( G]9Z#(H1Z9z]%)ٲz>,VgXLtR1= IK ]:{ɪ o4$:BU(=U^mhp_?UzU?68=:%}􄼕9 ܩB_U@ClJ(](\J 0">Lʫ_QWIeW}yvӐw|8vƼi*K沽eQ4O3ӝɡS[Ӗ [R}"$M]H)T {SȲ61wzLtC~"&)KB`-uoNL2Oҁ W" e*٘۽\ElgBzSӚNin/ 7:{Vl12SZ:iR19fĂFL~:5̋DLLҩbRފ8M>Fo*tl>)U9PY,5*:TTkmP@7vf髦Iz}^RՃX釣 $ WIB22 n_,;F}/-hn?(a{VhWDF|,mG-kIPmL荺 #6AL ޠ2I/$}`o^4S~{t:5&O[1gQɨ/CaRh fe7>O]EzZ֡BMذ4߮ {7 X( uk2aɣKkHy`FfX0t`U5mU)!m/cl?eSV}ݹ@pW)kC=;!A0 =IMȯvzd^:+p8t_%rv>I,"]޼2N%ڄkr&wk/_euVĊG!ja5kȲ/t1P:;wwJi覾lvP+ډAfI| Ɣ#jӼ}gHUf:'5-*%z cc5eߤES̥m:+6&v-S|}.Bu Ο1N=c+tN? dlI,N3.)'8;eq+ ]?Ȍ{\;9;%pS}I~2svLo0nٷl:)oml9@|KENj2,UDfr!˾A-|75JYJW Rk~eϷTorJQcRh(y,ra΄1K9,Uf׀ӿoW\E*ۨh}l0_F"r$xrZ#yZ52uWDznoXJԑگ)inS]/=TmH!K@MS$%k#W_ܑWStjRG2HxSnM[2؜M2sW |;#p8T8tu芔ĘxCGu6E .%3H!>u~&`MmG7#yAxh}e!G +_h(DO_[~ԛ[Bz0U]JsK ǣkiBWgPc/zu_WFxf/~ a&(sCKW"``< o2/٤SWi$FSI;pDXIFLsPvw j#Zin7ˋ"w{!;wk6澜6,~'c6C\ LDB@[N|:emjmgꚒ[՗唱\ ͦΜYz G:' g&lL\}qzl&F5ՄmvźO#o\}~ jjj;6(üpWMx@ +xm@ RHG+-YFmDU$|=V&DA/4W,d1a)Kmqv zZ٣NVZ}&W;(Lxs(znܬ!97'_ ̺Ds/g;g-MǷZWs&,#0 3|5Pƈ鍕Qa$oӽWg';g op׵@)-G-D%Bj([Hu, J@B/)y yt#" 5Gm#SYm ݟp^'vW/׽aԿ`9>y+߮m?Mݓ7ntd6T4w朢8.U*K+s6+IZ_ֶ❳}]DLhfW/bY5Uz#S\Uwp{_,y˸*}BIi;j֡}ʛfP; t.L^tET vj5zU6χGV"G?ʳgvj.@F5eVycp  /_FOA1|Mc7l"nެ77cWDsУcfl} ze\aSNa{W7W"6ڴA|`8߅6A調w۽OrSoPr\^Iz5fx޵U+ :z黍;4r 4 ? jP->>{}Vď p-(.2 ŷz& ŗyLWnwx7kp‘dak{}W.NYF[y=d@ * FI/9AW_'xО-k% yz WGѿ_bHoLԌtiQz:E`̧ `00V1jL|x 5Bŧ-B- R[ otdr#C4hӂ%Dn{G'&^6\ >B?%JA9ᚇI漾4Yk+9I3!՗yw4+~$![L36y=G^V}e3c:N:l7V\83m>Oɏ9c.:,h[D/~l( 1]̯1I'(|P["8M`dM0cJa *W~Ŀ͌C/ta>Oķ-h}ZV#"r8toSo@2Elj(!Ĺ+s&/6 <7*CH3$ɖ 7^V8|爱[lw ŸSI{Q@'/.Q,+EA] h2KId/'-~׍Üר>R")zĬP~v9>JZld:.;11S!N ݕ¥hUIË"wa = 0HtW&]6x.R_lAyʅ0LZ[dd6e/;J8 {"(oajn*n8QontYmߋ_a܈D%&)d*n0%0TAnR a4)˙I`Ɋk~*'V/v+Ԫ#g7Y5tLOJD$()@Nf:%;+{9s<ۭ=OK5ܘ~c sVj+; |^ϛ wu k]*@n욠^9JIA@︰~TETRHM uK=~$(Hҩ@!(Ap7$(9 .s=*&eliixd%Il}֌zpURa> *utbteH7F?> )cji^7D @_I>d%t#=Po)obV.u]ddw;?#ǣVO{=g3{3sU&!bym!TrFLw. /Ib`c; !-_vKٮa!0:J;-GN0 MSjΥ D%y*AUFK7K'?C#'&`u?U zj-=%C0RK<.8CޭVaDF穩AL3~%d}\}]/9)S{j ;r!r{x9OX?zuT#v^]a9XM35~*Pt%mtTXN&͝JQӯEhA4&\k7ǙL!caSRI|u!ZagVXRsӅ6fnr.:Ș fSG_ 1xFZ`.:/:CV WODW_=9,r΍6.ks&6m6δ8iΠ4>5lŤ`eW(DZ#"0/P.ڜ cvSRӑ دYRieV zz#U @'2?/NBE׊,6Z5='. ^Jr6%)Tu8 _cO=VPr_𧺤/.b-Qh~!@\=QA^|YGyx홚8䙬kCaAxCQ&IfѨ-pI:7aR 1s?|*~{wVNf$Y.56t>DV=YlSFڹ6bLvq ދ*6u-uqӿ0b 0tJ'Ũs}|;RXXFj1}@э~$x xoZ Aw Z]{=B'?̀``.vKܺ^01-n4MWVnW~8?5Z9TwnM$3nF/蔸$V+A.DNUV*oJ ipf!V B#r@g\b]bdGaRh1!A338NL%~}LnmhtE~dDkE#zvKvpY:3\>ׯvF1]oZhNG B^.K4͝ޏz=|uL#3[]F_j9Dg]qn"DǛ LXR81k賢i9Q1ҋ*4-ϑxb@_Ru _)M=sk%՘Y Se`^1 22n  pE/g ˻t,Q8k ۇԭa̩ygCZTįMLcU^fg_p҉gu8#g/Z-: JR: $Z5Ye 2W^Qsc(7";(Hg $hniG[Z Z2/Dܣk)Er0[M_D1#\7pT*33g3{=7o@n&m`'MYK. (\h@~qg qoܧR= [(cTP 9?O q(*"@k1;\bxlu_y(.?5y-D(+5^bnS%e 4"gwACEvowwVwocZw\fZ᷾%zy辜{vmďI/%pʌg ] i.#갔4);#`z:\HP&4nrPڍ61` ҙ `U@3pb8)ukI<9g2-`hhj] Gsb2ieV? rkv]gB~2`C݈n% :/㥈G4G'KE¶Em6=9t N]-90N iRY"sF=J QERSyJ-lI}TV%mX#!hv,ۚYSÚ[y>+"bNx'5fq[ce9fґ*!B?F ltɐo hxh@~^QGXDC-d7QX’>|u/q{UF328BT˒H'ۂ3K"5o H;I3M_J6׵ 9wC6FNu})fa:nG6-ѕ}Sd {ć3Fh,f/~d "Cqd4}\G}rv|Ff N,AӤ捬ޠi„e ˃zH? )bϰ[_O@Dt1V4c%Wnۋ7CQxLw1 .ZcO.Q)҇w11FM0ɢM3"ǖVRO,yzG_)*oG|Xecj UթG.M9.&MhQi,E@N7{ۅЅ)k'Prޓ UNzoiԿU,X'=c׽8o8zepUGpR:!}Y)͛C|5X$?jOW]rk\?zW}ϥndDXvFpa)غ\ ]K#۹^Z06OUY]YTZ19WszU<dZDq*~s\?˘v<|/ g~$t)Pt'p~=c_q({%GzVO9-q&ukʖ;IN+/I=7b_GXտn̚pm'){;I/xۣk .iڽv d Er:m}H>@MN1{^;V1inէy)cr2%xwî"aa}/>JFdD_~֞c$YD$xMQn5>eΥ6XPXafp>'kFLg<t'xw[Go:o{'O|]~30ά3;ά3X}govϸkZ`cUĕȁ`LV ( d9v` N䡆D݄δa,tD2fiM8L#`q4> x)0yZ#<^!4ԖRL)(U: EHsi2 3vow>'"3X wAyifɸS!* 0 iYܼn j8=<Ja]Fkz,ǭN)}TLяK4xĶ`77%gYߞ"߁ *DE 4CS-raZѸNpST42H#Ь 4rO? 36HKDŽ18{Sym&S7hf6YBs51vQbH06U}ˋT7l* !jaRf&ɪi<lC,T tOFД괺%^̪⤛&0+;$:h < 㳨?z>J22u/og.1*y탌AԂDFnAUyqd7NT8E/nT2B N'}d73M j"9"H' ل   [ND48&(B.y{M4y>DC_c5g~1 `v†o7#L\a!93Iqi=G#>vq.ҋv.ĝGEd3I YEvn"br9GтᷦJXlJHw[ x:DւQ[AKh,{)&0}7Y6+9mӷ[jrO* 'Y#W+n*@(_C <󔾃׭\)&a9;gsR+Niр|тXz@(%pXt-1;> 1l˂Ƃ ěZ"݌ \"P-Gj^0EQgw?[[]yR|hY /2yYYjg_ڱ4AA,wq七ywH燯y!|apP2mx..i9U] YIF7R\zm}"~҄l*+< HLHʟoFA,V,g# oS& Fsyg~1`n آ^.|+PHHG 3[Cn6bAllOO*Iu^7rmEg"%9IhBSуJ[DU'35q@&%,o h7(t?e&t Mor֖:tSw4Xz||vRRJU %EH@ lď +$0F;[҃֏9ߞQ`j:'ӨEۅW&.ơTͫBQ@G;ގ*Gm`c|4jή5S>դ밋TguԢzcb*_hŖBP]|ۜJgW^qSpL+B?}p7acIxD+Hz@k)!]gƇVBpX=*d} PSòga NnZ]%TPk бS͹Z~+!["I D3T *Answn6O33lxͱS%e] "CxI[ViN#&K.20dʸ ABu<I%>9 E3u1B۞:(玣+؎J/%K5jLדf?57[Y8Sqj;}a1Ovz}rviH=X̦#0Aj)&!жEȓh"(~9L+S ] ^ f{ /e4틄,0C4'-3< C7]HQPAir (ϰ(Ui`GpO.RbU.x@z.YխNl5FMsMsByZRp+G#D7ILZ)ǭϺ hޢAlR|H$ 'k”P~'v+W!1@ّC,dPR,ҢEO!7|rin̬GA;r΂@O pAӳnIO)#aM4G|&=eDrrȂN=m)G":sVNHG|L 4GJ\K1# >zOM:tL,֓3k@3o3&^az %v^ޣv80bEQRS,}ƴ=8O7IQ[;<>/\j{etМ7#}anPs֪mrQLS>墒֣N*;E%5֨wqQm_E.[l|^\b#h$)峱߅9ubh}M "{}F:VivqT(Gaߊ,,P=H37äzGңC7m;ǚ{Q9|5DH>{qTk%^L:OX E}djB9#fj*5 bO| VD^:IgA,2->ߕacKC5-GvLTOQz@^Ku7"K5eKыU2PU)ՎwlQ\.Zj \I{nxq+Õa!\3l>l fFP9A)bV )ҔV382-$czɻa7PfVmw1wTLLriy.˸m ! VdBV$$>53ךqs[%U=6yâ&QrWΔ5Fߵk$+y'C%.,HJ(R[͂+\m\3yzWY-SFRInS~v CEgdiw|-RO~OV*Yf?Y,g3̐`B2r }ʊsTnQ\vBaDp E)1+z70&Wdx\ "6[Y=a" )>u(!+ڱ*$T_;lGg6zRppzmVqk/^~y'Tud2LA~;UAmV/SȶYjcGhI-K4ZHw9{PܶBL@+e?Xж6c 4 zEkTb5MN/",PGTYDRABc$:P1EaY 0r}K#5ێ{`?_ԻҬ}Pk˽W.n}/wS}w;J T#Ԭ,:R ~>p:*͔Gsw`_5;$tjuBTO1oVsY6v}YhsEU|7R.s" 0yp b`4K&Q e2=|Q!tL19~{scߢ9?L%2ͿU;xo:;$iFL.Whze80eʱnj]fjZIBi+m Z)kŢy n:J^3AȪzqiwI~Y͌XP}l3@㠧@ ͯiw-~s M!fP:ۄfib]e oߣ!\slxu7n>L o [oN),7X ʆWP3(œ5 ìQ@ X:0-J#6{trk#AH䝑; =4L0M/u)i㲼GsqU0k]S1\FՋ!7OHˋs2#_BSkU>uZعd Z,y:He  ehOɓ ?V~\]'߲Sq?=g8euu3x8Xhu js[T!buZ xEvDE&~кa=;rwW z=ZG?_^ރ.pq{xn='_ޓo{qm{xOmDZ BXD$*OwNbѭm񹿭̕[泖4vzU{wO0\>w^,ӳC;~*>>}ߝ9SLyYŷpGsS/QdT}Lnv{3Yb+arh95HfDaF.7K"y\݌(Z~>?%Vlbnk.PtB8ն>S=1׸OvtopZ/ƭvsy; so~SIͽpplDg:wozUp҉Sܨs(!t~3抗bޚvVĬ~.v"$dЧXp4bj5wx |e_ sW-s hxbhafl8xbd~>؆ Cv-  8 %3^|y;5@A8%?_?ې,_\m&}x-crSvPu[ #wDiVyq Eo*\|x Lv 1QqqUUMÈx] "Kcq7V!QS(]5LG#IpK Nc`pn@S?c;wUSz B>f\L(|f{}oEZ,ryܵٳ0?0?=Z+@AM0M:yBN[ Z d "2yd)))lN"%LȂws"=V(`I/Udp3bJ"c+IOq ,F ZS̼Q"]3PVbQL#r¾U\Q8F LkboV%%<ǔr~J/̠xsG*ړ{ `{*K+sųOQӶp zpiX-]XLi궖{kP3ہg`8]0