#!/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=365a60c2a9f6b626183e49d91dab4cf6 # 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 ^^\{SȲ${82# TA଱>I6J%EL '{?6s/ F=====s<?[}{oyW;{w^!OlG >8#~7ww?m' ZU]bFpF0/ HcGmTǀ^D ls,é 薍h'/0piz#ϡj̎8h% w, =~$;?~ N10nSXmDY8R29 `0Y}^-bX&k@~&W u|ۛB0%Lԝp?FTrA 7tS$ZMXDlj'IH+c;hdCмahq,\gCs3m͎?Mzlz>0Yۆp`_ {f_otÌ5ydpSvf`yZu^ uvI>xotuz&)Qvsؤ iP .C׭b퀜M&58a7Q5Lj4DU0O#"qV\YW?z`z0` 8.H uR4-+3NX@%9iH!յΤi+T*^sy$ 7TŠ[' gseyl TͲobtMoں9n؄HfReug0~5^G܇Qۯ_t2ɒs4eY77e tor6;0{*O9}{#RZXܓoobS|Q`;};7!lVY[ k 9r#L/g`8c;kB'sS;w"TWK&^4Zx{}^2;(̦]nB0y ~QDpNBI.9K@¨C9TNSiTu4+88Qy H䅆' !0@1GS,d;xwN<m0-Scv|fe2Bq(wN e3. 1N&_c@l>3,EHǃ\3Cǎ";Hna^ػ,jrRXL\)u^Fg7ҕI`i#cD/ӾЈe/oN8=N>NG`whWovv ^mln1= _7#@0RBGI+Dy8P R*|T*9R9K%EK%Kz|?b L2FMw%|;l 7%~<rЩ9(Vј&bhxK1d5YkbҸn8i[9N>?S/иJJ-Ū~E֡ \6+ }y&){o_b{yP:辳dۻXnA!4஘MR3$Udk7 !Lvݨ0Pv5q,zYqڶȁ<* }q۽w ZT {>U!1!0L$) ]{Q5^8f hFb𿾋Wc_ vkgQfmDPk IܘGŻ:) .&ĖBxӰL$ #v j$B|هu^LCjb w,k`V6&;!U^즥 H MjEGry4Rz6IyZe?yNkd{`fbG“KLJf >ذP)"cz[5jVx`-0JI.ƊCG)PR,ZrA* erCtX!\TZIO~noBw)I 9V,vsu1;IW _:7γ9Hɤ-!1Eid %X5C rZc3X8E3ʚ Țf4A$B#d^ 1B,4pM`YLu 67r2Yd(0gd{\ֹzSr[!2r-'H^,-]J0F 95ԇr"!93N4T%(|>b$ gr#?RBו=E`FC- g\iYci'6}&Yر(^Oڲ \*Sm:NC/!E<44N/LϝI b|w7%J ,#(=M 5\pAJM4ɸ#ur[泟En0h  d?LJ:,t\aqX2}~5 ts ͏沊Djm?vBP-e8AhNf],!sY:Y.LI7BǨ@"r HUBx@3+S'i)4a.-Ty)ֵL0|vFT.-eB9%Zjuov12 CP*k92J! D%@8*<ĝr°05{ #R!$m]k1Rt}fhI YDn(&1OԺnͿ&\PqZPw&y\WuLc[:za_7G|"<J\DZý! PKsE~DQ;g!'K>HG߳Ry[edY~tGVoe+ep[2U0 Azln"'TCdtOzp`˒>mjȤYV*%- χ$'n'XPt݅ţ֕+pl&Yr %~k&}d %D"8܊Q>ƂhrLZgB`'{EJlCǶzcvmv̀&0BRi̙5<=9^m}o TVZN6"-Iy<:z4o.7Ҽ2)+e٨P c&/eg*\;:Dո8,Z>,T{IVXBE [RG=鬶0*V'ac=<l{ CƿDUrBVtAX,ª5ҜONߑXmߤ$B^ᚒU!/֊ٴ\p&"Y10(7V4>(g"{.&w'ѹtN]QdQ|YSN9@^dY&.SO2Z#ʂ8Kl)a>}$%f/>|M %jʧPj;@-5尊s2G$68ypElRbqZ]S;cIVomD[x*J}E T6rֲ#tDVt`Ԗsz~TbtG`1[kp ]R:,~r8el+a]E|M#t1gTYp}6̕j Z,bEO9qyӇ˫\wuXξk-z-mhWԳpbÆ/wDIWL*xz稄>+8Eb` (t+/eXx@IV #.LT"!hhUTȱWfL[by.m+aiAgʨuٞ[Z,cԻTNMrٱJ^"[.ߜɿC/=?zw7Oyzyz~?y 3=םmLFL .drHZX87B_ Ǟׇ5Ž<-\@9s2) } KAD;E}3u@`ݠ CwlRhf% N8,d1ouȖL.V?r-5<+_ J{!cSȳ ⢠pSY8ldCuQh ɡ$@*BFZM5?uϡ  5ZHY[%{у|d2dMJo&噳zQr;jN^ z'@-p XƎ.y:A#O&.y AGzEle(8FZJ6%O@2,/d4׶Aqŧxb9yq9$x:4`nڪ.uN#uOו{=_[0QK=;d)? u+Ubi&qZ&Q/ rݗ.&]C2ئ~*uUknۛ8Oј$6KrRh-`0=KUݒdn+OU]˩Y~G(I1yH @6߶hE *)hVcܢ h}{8`Z]cSgo)֫e`j薡{P.8z#l.5iRjNJma@jze)8jYZF2, LtP(a^bWO5ў6X⹰_pd7̳xڄ UIewgrޡYek:wPpdCą^,k j-W9=gJM']I#H,{O&l+fwQ@VA&T} Dz1rg]=µ-\oڌ't l߈VPq4zK j&zq$_<Վ9Gt\qPwڅkȯ nί]Ny6θoI ER~ľ!*hj6'oB5ړΪNF^bڳ5 cRRGm0dyoݧux}_oY?!%Ft`D"ƻkjHN蛘x4JI!L.Gdq\؝ 7VDKCT>Gɸ:!56!.ã $>>R) 9تdThaQg&QZi}T `Fp-h<@UAl *nS!N (D:l9xo:s*dݭhѝZ\d{.B;)=yvk0 ֊1`% xRd/ oӆV48gq3ON&3[\W 'rxym.Rmu7Cq@o'Y~te?˗[݀g+v.д>3p [P212oE^\y:l..qsٌm 5mM6$U49)wG# H'~/#%x W:x~R=R cч=+T(Y$Md8HË QE'O4GzzF(NO٨HN>5gc>厛i9yvW :2 : Ob8^ӈM_ V7kjsa[Von[Vook_o'A Eg/+5yK͑CVRӮh/| CV`&)o$v;>N۳52Cl"C"J%D6R8dTj NQ턂ArbOXBQp@U8pUHI󝠞VJ [2,Ekڽ$Kwg[Zƨ˦%VTf}LEdǩ_jfV`&/ dzQF 9"kSV Tu9HQ$Z8Jm3 58"d;E"|va>ĺz}D6-V]qEdBCeSQߥ`eRXUL+ TAĮUl/L=h!G^TՔ'Qu5) )eLcy,[{+S*"7L8N:0mQcH -֐^&+mi)M [k w5wS1a2)p]$t-q-"40(B6yLOOEGg3u2fg8k H'n,'.}dr)Gyz3C7lA9rw8¦BCNڥhKwI6n8tĶg{ZB*wyg1Μ¬*с-#H(+.6!˽ǑJ[٧ +K,UZl)[.( ڢ۷#ʄ_W-ۊ|Bܗ%*_z@غ W^y"g4+;)ȍ}*7NlwI\U@o;SY,‚-XP޼b1jyBE 5_畊Yՠ,:JҌ$4ڻ !xU9kn]Ig߿v.KG}w8i(n]/Ge-=n-qA?'rt[[!8o?RYG |*{TP\dсRWp=2yGhXc1 < W z"Vy#.Hf8*M=bA !qުdkJZ"}KYݯjTnSm9_eiҧ4#lLk ٝL6 Q 0j+˱7CBײI/8& @ei0@fvjNsj 1Fw=HMhv7X^.Qq9$uf` W3j-02O?7upYV78}h]q_=uvuvE{u3;.Id8mthk49ɺ5(LVllFmっYq?|O?'\rOkR?pA3MbZJk%JeLi/%ia,׋f|pT(8w/2ZN^Տc'BuS]ONݒ2ZE(&`v13$2axmg iȑj pv'gRE7sp)If^e x%dDit,SML[yd|h:0i Y)shu=ؐZh4~-G>\?zL/. J"r6UD-\= o1}T}*D*"Wݰѹ X 9u`xw.m3~ &3Ό2W.q!*Ȩ*40Zx) יqWxwvʔ #nF,XdΒNp m!1e& u8)ŚDITq) ގ}2*XWpBNg f"!x6a54Ce[Bna{k4}I8r|mU~(W-h͛ &MSG6OgC Sd6ۻƺ/=.{nt$ӽ]$WAU^RsكH\etj!9y F(@ݼ?udCxMNȆ4"L &' N>"{WPto2ȺH>IlSbMa oR[׭PEB}q%z yu3xKLaFŀX؟%%yCZӆ4, J*5J4`NTWj"n--%cP9Y2(6_rsphXv5"E9*7јlE !6"c- BCpc0M-r78$ =z{Opvߝ&xN吀9`J@O2Մr8f>Ȭ,8d}1 V=+OFx*8D>fgX=]8!p XHamMm7O_|'xM1v~c &- BL>W:]\~:wdp:勣ơNdƁdŧR[}Z^}<=;!;>k~O30J/ZJFJp>^&-*[~Ed%4):n+j 7ǻUhJOY(Έq*~HȬ<׻Smvo6hX>m3a!mQ?{y֫b9tPb+QΜ &ԇ 0},z 9ԁ;Dzfmgx FVGI~L~;Y_̉`\Ooo~-_DO+]`!V{ y"OyMaA#ݭ`q8mg& キhMޒO5GXS6_ƻ>-h.I3ZnV4(I3ޯgisz^R'KĴ4(TUcWzT}JK^ox,5/%t+?`W[cQM6Ջ2$åfI H! $>2T 퍆G~Jd Gr[aY8>"JSj/g/}$0[x0߻g"u("v1qM٭B<7O @@rxq5Vd({g%Ѳ)JZ|Y?m.+/zhmn7bwI2CD#\&>PDo9D; x.p3/SH*ήdNvOIX"`K0n|sք Qu:5ueps#DeY^A=SWhq ޅD3e%%L ۺzJC1w_;9ikf}/hd\ȡ|AVYi3g9VͽNa>X8_ 2:="׻ iZmhށh߅+/twxu 9q: K]x ]}V8w|S΍Mreԏ'"іg-5vn^-XU\%_ m[/ߟٶa|t|B=y!6lMVb9i-SJ "jpqkvqU6F%/O%p1T(,www8E( FxǬ\^UFWSP8īJ#s]8BYU#T;v!nngϴN0.0fƻzW`Ϧ萄Y䫏N^_6\JWhI\J%9˘ s qz&pmd[c#[`SռUZa>VKUtCGj!vPtC4s&] `;7ښB.bB •]8s61K8!)~\R"STxF^Po,y'A2AV/Z?5!Zۡ4X|f*vFIX _R{4ӆdATjB~7 {J 0! |An<) n= KV&9pрF +<}ߡ!HoAa*N7EvS Q2; iu&a$K46DYW).55a̝0*m^`@hF)`1x4U2G R3`F7}rt>u1b4(;ac\;#dف,Z,/`l#ST 4pr$$-)gMG=7/*a@IT5>F䰇zSS5n z{b~%|k)\ U޹3CG`k }A _7^xc@q,F.[n3-BKiCa>skyl$ [O&:,:# dR>Bdl@dJ bظI̭=,=}KSAzC~s=6aG̱:ܖ m r#_pf+ 3a~i;Ne ׹fT~}iÃl֧vaO<ͷ x!(\8юZFXJKqDTxYLqKĂ7MD'uLѤ5Ho9WY2 :U9&PV,% . E+R!i2i*<?X$6)r i\J4-Fu"ʎv s6*-$U%Y;!x#WIE"T@5ns[2UCLmox&4P3C"cZJc%=+tؘ!*.ؒM4܀)G:>m62 2%QDKbZWGAp0mdCEaH "W:Y%(].Bu:[aYr‘9n` aӒ*K=hO];$xK'0 D5Oǒc^L%a+L"&!w=}ߴ3}ñ9.pn[Ohi].PãQ[_2]Oȷ;"Ӧǻ[J.ư*x`EQ- mH̥n`I~:NwKIM,5Y<3_090$aa%r 0Se@&UY!]։ZK)R{?ˆp}Ê @hsmsc-|z m?!\{c<%EJ6Sv3* A?UլD![e4E 2Խ•MuS>n{wsՒOd{Xvc) ~nx.) OevgH߲ZG~Θě<%^qxTՈs V٨C}A0<ى<Qj(v nꛚu*pyI7*ԗꛇ~w>|M 0OZzgC3jcz:׍L?5I(N:q!v&;dSę|"m)`֤WSZ7jse.Aۣ^y«gݰXXuIGp&c(i. C4s4?NFTEnq{rݬ"a&ϟIik|Lͳ6㋓M}cٸhe2C "cPnۏF^1D5[<Ƅjf|AS@v?ZkwsSVgko>p4~O7\soo,{WJ!@ tlA{ H&Y9#AUdm0!,,R>F"2Fػ1~WRVNhpi)tpCah cvdbƼ#8\"\ |v`MRvUK2%Ɨ[ѐ< U)NG p NMTz02QB)Dag]8xG %m GFw!d=+V0~R^u%(˰^a.R$3h 05Af}Z닭Ý=swwI*f7YuӒy;28T`-צvZD1&%NyY ¯?sEobD}C;@qoA,~mv=sbW5wDpᝐ.Mc18Gxg*HE"X⽬ot(qtdɄo hVBѠ2l=ʕڈ$7#0;QXª<|e *U:Y*z4M9BT5%7Ne/Djy}^vs}O)_62i h:2|OJtx '9 ]'٢D~1鳜0:>L1*l&vG]MVG8dmv!ItRh VѣF:yv| sk†9hĸz;>aS`q~pF.F$㉖!E'1r4RET@0cp93a_)>%0k! LxɬT;tD0;q^#kLVs=~1G:DVbVaD-hOUҹxdrԶz_ËǩΓ׹?r'`R!37&K1'lc3AE=19Mԉ(Xj-:0exJ[IB/x;Y`I洩u&>wz ́F=㐨pU勩zyNCFtWk̑$ٶ9ioR[mkL752-f*6u1ƨ5a\X gD %%مIP0]^8<=n 7>2|G-N8B>1T:@)hfa|Z^y J>=90\ ,~E'$\%r ,EȑX^%U@1*ই5IuZTCdlhkXFno<ٯػ?Quk=wn~9Ls;έs&3kvV?޷V $@ZhrlhDo}CS_kˌZ'kC9H)kH),Tҋ%Dp`(H/e)*״KR[V$O/rίS%H)} aDJq2eKZp\2=8yEpJ;vM+_xV?iyQ?* *މwk\*qX-lU'G !XS6һ$ʁii]Bfmt5m[/F,_v2|qO\F)%}˽^GY4j+*9+B^/SӅxX4Ur蒌q[O%13C\z%w/4+l#[ ˘?9[|Ti$<*!0ѫ@_EORxm8Hlt9'O?'O?'|?s0