#!/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=70839e97e71161050a08b5cee4f2629a # 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 ]$[ϙu%UvWN,WF{vWzR߯v^U+RLEtW݃pM7tu= HY$J]*Dqjì7w==\L$& 'wKͲ8Դ $cO]xe#cѽ{2q_"`J\w 5 FDt9fVP=2C0Cm,cZ$lFw-B2ĝD< ` LV8!!qˠ%|b>DK3D [f+a&41 `DC,abF@6mÅznKͳ ARH.jD3`a~H]ɘ!@. mx%\Y`&0 b4WNOhN 42Xjyh^74ᙢw22ABi-r|2iWlHz Ӟʃ?Tz"l%h`qEȽ"F]}(3Y1 U$PETKYIW>m+r)|\*\mSTPi0:bvgQ'i#.m% Z 2!Jh6LuͳP(N,ƞXlcI*{Jc0Z:7z %RU"s Yӏ,QQF9k/eX]ۣ/ GC4hPgHC푆h$ IeE:eZٽҌvY ^[lR@2Rܮhc!-y~h(v B9Z9>->%LkJ$k7eo`Sz7 VȑSܘ; +Q|5_c ?}Yg; O2r&0YxRj[$&}[iHJys3ƃc0ȭk$4ӜDpvյv B6b^~߂<d( քC(;[ {y|lF;" m}! 3r ky

