#!/usr/bin/env bash # # Copyright (C) 2011-2019 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=2c166c4bab2afa42bb7963c7763a7ba1 # 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 Iv]2zjL럍.[C`v; k{vZFCt<5Rii0B] Mc!S/]a7R^;:z`_'Y](xm]u0b;N ZÑw[C6}Ma\Gݖzt@`e;7bڛV/{HNuUQJ{<%Om حmUx(Qk.jatNu V(PO{Fho0v9)1t=2\h "uv熔Y.d#xamEȞNTbrTPp3%268c"44T!hc YrVP.=|ޘs{ A8XW ᬰџd'w4 Ң ,2i1Y%PycC 4\D0 "Uqk.@4< /,A4IJ08BJ-˔ [X-FiIT%]]L3l~54|턷 #|} fj8:=>KC`ΕvLW+IO#jdɂG( H#P%_Q,K_[-K0_W.K_3>{/Ͽ^oY K9xFi= a *$Jn]]n8f8*u=ZBsK^xc>GLSV{ I^ʰtA5q V+ ,6:XuYwb 'TI3 ZR,)o\.@A]vSlc9[ U. t 龎;8J%!Iۯuh h~mf!i咤 Pk[ϐBlӑlʆ: LJT( H"z|^c_*mhoԳxdzj@ +b4Gօ JЦMf2d# K}V*`uղசHBI+1}}pF&{! 0tu4IV4`:v KM9ש :%j5<-0 ~C=F}p"]Ngi\~Wn{,YZ1$AW ڄ࡞_ƣf9#y۹6;J˝t?]O tˊdwб#')+?fj+E'4Դ H%bg> _Z.LH9K%ܜ v@c DB.M@W$aX܄XO(NABHB[%͉fMAEz@jz2Iw# IǶgzUYo܅Į)AMX<f 2hXrhYX:5^3Hl!h l) im_5e)d1тO{vp lY ΖlINwa(<: npk1 3}r$ Glq@ŕ4^DG"<:,Z (p3Aa8K\(P]l 3ۤFd OƔ!=Kh ӟIX ¿n6Ӫ:C],r:$Kɰc%wJ/eTJnsyH$#an)ޟ`kɡ/ȢQXa5icҷָ;fs:)aJ]QVMkc;-j:>~(##5Křl# |&~ k 7埊CZNVݜs Fg]),.!O28ƱtKfq?pc},F?I'>TpDSLy(8\Ϻsr]2b']l1ux&^qw-<D,'2[9L5eGH\_P LsV qn^ ,tϰ[=8qUFR"EEduL'h ֳpV"5RAX\BǢ 6O#kۤt 'tGM\RQTK'ϳa| QR[]8:ģZ(W]VʐO]_<(zKHٽqD D7UW<k3Ar{.R@c,zعՈ)!(OqMuIta X/#VoQBm粱D Y:=)ـД;[axn8=?H S#EnS>4,T${ ĸP 'JbJh-D i(0)?$KNQC{,^Xƭ8",v$^łav`@2u( gp'ZD|qf &)%fweMODnNymɈL%灰'r=LkݨhK|g3@xݸ\MCv^<0Rzz;gL"j-cB^>J]ӗKfD+2k a+5>ڒď]@҆hC mƄn!,lޘ5X ;2šD!6KZ!ee|j7RL]_.x+ 8ZҬ&'NA(KУ8L3{ gڤfF yv͢._FKs|SPQ "fSM,Z丈K%dCڥae7sVsDX-uJH5(?i(Hцٸot 6+d^+Ek&Ez)]_ |U X _<%`6+^A "N`/y!p*:{KQE(#v bnϭQSmswhjŠ[Xb 5\(}:IRt|CʐOc\"7ߥa;߿tߧO>}tﷺ$m+ ja{SsܕiGDvpŨ\cRa:9E]`:_ E+,(Vjc֡Jf~eƋn\w]%  C8VVo~Li?ԖKOd;XW0=3۫M4Cprjի/rY= w))7ʝ׻GCoɖe78|E}Crnckb8Wk8xrxxL(oM=ILI޳޽݇$5ik.@*`mm_SqW`d'f+z-j Ğ6q2RS۩]ЄOvϪ$J8NqWf9Y8ѥN*LO`&6j+}7D<+/n&!R=’׶NSʗ7ɋݓ#~߇I lCzp}$ 8܁!<]1tlrHq) <7iSdu J :Ewqg[6>~bZC)x'ovb+!:5ʋˁ4x.Ezڻ1.qQ+6",ċ>ib3"/8fEEzLXh [mXR(!\B8tn|~wSDR2h#[#nYhZ9?eKjaLBn\hDxD=xh cI;p0k+` Ûx5\IҼ89phVaТO5sƏrE]Áw13WK{6&`j&|\JOEI\j59똌 s qz&CvFJ!vlj>~,֠ټhYZ4kJV{Hg4iݠ5s9Lި MF3³c{aiEFbpBR&Egee zo),%+wTqEtYKf%%簅Cy‘L{Ov?M4Vl25y!Bgy'9b9|Wu6%І%zcڷ;9Pqݬhơe q)Oca# *ׂ4TTQ\\1*">LixY6.r( Ng0/[JvݸbQ4PlSITtē3ޣ?w466p龡.V̀N6Q%S:>:InT֨3Я= ݬݽG '1Tw?9V+{|ZۧmhAiXSn='.\!cGcE6<~I *@*$Sؤa?2HkW1)  .AO!QUpʃf1]IFN ! )__o59:9s ^7vbmʚg4mN?{[BL ";6 uC2䂆q;xrHDjr~q9- jsi 6g}a+^ǵo7f_^_75:mj6 Ahk'@g^E F"\[T+,Lj|qyH!)6f lZv;3!Q}|v;Փf3ozY:>75x*p$/軰)dO˼g:YˡS~,.*Zl8ZNmct9J⋛_GMW왕{CSA7tԋG<z~=31RvÆ7x{-{X5g`̶?0zf߮?f3c1?2;eL 9 (`La%:@p/Cu?>:_%!4nowObMX[hTYTWͳ> E P,,͸yrpN;[,b,KHe񣝁`_ T!-%P VW!dyLq689GBpJ:u -ڗ+=v1"S=8a~`JZ}g}aH=hMxJ[rrY -¶(Ș?ToBȖ~\ ][{zPu1 Kncyv<˟A1vh\pxJ5/oR^5 /Cf&9>7?\m`?+IeʛU~QջjTۭcJ8bۃq(^aS'E`p:%dѪtk\W FXm,c?̮NE< x^VM'U 5alUyf~=0voa{aqtG@yT"]L=vW[“<`܉zZ]0ڭ~AtSF&Tkp"' +X"Vu_ k$IGg/.K w:^?bU WeJhvԐC@Pb*F!3tDh^ 3@ ܒAŢ߸H21vp0"^%“AcB=qB$1ڑ5mOx|R˛ϖ;Q4풰@a=8tzZo*p}\z|);81 yD^-ʙ.0eyߞ:w'",-Ě*Qļ, "oD!]ot[,@k7!f%YLZ W1Btpr@@?1Tk<|d-{Ⱥ"qUMpѲϢ  B]POl8nJ"މ)ڂ30CC"EZJ:* "\Le?5 iR28 j<q4V%qj|uHHr-Ijobѓϫ}I4`^fHi ɸՁD`a.Ai@8KbWw-4񻏜A;}*X9vh:Pr4wc 4$`sgQ/g s3*Zqӆ @2ѨRWcw-ӭ*GU{":P\IA 8Kzr;nvn1Ul Kp zwRu@b12޲NJ#X!2pD +)qv54GkԸEXwZ[4J >;VPw3`uǏ:k\Z'e\,r4rT@#ɶΠ{{8RaÏlEvqȄ <μ!;Nct^Fqq  wSYOI ՄBIn}YYy73lSEK M~8|nzo.k81JJӓL<Ʀr;16- BL>WJo|b?h-i=>\J:qZH=)tkY#ЋPӚjw th{˛SOԱ" 6muv=z D||O^rEݎEkk`qgӷ=2Х볦o0V>= # )_2JFJzU_`S3sgˣXekCSo9)x { MhLhSݪt4?'HguN*ȸ^YR`0"rȚZp O@L BB׌ ņnPA2DET6H{9B$+` cc?ˢq%) /`Ot7^kNa(½ֈ'h"2ԲDŽO1Ħ~HF<ӱ!ҷqaQv ood1ŚYFNڳhJ qZX!"=p3}+B Ӱ&0> /3Fu%d ¬~؛գgR!`!:-5VHKCXF0-JI1 Cr8 znYYf 1Nn|:tx7`V񨒁ܴp=ɀn| ✢T \UHn#Qr(An4h;), L7\)q9=0:p,G[ $ _DBj[d8L Ⱦ#], ԝ[ZI~.8 ӭXX2g0ִ \\wI><M 04<t 1Ɂ%0Q"-]e\[J"eb=@! Xv+dlqJ#g o/yKWU{<>c;Wd}ok3߯g3ߙw;/ˉIРGt3{;EKG;ŖːEFƆCa__-HJ  h-fa5j O/IhmU*o N[L ?B;]X8H)KmB8sh;ϐSS)zLe$A iV?Xwl<aC G*fVKI,64գ!O ){4]:H)z;+Vxې1<=Jڥ R"o]d^,sG:ObZVʼ[ZFWHyM+H99 d}[ves&5LxkF/͍&AGضNMI#n2Mr^\nIub`@Xe9t'ٍ^Ƃ뒍t)e! 8R>4 mAnY (aƗO 8 7=jex%\_esxX)S;عj&a3qfϫ͍gAj>nU} GIF 1PB/-E1O>Dov,iL; j7ŵ'!5^t@އjRnK{|qn^-ĩiܮY'z%tJ$AkwU;,l o,#->FT'w,.oQ1\}LG^}iÃl֧v刧VNF-K;j]AZ2(r76ETxAd%#M"L?з Z"O.WILͪ(aåA8abiS+1cC9ɑSHsRrߧYl1;6gbɰ6\sv)Gǂ-WIE"FE-lD- ;<4@O@4LJ7hBC)Zju7Jډ+t麶c66$-dd#4 g37`qc|vh,TN$D-8i$vwsroI}=a&C2 [2(LIaR*V3S8ܻEAG^rp݃7m8i˾8Ic#RNJSp(bc}v4u6NgiL^{d+.ܧ[Ocm[ϰR6pRV+tHԀ4.a|a⻙=VdrFQ2ggZ%CO15 la`BefOR,Ǒ^ ъ&3eOHK1X u#=|h)+ZUj .Ȭ%ƤU@C >A|Lc  V4Nd m&äu'tҐo[ZỖf ֨v޷%֍wuX΀}(($Cux 3AkѲLB]neé&Mde[D6 .E_E5[2%4?1ɐ72pP^{x[32Rp ًf#je tH+x?/b[|M17 P!q!` -=C疪+6~$l/~t=wb ̋BlY+ͺT_êJgݿ`ыjNG| ]Gh?`ptt8c .{cN9*T$'^%%5'k0*7 Zye2OWgLmGFczRtK,1Tn,L' GQNf/&(D~-E?*RAFBvQ\qi|R; Ĉm0q^6/,"MbqjO[T] b t\ Lzz-eȠYtIK|RQc Ldwt_(.p~A9gz!ڈ |=A # XΗ-8d(Y-HjBVG| +G&`N7Y%Ӷ7z0Q2|D{t0,Zjւ. _ĜqHb Txt;H0 em큲Ǘ7S8aQ=ډrWef&N̙xm;i= eTzݭ:) f+9QbЌw95Dm ۮ_N7rݪ>,cy^r..NV<=~K`W/$_?=MrG7>쀖ݬ)jJ2P&I~tLPDxV4Z-K ܜFSƋ,*hE ^3.L*}r@ނ$El Aۙ4-G% ¢ lsAp](=Bm1Yh<>x1Ư-hQF5da6|Q|;ж-S ݽ y`QZs`=Ðcv*xPxzJE@> Y Ep/=qJg3J(Sk c1E@qrgiXŦ>ÓtjM]d_4dWK܊D*D̓_7Ji1xd?3mD\@vBP'7II96q*&u6Jp|2=#ScZ m~h>s0'}a~hsЍ`5ڶa \4kzDyѥz:W/HH :KDH1u,NqQrǔ?b]-[۪]p;E/hrHsud~/ӂ,ƒ!2hLzj<:e#s,F f܉5XKxKr%Om3 Cٱ . m|NDlI$-ML|[+OI}zleԂ*&?Jz#"IDW\\U-QeO[n=bK! 5R\7yWH6 !b$ [gY2Jo:l;0p,_U8$(ٻ"=mιcBK97YLONiZPHua@@}NZYw~F&qI.[] >2tKxbN]8)GJRs@msedxY^}r %^b9"fыWWXƂ NUpsӼ Wd0U$@k(\:ɓO%qújC) # ɟe'<"{>kIxlOކ]&_4V7.D~"y=6wM3x{[ZFhȟDX )H)'zCRNt0J c#5XQ\t|W9;chY~G.ܳT3u_Av-E&.оٞp6͉㖉q#ŅXDme!jrۉaM=%$T!8Ȧ +pQ <&VUX[EW>=O//([F Dx.n.R@0Kl Hd{*fŝpI;w@|OղcW¬ble%nva!평C v%`V.Bi?zKNy$j sg)Hi%/ltʶAϕLJ'9"y9B;8N+λ\q-RzDj:wdH='/ٵeğc֞*#r1(}$= d"gZrx8y}Uc}qUlI{-,tuťu *ȉɊJ/+;hC~n1R#Wc(Ý :gg>Z;( Jv~/Sè_VD*Km]|%' c:Dw4KQ ՚c˵4XS稑xI x6Vt{u-Gk&Q ׂ$2m왙o0o#pS4(o9;& T$Z,B[ 7!J-8vو dZ6k8`OaIwBlN Pga57*9-Gk{Dj"h5ɴzԧUhLFX^u9>C v0Z xWټ CnnvJ8Q$d&!mGJwS5iV3N\6evFoa~D((E!PEmR =>,} adkC}=e {u~5aNP smX{Eзhӕ_AcNZ&^ Б ه1ZH\b`1!K ug,waIVql{,zv!sd[rFs,^v%>OHq {I'ZX;2ni:k[L&Ү9W ғ.Z]lZarhŖ; 6fTa3 Y$w,[8dmv!?d5iOk _4LbHFےY6K7reYŞ1yw"]:1EJDeR.yjaj7I꭪n#wBo/&>PI+ YWDxptgIKP%A VZ*Y/=VRp! N(}K'/Ш e盘l:j{kV/; qۇYƣRWjs$0Im~ܝ־jH~nETeK/J?jQ %V kKp6H`QR^\ UZ {Ȇ 7b޲|KA#\bJ8:>;xS8ɡr* ANj-{^N ,~E'$\ޥ@ y EȑX^%U@12+p_00n%?ְx~o_1wKW_Gƪkdcf5>3{f=Y}ϬgV3̬/(Ɉ_Ļ6c}/{axPT*OX«}(wJbm^gvϠJ;g{LJp5b.v8ЦՀWWƄ4iURov+p޶)+X2XɥhMvdg$wht{?٤@B6B`ь݉W"_z\12jeNbD;Z G>9GF-L\ Hj Ό@dsB8VN q\1 ʒNÆt9iuns! ohWl$ da{ PsV<}-: *e zI YN(ac8we W7+ܢ/-a#4Iqi[CPÜ֓夔-VIUW4t`ӶUR -dAzzXE^[cد1>%/뫎u_o-̔ % e if&` sῘxMMq D&nePi4 iu9G`ʇ,C-'wPb7ac B2f11=%LQʢœ6)t7"AE8g8-+4A-FOV׬ B#1+C;Zo;I?q@1 jrcVv;\с v̶2Т駍J:=Oz~nR#8_6s!P|{5g2ƘX@DMTYM}.inG ]+`ECe RM⇈kap?w%Nvajb oOn+ 1D -r9P'RTB ӓwBVЊ"@'_=1V|H.uޒB/(o<&3op*1Lf؍Zcg~lnc|zs1aykw3QL?f _-BFzY{zb?EWƼ6GC R_2ߐQYa(НB `^~r~m+V;`=}`[Kon0 (Zw7pGՈKS3TE_?w?htJln ׺J2lnxp=Ŭ)kHv,z7t:-WtkXk~1#HGBLL:nr E:OWaD"brz_?GsT . `jAOhVw2KT9{uKCRu O.:Ţ:rrE%'Ŭ㣕 9-=Reb֢b{ %7מR9PWKeVSlBshh푆 @ye Cj ;䶡h"f>iZL.QdZ5GIY#hzuFᄐ/sLtAoy%|qMǷG;r`c㦇 KV՞ֽ}<ՙhؐ3G <:ah}8&mE-(v5O. Mv R6{5oM/!-n'~~n^|8uj`5Du1uT'L$:Lj̵z)zfیJj!͚#3cw"c@b{ۭáNÖp2Opj O]k(,-!wCOn>%Ÿeׁ85SKŋVF-;UhkyR,TR3Pdƅ2o/̦fS$#"rۈ xT'->cöD*\6ka5Y}ͬfV_3ןqV^0E 06A(uCJ" 3+c~w89+HmGVx/< Ud UBv`8 8J ji.Q*iK@<1wo |$8pWID l BrI[6e dC;Ȋd9<<n]-D'".ډ NdYlTTB=YX]8yvdL |`\H2!ߪլߤ5Y2M|;,EwP+Ӏ/DsS(zƓ:e  "% %Q~+8/݃f DEǏ٩dg'ZlarP% W Gsӛ/Հ99- 9X%Wi|ra>ĺI}D:0-5Yp!jF Dkag L1THqR:cXUL+D?9Y@k% /$jV~Q}*AJL!DF|?G5YM=zn:H{jy,[ Sr--1n-|w'KZ݅ eE@1<r Ǻ`dLWڷd rXp)#lȶFւ5 n;jgN%33Q%#d"EHQ ¥ Ŗ#DwmzD1!w,>;Ў}&GQ22gDdcs_Z?f/3K%`f 0GKBvb"YQH!˓&xK>7~Hkup AUbDtbgMn3[) xeHuqWTOF~csmi/Ob&kpUww`㯯2|g0kY8meY/ϲ!|a9㯆t=^_tO^=ϒnBOgvf^}PM~TWfU% !*"XXˀS"L;V7Mxfx4O}ņ߂  ,g3xecpC' X>'l>3j+X&;y R=0&0,":7jcc$C+EfLQ~t"# ѥ^degk6b 0j 2n(i Z?`2a&mCҩ ]14Nac%3 װ>߾ GN^XY f͘=c!20ƶNBH nڙLZN/_'u<#ZNb|%zZ[!uNJ}碫5]ɎFil[6ٝE -Zj}s$Il.1 idzjy'X1^ǃ~)Gt w4hݚu*\Ӆ|qD~oy/ \6H7|йM )N͵ߙT:B\f }HXp-Nw)C7d%Z- f?բ/-Pr\nEij5uVfMzuIN=WW>&ٚ\}s2K.zW($%t&WϜ5a3꒎^]kTMP*Ӫ}r C4s4]`4ëjtwqkr\EϟIqktͳ6ӓM}cZ{$>(edj1J(GA7myǘPv_Lu9\M\Gp-u'9_ߕXY/k=-%?r1^^]~#}?<ڜI6Z>OI~WՇՇZHͿnQLmKT=(<އVwbAt]mAM/Ut> 9~h9ރ'}8ރ=)8ޏ~=7~v=)7ޓnὨ6ޓf(6a)TF$V{'g17N:%>\*o~y>INc .o'g@fIL>-vc~5_59MiY7UQkx1q2Fkϖ;rnGtFR8Yg$,Vܤh}. N_E0/aUpDMFK?U{IY?*vf| xڈqݗ leGMX+DlN[~Iw@[E,lb]m#}c4j;mzg$ɰ gEct GZ*ԓՀ<{f.g8dMUV.z-v9z+X6 Wq^9i5}Yy9fyy-A &Fq1v ~Eoz B)EEL\(3H; 7@hxqp&9eyT| r08p>6I__O/3~y/- %-;qZŐ4&z (tjՓ,c6T.O=}fg}fg}fg}fg}fg~?(60