(]~A~ٮq񇟁7}θ/R+`y $&~?zAZ:/GkLl N/Y%3hl^k} =ἂ.*LBl nSHx8E}?:~ia %00~=P@xC@L LrRj}"Arlː^-5DZׇ=,oe^UNai2X~^0@D뙅PR̂wrUYƋIriaFT~̮X3G0}?;毇\: %b`p'0E!B0ECm[R@eNG U%'#xRh\,acH^bbIRE1FA23M[=F?BDAܶܔi-Q#5B9mxq!E&8QXM̶XzP\b҄2qI":T@9䘁}e[ǧ ?t^^N6YXz*@n ,12W8Hh4n'))Oޓth(\gU=τYrtkXfT xi|04> H:dɃšqXF/t :p? ,lsdIh_wr_/CU;+d /||}VRĪDlZȃדSOvE3pQS-w1.$ˬ*xtȌn-U+᭵^Tj> UGYrmGLtb%!?Cm6Bx(=0b}:"J%<եhI=&:䈛'd!ePI%QxN':0Sv(`]`(>mike8v> t O^1,/{7dvq_bJ`+lc"A>bz˞aIFxƏ%|}7ã ĸX-wNc _Kx6Ce֛I݃el%yit.p+pE%+XWbcDqdt!k, U* jاZRjXi5)Ҽݸ-m֠墴+XNZ?&#<0 izscSX!{H\8W5xO>F9ҤfSӟaӻXfYŝ-ClCt81a VK$7 PIsӽJ iF͡ Ts!!w Rsu(Ḱ#Kj{s "v 6RDR0N4p9M@ܓ54IIcL@Z򫡷fsB5 ISk6G}NkyB~yŬ /./smB*7N(|j [˝V 6H8bT .zj嫮A{ vD "4#5A_L[^} ,$Hn,(d!DU(]w&x=]@EC |ziF]\gizܚV(h6ʨiE쫯8 19G8-Fr܆dT^J}sէtOzKT;al!c#{С1]8k~XL@52zS\_!HlG sZ%? xr:5FWu=)l<$Gb%xpiñoP[+>\3ܗXp|w=r޲J%Ybf?Q+%MT? @>M;ԅgvW NR)ܟ%\D㗙q'E-*39(fQUhT*4!x JC_0Fq [ɉmn3ǃ~WaO ֨=R𘉎Q\R[?IPc-nY13>eσ?Z27v`G%9QVyZ,>H!Dѻ z2TBǧE+ɍՔ~M\]}唭Ucg-"%)-O~3ΥWO7njӾmrHO6 `dmjXI,:j.Ϻr3|vƼYTg kK~~E $`|t[-th08ok󮒰+剑<Zoli+۲~o0Rkjtڷy.grr9xw>ZqŁ!G~ldy~̠oL?Ck?o<2~gCh1J(GU>w0n\y:twƺf8R_ ߇ll_k33L;3L;; ILVWD@7[& (bJPz4=>}eW6)\}QF~ʇx[eRKEke9o-e&v:lJN[:t:>+>ؑ} !B8Ż#8 ~FFY*%093 ] tsEjh$Ta\fj6R^;K4ɼ?\D( L>1C/f¢dgiea^щT%D-1#x-Fҽ<ă [3㴰D>ݑPZ:<\Vk$j .ҐQ4Tf(d9Ւ$)KP6LA@{Nx6& 2N؃jTZ D FeV$ ҅=T^Xr&/ feJj Z1PSLHT*PVPE`ڥ'TCm#JeBT=^wz' 5[?J_EJ* 4$X9M f?Go =*4X ]vNwc ^`іA*NIS#` *S '79 IchFRw r5|+lu1y(CXo"4U-hht| -'=I@I&kΆx]-kZvY ÄIg&2,ƨb_Qj3馚F̧-I5ς- 4,k5xEoV:2&ȴE\LB0HhwBpz(A!&{Z%Dp€Sl*De q𑭳g767^MSӜM }+Oh׍IF<0N08i},Kw2alh8د>kɋMY"B  9OQxQv#] 6]fR\] ]ˢ4F@KSCRڀ{8 O>dAf^iޛ0Z=^Z(_e+QHNVyDU,acR$jO`6AG?Џh > 2 EopZT2{:Ut`$ i6 F#u UuXqنOD.Pl:%p3Dk}jjn`sͦńOtufu7A<~i463v]jx8|Ҵ @N`GZ`&jᔀ[M,㉋(| 6ma:l@5΍_#wYϙPZRO3va,xCRx<\'k尗hYB!HaqpuzL(=FD?C?ŐEa$$?u^m7yo=բpaw1D(+Ş;??!{rLJoUM_F]GJ _mUvOڔ$L/t֙c5:S6O(|}RPƤ7 w>S4;oIwBm=cQ$_]_rY鏏j9q@c08& Si;wAP9c4anouB{.sU~ ލ>2V̻FmQ핔U'z' iIPbºpK,㱼?, ݧ y;ײtDyǨoECQSٌ)ddf?ȶa}i "n۝UȎLN9&l\ZZncC5/5)pK恹uzɰA~ c4uT%g55|?e$ АK. et-r,u's %2(CcƬ6s#/̕;Oa-N(q "_S$4[;nuN2siAP:#[U.FT CnKAC 9Qd))x#ОMcI )o%h(Y> 7a>?kgZ%9 0pRvm+UU~^GeiV+n7^WT7?ϩT9*_FMRM;ȪPqNab`RߕBpZVwC[D.5T\{,JdrMc_:aNFx;KkT^Ujj mV$$T~uu$iz>6tgLw6NK% CCEF%x2K#[5\35adgӌT )*(Sӝ'Z /mh-ưd3 o av٥OӐn)r1!9tzdhvSrȜMJrrJwUovcN1?htid\b?}#+=-h핢X x/^8ZdH47YBpϗ1/N4@pGH-~4ZB zoEWA؅ׁ/2GcϨ_8*SO^Q &;` DPGԅXB':3D9kxsED /C; <&u+o߁=*=W.Mp ip3<E%ԢwO}.\/q w-ӣxfm^AidFq6f5DUL=r޺(4vr/e([(5}&ה@U]e  _T J?7K Ù# #c0)~WTman4•pX1"yv[kWڀ%1BRHG+5Y &Wyw[E\f2GĹ,op*jiEg <}3Խi/^BY=ܜ|6 8  5P^%Z\`t|;@mbC脚$D&fecBqQ!$V7~ApH*ه6ms6i !5l~BMk<˚ D D_7B%X1‰ ,w:S*Lv^%M3SZimiGrҋO^W{h_F/`=Go{h/ .J& '/tSˍMR%Jnkihe=Ɩy }o}"dy*!n -%ON1jxeT/UVtd b@q tW&`:ތQv [L7dZX[BzH58BMoݵ  nxlX^$dG}x, G9!nOղk-4A9eeHKC 5eJN Z(@Q"@SO)kČiOwIbҼ`r4V^3Վ߻. .oC'd| eY1c {n63Y.v+ [ g#N%Z优L!EM&u #4l~!-f~MW>'E-^SSB7qʨ?"D0Id67M0;! ?!"TuK?qtBM鳺%bL6rO,c xh^NN$^} A k4/'WghŎDYР9_E SnaGJB^?L"j@B@7+RU"(3[FCD=~x^ B7^o֢dJ웤|s\/=Tap+ͽǡW[ǨdD9~UIMXytCm1te9Ux=By6*rx ݓ+3!RY{0)Uh&,?own%s ;:F' ,R4ɼ6\0a9;\f$IRU :(ԈWV,;y\Šk{5>JiIS淁kNfinK41 ];FYEfw1Mhh2~L@%Yd3>7͠ ϒ̎?\r1l綍kjB4G6K1E. ͎Pe* ;]EolBS~hqCUCUME-ϳ] 6s41&NA˗zu/C$f-Hdljr[1 k*PL-6P jIMpqwWaSV\[A9yDR”lbq(). P 27eA)N,9x)Xg?; Yҹt :g- jۧ1MO_Y .~E'$\%bgEQ^aHR,hpGAv>]zrm]ZJUzg+mdS |TհTRڰ$KV` V1(%Ƀa4ZCTsI mV]^TSPu}lL򮀁J G/J`d{*+Y 潱{?&Gx>ܨU.>Q<+d89:PUa@B T)Q\E -h9h6ihT#$g<~DgKۋ`e;=c5c'Uܿ,׶&ƁCA쩖\2yhp%+'#3YI6}-?\$VBHTt;Nze^>P݁5z6hE\`N9!l5JE쫎Xjm&,<Ӝ[gWtGD.|D&:YY/% K vBLDzhCP>Շ%G-b0Μ0 ^Z:% 2;MLUՔȎ'wG4l g|byx+eo]pZ^Hϕkhr"}v("53l٘F؉ZAȊh/vfYslcsIOBNQ% _ )r܈t$c˶md|='1k7Igw nMnqKAwө˸7 `q4t{K; ep|$LU'׮<޷TirUWE{ΧN~۳A9d1;VӸ{=klFV^ӽuBu;.;XxqzܘnFt_=)d*26@7B(G9!Z]mXFZ{}J9E'c}uSsuv^NPa(>{ЬK kɄ3|ɿH^,!%&:b9%Hv {-PdY,qí:#/$֥҅O;?g{X4ʐh#4vbBjqxO({uXm1FsFvl=Ď o-\K׃*N~x0$0 l#['h]:HB?xeQ? s*7z-}R4-%*ǖVlP>GZy# S[|e $L ?Wmr'=d5/# 2w>!u(nJAakFE,qh?9 ̖菳j:R"e85]XFY2E]EEmvYU'y>uuXvrj. dۇ/sdq\FYpQC(>$zf4c{Q5h L^ht-$)DhEKd@8Μe>+(_08"{KkP0S5u^7%9PWNb8]aRFeջNFucc:eG/:==.G/|mO fOq<(R(2㕸Tzyz4/!EvЈoo.?ﵕU{K|f3{f=g3̸ϻ=;mR)^O}t-ưG\ YQX3TE\s ;g 1 ŗooq[ƒ0h^:@O_,ޛЛ 0,ePWd><5N5WO+lr,e*ݩ2 {SeX3SeX7i@E86'q%÷6U.gq,4 jKm``O++Egj)opS(`9w떀W8htD^B9 -%T٠GRdXH+Ƣ8fU-n'nV//$F}4h§'6jЉ{m}Iaf[ZOʦ $ىbFshsknx >tŇcД/{|A<&//@|f0NZf%)vw%lPf dLE"V FR:[μ`*M5GY>00`1oem_OF،̸b7Uٝm}V;4νw:nkzig 8=5Cpȵc³nL Fh@/j:/o LɊ (0 ԉ.TsS/lf]{0BZ #]" V\ezݼ̚~|R斄&*9#>&x~51u%JM @瓴%/pzY/{W-v-s<ϬY_{ГVX6Ax>fgM`.PP1yAFloQ#rUleC!&GsBถX& NUmvr܈_0TS)rۍDe\8V#Q3q[pfݮ:g5Ge&U{NH؊.&mau*z Im7K $Āh`"\NC~.V6lV|C΄~E4ح@k gGpRahC>VTC%~/-psaA4>)dǁx410;</9S!DDH ?N˂MRQ 71_y0Tnvv*h0Z*(3]Xzh 2T3}rq{ 'b-S $W)3 g- sxJIRNɬ:`@9Gd,udO>8?56n}8B4wYDq;#\)M) ,E'?^ָUp髓d8n^1ቄ`a*Her?dMKtP[E'jaW.$nB3Af_o]%Nd btAO~rs|zI=Xmfw@qr#?*}-eo!E0#<\L8(d3ө0%4Jw:?fˆ'cslpV'AՇ?j(J`X8Ҹ?p"ǙuUT8,+U ٠M@tYNe2ڿډs47Gt 6s2ͷ#OAK1_d 6Ey6Ǵ@Gd 4YN8=Ht8ͱ+%F xX:";9m WM&0;!&(P/~cBzcMH@ϔ}q$fLC?*@g;TYIꈲS)%Yad1 &18 wx|^j,q*S/K0攙b֪mKruKy"*QʎxQ%z5ƠgX `,2hD.6%= C ԶOƪ~ rr0o? B\|isn SǠu_r"p/拋{)g$R!5[|b?E qnOɘ5*Ãr6j3ok#U% ̍of]Óu0U59@{}E굘耖+}Ҽwߒ#:* E}z!٢ŵi"HQ,'jOh#LN\0xWWH\,Zkj\I%{,~ګxi;ǔa1^҃ ZJY]HgycEOJX⡃!n)%QpymuWb KsKĴr(u^^pϹ*o<#O:)xe8'>53jZI~-XZ )弾DՖ+$b+/P DIE)Y\ ИH,mU扽h3\/k6cuH|g3f?3gq:ɀQڽf {Tz[W<.p j ;˝` M~-j4[@;qolyDFw# 18^p l /!UݱWԴSMN'9>(NQ9'ᓹjmebv?/(z>2F<|T*{Hy╣Kq{^~V~]Z2w5gP ֈ1 u PTa%+ERvZ Y#B)^&Oeou|k{~;5k#x;Pnt'ɷQS ׯG͇ 0DQ;t/Eء1PtJ4!b&qory1 'ђ'p={ys`gC%{Ձ?L$sy/CRDa5v0wZ[Y{]eݼWyKv$ܡpe(BtwPIaң;8}Nnhc,(kB"A>S|D{5JKJT%x . " }FblaɓʯS9cW*;БZh#6ʪϚnCl.9A,x(HW Y a%"ek'ֿ͆qX0+cxCÂ٠|j@j,&& G,lL?pK[ڎoE;$l;geoIӆ%t7t輪;c/r P/]Q) N2yt{_%I_l%:ZY<t/nvv=*)e2R_ßeYs@V+|XÖ{==]]R,{ fMYc# >rP zD8DAD};xcLI Ipȡ\F9khX77 >o6 ެ2P|.ʹ)>a+=EU&rz:e(3q?;$ȼbz X@NwXGJb 4zH oxn1Y8  û773/g3{f=?w7e=wbZȲduU0koQ޸R.Hf%3T0^!4AB{yNO`o"3DpbŴTK(&A3M*eǚ ^K@"~tK4 q"F+ 6,L]q5ƽ\^]"BQm%V:fNzfg4z#mR_7ڣ"E1b a<_]#|l&r=;hy¬&)) $XoIsO/Hݥ싦Vk6g#CMjG]LvycTQNG/*VLli(+TMC֜fCΗ&`HK \~ ؄<Ûpqf&j9?<&'02Ս 0eM*;UԸ@GhraU ei*0p$p&›R]6 l4nc+aq- ؉x56慇QSut5c [kYf1!c ~ qd)a)сEmI%SNtlt M VP0- IN!D lEd]/Breo{tn-pl:Y^3爝cq^Xn^y&(A5D.,6Tz$r2vQ$ ǹ%lϋ1%ܒO.2@sM+s m므 $ $|2v.z&' xV$n Cf?x6u! o.Q4}K)8`UcHE &9K߇]8K綫}:"njSW 1-er7f\#y{|*rD!.TW͍r/NWf}i˜0(P%Yf9 a)~T/"J t1¶0C,f"'Q>_::\!N+4'e<^JOx0U ~kbni*O(fʲUTwʆYf7N$۪ `F,I!:~(gE1b(@p--Ury0 *d#"ll`%GVqtX0,pGAc a S$t+7S)sOkCKKQ_75unh;EgyYkV 7wF("*txEzjHaY]^a PwqS-Zhu.z_5L\1<֎Qn+ڭ=n&^7#(-i+e;ؘM|9 @`1`{gauQwiF t]GiBDIsA{qВ' p)Á-AmImkp``cl-r ڽ"bTL#qbƀYUGs{5d;߳O|opkuӷ?B4̶,\ ]C[͜~2OD@n"uAǼ1=ia}r 1\hg\ץǝH79Ӝ7ᒌ̔ɣWU"hM`sE铸|i}PZjZdqK]mAĬo=Ze CgŠqItlO@8X>W 2~H)TMwp OHJq. Lʠ"D`\`S6#S_b߃DZmX~d \גClu{H(;D H5_0j_E{bQKf罁L^;6ѰE J׍BǦ^gdaȸ `Mw#ƺ7D}PbOUx\8 lWrtQUq\@n3uݓ?w/kF)=jDIr<lHфY0^}*Y ]h''Vs˲"GJ{./ZP냻JY:W#扅G Mǥ9 xp!MyDLZ(rлxxqg`}MK9ϻg/ӽ7/ߨYYTER!xH5ˆzo2`YT3HpZ}E!GwV^._]_:|lưS uo|ڀ3/g3{=^6Aҝ{I=vS :ic.gQ?Q~6 (rfu\κ]K cqvh40jy1c͙jz5Ě:}wWGXAǜxC~9gK~{E?dE?ßG;}yJߟw^ԶW88;{EVѬv~LjиSvMo$ZE$sT9@oZ7RKT UoXQ;4.AE=[Ljgᤂ 8ǘ+_yK'Z; C^:(kq/s߯o.tI^;8'kgD*?޵{6 "A3-&gUym7H V2I㦺̝3քoMւo8J~GP F=2Z: 40}gzLTZzNk4dhsXPf"̚qMJΆwVO/6SzT6~r%(oyU5Fmj_pݮDS[?ԫQsPI#jZex '"t&. M;SG>ԀZ:N:9s ZT7ݜ=ۺ1ڸ#xUV)8"48sapfa~ZJP?&hI?Aw7(Lߞ~cAΏ!?;aಢ)^׷bGo'/>z~[N }\|ՄJjSCF=a7Y^nMx%w6h9@-7׉VY$?gs rи ?xWW_?{`]κ||(7.i7VVV"ڍd00Q!jT(<߅Qw`@qt^mAMOUt܏9h9߁]8߁)8ߍ~7v)7ߑn6ߑf(6`+SRA6G\,$4랷/}tloCb@?dG?<4i@TT|v\2]1T1Z(7/[f'uMyi(/=WNF'*f<,S1߼˯ Q $8'3<6/T~9 PH kzLm"/ݟľ q7UZZK *N;5xk{}meZO"dy5˞q3.{eϸ}+.ݎTR7C]sɅX:"cmjs Yy=)M9$w' -o2 6й5dn_4a"7P?CS?s+sɯꆪz1oqQ8B>y''.et:WǼj| Mٷ H Hp,IXP dh,S$6xtG@G3qc 6ޗƒ;وx G^"T.O}Y*OqW z+.r)^Ȏ|V/H, Rl\&a9ArAbK\\Y=K5JLtr cO1՝`ʡ_2i]/n>>2w\Gw^ύ?_#FVk+sӝxRm:.]סXr9m/# =)gF[fg}B0