#!/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=59447887b3b8911133e9ed40ff012b6b # 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Ȓϯdz1$p]c Э} իR ilY̗l76U]]\`K=====ݟ&|zw=x_ۃwv^w{o_J}QlFk{sg f;Ǭܬ^}t? gAhnXF,oS+!>w(ݛ92wxе(an闽Qezپj*~pЭRNj Y]jlm}z<> kzU54kF/V $^Q qhc6dN5qְ3jKk)*1zZS FJ_W@/Yq8 LO]胫λifv ]j 90|?2tҞhUow;kـ-Rs&ѺuAPe)KIOьBk'D-?+4?V0τYO BB9\s՛X[ Yh yg(Y@*d2f\D Cܫ2D6၀ ?%rʝ<a?uYj2r)08WJI]!`Ed!'cŽH'?p2 aM&b=Ek#jv0=F>\Ĩ٩d5 p\bsvPe:ӢYHYEs|@ \$Yi2q@v\@ȳnygH!B3雗ݖټ+>n q}76ggb*7a[-ÇjicZܑn `xvu`CEE̖n-3 mQAA[΃ -'ܩvhJ1Dˆb@HbR@%:ܸu5Q hF"𿞃Wc[ vk{Qf,H@܈G;:) .&BxSL li!t; Z5P|ru B &v8m^zN" jl.(VNMP05IiϒϾ8+?J['Qej[гcֹjW5?fX~]/¨VP [X&d \G|$7.us[;k\G%x8d{lE&ݫj \˒;" Q.RuE쎋pPvh{{e5Zl}4*G9fMLCom{W25LjA8 rH wfcнԛ#10AjX?%*h'Zdo3\45R6\%NEJ1|!iʑâىvUv~3|~ly)j'˲Fe<;mS舊&ZdG2@[ef夝q` `הUKk,|h$ZV~l4ڍ dr 5b+\:>4[6|\6bCګ2իl3&W3<К.a~1K$^`9+n@I1iy4 L*'+|ż`G|j.\s(IB9f,v9sM1:$+wV9okqg%dR¤rT)X5B rX#1X8ES҆5@M3~>Dk!Drd9].WX"0M &M 5r2Yh0,#=gh\_i2Ё&a A C#Wfmŧ4}2#c3j]|,G{}b[2<F*hgHflKhj2&'i7Dޛ1x!gYlONNـ04NI1<^hbbŦxJ}̏SvI֢`jNY؄e ղ\TlUlkzcl`JML i`ECYP-|t"A%*pTfS[ZlZ˜AOEs*.\jb"u1!bFk=6Qs*N!$s$'> > bm |ȧ=(sE$)8{`hOwZ8bbAdn9# W/#Ə; *% UO(-VPuc`^@&[VL,dĐh蝳92#N5 dYV B*8An nHP+QIJ9,>&YPK]YR3pQcfd 1(EG+7򑯅!//ZlN[X>=>I]crTeA7ﰐm qT%Ln> vY?98& S?`#ҒRMAHAuyi=c6WT&2;I|^CfkA[q:2E|Yopyw2uRO%a-&=T%9:/'QgQ= -1M5dS12rBMgtAX(ª9Ҝ7#ھI{qBpzi3Ӷ0(_.ptTD=AzIlk.$0 /ۆ˵Svg9Ye~ ə\VB`D0xH1S WFG6TQ'= ~|gsL(| my3q Ԟ@wY]?֔U\9\b ݧP9Eb5Qk%+Q-D)8T$osQZkkYQu@Aެ*.8 Xn29̽u <3~jԻ<5]Ѯgʋ9f66$#j6ʞ!fW HiB!WǾ`+8EZvc9TǼXl,[HXeRJa$@%O- v&EF9iK< $͠WU#j53aG+6RzTZ _'3e*9Y.+څ>|b[}qxQ>iJlJ įZ{o 6$|$+IXeӴLڙ2g'38a:{=i&Aàm᲍ cWIS=su%l$b:^/ˈo C :K6Nl; 4 {[˽\r4<۽ݸgڰ(#\0 lBl{܉al3Dw.9sud T-'l6m KXGܲ?!I!h%-lU%;#%E8 [qRRV6*"%YBkg DE1;Q=Žf'4t)ec} خ~XBtҖ`o^Ί<ܼ6H)Gpǖkyʴ)(lI沌Nd6[U pբ(aӬZwW(D>Nԡp=y5[ %#}BkNoߴ[.:' xʑv5 u{ȝAa3g$*Sf`' Z'TY+.<XDSP6Vdxզ5&ԴօWp j34Msɜ:V&RgY%@{ £'GQ GQsSjsFx-xy(. n6ia}r1&/OH4C$$=38{d[8cyJ 4ۀmzEAgt0*Uf8o;N V?fo;s9\g^3ߙw;xEo^uz@ kH}e)ѧAj~kI9°DZmm=>oXJ58lSp}8jb&vv(ѪQԡ.Y4{hm=͉j5h$}ilfڴZ%7(Z4fopk{~}^$7vea;A'j^:óTHnqD^a;- 64mo'<:ПFPj0q 7-|^XyP:tPX}dE*;~-@kV ?e p] ϝ]ns2WK$uuمWZbBUSo}p}vGoۘyo3!*6Ԟ9(TWɯC3븹GotwR ࿁pBO)܏{{>;} ;x-C<;DTFS{}MíQ '46$a#ܭh>ȣW0RUK8;#E!kav"hnj#'ֺʧ!5Ȍdh[R! khk9H\ðT CE0D`΀uC Zxz؜FTeZ}l(*Ջ> kv6\~Qa".B2^ݨK;k Pt*4-?<{WZg&g&g&w[El&ݥnQ yNP T{䊢z_® vK0ѕ4x Fd*{4f ~D<089UBcӇ߄,dZ_GF مtE>d1qhp}Qnp;Q [{OGa|=Riy0V̨$cyGqZ~}NȖvpM w:j-؅8wHCn\GgjÉfNSp*G${jh.Mi/|ȥ/s~*a̎jLɷ vR4V<`\w@^˄ O|tO++i^q-ppݜ#f< 2Ad'4EU.29Ǵh:=ѹt蔷"WrVt5j;wP9fN/ ovN:oT:Qʦ !X#7N%׺jI^C۳AxB4;P$ov0a 8'Q&R9Ib;V3p*ԠՍ{% c:XvhB_q=ʟO LuZoo%fceH-<>tqSᏢ%, Xw ܺ!< ;WΫ';.0U"d{PopOr-q/$8 GQ!A;O=P>,ݟj9+Q|eP}(֋O-7{gQ'n0e2Pg>)ওwX{bKF# ee_rsT%Lk_.%r*O =D#N'seӳX42z㹾:{^pe3'ڹAb8kDŽsQ%6mAA(j l4(.+ymVxv`t;!-';ʦ4QX(^<{4Qqisq܅k8J()3,?:?FMlz[q_FBe{1aҍRihӠօΘ hxIhP*'0C$1@a(<3O|WMZF+hV ?GHGmu姕{|?f_gF "#Yי%df 2Y,AҖ d b`l԰ ~ k W6Ưe8d`${ېt#<7Ԩ|Cx&ӎ.;89ۯ,9.oJ[gӞtRj .A_\,Q9A鯰AVjӠVy̰=Fa/^T?mxq#%*) ʁji ~HX>l@Qj1E6•ZVڪ.@f IN[9,Ca]84y*@^EL@l9 rIJf<ڃ82%ׅ VBQ\c;!p:!g-depAx{xuw`Osv J i.K1˦t6glJƛO)=xhpٿ*:)%R eݨgO PJkۭFۓ'^L^bɃB1do2whv Y.!Q &w1gxm|w*Kn,{ӭʈMa{zRsbm :5<}Aòl Itm;B86l]!twV'݄aSս]+M/3.7%.G0 9Iۋ&q!d(f?,(OO &o*RgkAg ɅM~N3`fJC 1\yc;Ҿ`x ¹^#M ~ga.X[[:Wڻ$-ÿ_Iě\3~x2u|NRYMy9 Y*yi9%r 0T P=S^#6<>O)f{xH8V:w>8ߙAZY$ XO R~f0Y NY`.u7s6[o 8hMKJv*noO'4'4'04 $x0GZxquU>#+Ohop'IT72B[U ھϑ- k>b{6\lȞLӭu\ŇZi "1\pRVKU |5IX_e2FavC ÈMQ߀${:50ՅʗR ױ$!1xh~Xaʫ9ɓO@z̢nׁq8ؿT\ ۏs5}᫣3ݓzPbPaKW5CF7<\ްyk/*8.cL/ơđ2 G aҙQ_" < w3t;W%}Kܫ"`:sPs2B+!t-͆s H\}][;k]]+rZVOO"ZFLQB ^aU1dcw057 C%طnG*LrE Q pUWL[d)$dJ-8j>QA m1,_2kn !30/4;pV"0d@7j6pcJ0ڪ0۔o"glj-Qg=-qIb1FK {ƯWڤ/:*ڑWB0*Z9%M>s( /W+yF[/oķZ ްV4zMpr4#3~E!j@{ $KXA?1$ PmZW!) "9C}b)2gÑa: PA i_Յ^w19:%9߲-,+TeB6e3Z-n;:$puYQNAAtjsqOb X?YF]A=T$V0*fc~/`[]][uk+g3ߙwf;gi_3Lۆe7; u_m6cSb v>[r)@ d"͵㻅,`6$a*e-pىt({xz|nn Q_ ϲ+4d98pfYV&GҺ00Ulӷx+lz㮑X'7tax:uT"/O+D;u'Z::.%(QPehDRx 6_:\kpËx#xT9PD O#G#j TAS V(Ns۸ʠ.W*#އw(nH;M&D|Ckϔ3lwkG6@kiÏpS4Ir#ZIغ;zutƳ2PvcprZݶw"Ͷ3K󼙤3aҼ/0յXƺ>>şוi}4@~CDz:V۔dgپjS!)ҀǾ_f׻ijohݺXbAl TP&~ZD{(O ~rQԉn[W.0 e:#*USݏ¯K. ݀0^NeL^Cu }Ώ=Ǿ6XF\{l9Մ _PsαyryӅ;% [.L7Dӆ̜9k_f;8€ٰAfļun'N%l )H08h; Q?p.>81_O/͋n>VlCS(鋍Q荤 9L"_^̤f\I:]I-˴ݑ" @][t21L.Z-IcZ>xJuzph¬Ň$>qdPuէ9%A|oh4lf7cHMڞ8l H6G=8?)K4)'Sh)Y'4{ Kwig9wo0"2]8Rw𧚗FUE^z?n4)?(k2ji3Ӓ '={c 쿾gf5f_3kf5O:}łאl ARՌ "0Sk~mڈsdXhZZs^t7JICTJO0j +͏GsB LɡW0EXZȰf: 5[L'yHUF*RrQctHx(R ` ؎0 6mKBNJA:``C-*2M4;cbV^}C|k=qJBhbؓp+$Y^: ؚfDНd,2z > 9y$#lLUt*)OyDM0%;VZB2 a ߲Es /ԶH{74 2U-+Az8d#`gN!@nD;Dv*au .V%OƻwI! ֺwX W_t^nHE}Cpb}#a7I.쐠ݪ<w([k?8_d/C!Q=%0/\t[KM<|]"7a  _DvoO8xHFз7^f@ę&Dfss(^KءuОw{U`#ZH_~+p'¨_׽ M$G2QtDK.p&R4ſdx(j]jn7=Y\l72:]x&& [DG{PIz(,ظlXF@ߒ"8Pé)!M5bV/lmRZdYy" tCHuh,tuTTWbMMS5,#{_I Snaġ%!n=NOG&RS=iv3.  UKq)\ɻ_DtP\U"SۨMN0S"໓v0aFE|`\pU;= ODP[Aؗ~fmqFwf˪ 4A*l;]oa%G~B֒m2mHq ջQ;_XrN| ST;D\5(zrû(v=ij̟dr02 @y#Ծڝpx1ZǟP*P!tRhPOpŽ4sgp 4MbHO&,cgHȕVRWQ (ҹrN=a_%"#pF%0h Oab-.^3`Sz7d{Ց}汧;`)}/#h ;Lտ s"%Y7pCDZi\+ tӸNy#^r4_cUHΗ ݃htC#zGqve@1E.CeY> 36mSNn? ֝L8g9-Y*EήۥXl*.XվX^2D4+yuF.BNW!ɏמ}`*SIdTzzQW J膁oaDU.,ݖ_[Af6%%IP0^&6S?89>7oV9xeN+Nl9+Qcopk{~41UOml :W ZnolPҎ/~EV}bgIVn5GZb{TUp7=!&P2X2r~Ǵ4Gwښc][[Y{f=g3OgmP `[$˜rn*FD՟uPNOt+|}|rJB* _HOkFhR)b51.rX)S ))/E hjKbjef%~Sf1ك4Uym9=?տ;h8o*+kUj\e]eerUQʪlC7½h򷌠WjXnISq<}3FacsU-UJ4BFAnc%e~_]ϫkCsiV%VB #bh+;^==)V }a< ] hxF, TR1~,$:{7ק*VX2qWEBK(ʇT;|E9b 2B°5,qCI.SƤvj?&yaX*5;$*au`w" тX%`~GqB=^]^fb&f)Xj}Z*.kȢj&`|$XȈH 6&9{ J>ws1R_y٩OWodFkSی mԇ&Vѿmr~Vy[ ŰO0V(CA߯.Cb:A0=٩<QڂQG5T擶C^r+ԜjiO4arIϩY[Yܬs^< O" CYG0tא6oK*1AƜa佻,ygw&=c{W-}fBD5_qZ4?aݩ3 |7ȗ24{һ=Lt%^NZd5brd鱊1MyD^(3gL,캨z"3\+EtZ}]GufN'Dc5F:͠O0͘Lްkvԯ~B쎚hdYmP3|0aq%j1J(7G~'n}D&=Q6s(|(6AKN"(&wm.wgߙwgߙOύ51p!v]umlZX>&tӽ0$HpPi@O/ΊR4"Xp '%QA2 nbgJ=Wxv@ͳ̞jdjԱ8#ґPTWpm`S_<$&n ӿu$w ?GYS>8vʚqo`8Zi(G1\C!ie:w1,@}KZ>O )L$ q2|uv&l&)&, tl~ԑ^bڼeXerё3pfh;jm;ܘX#!3ٓBLyptr}FW>/a22]m~QݨR)iz] ]c.~l-+/'VSN8al7J(}bf+@fO/A>#2@gex$҉QЁFZi_R|W ƓxlKK}F4ut|3Ѱ&24/#4vsDAZ9ZMTbbA{L@7[uڃhxðp/-XΣ TݝgN<~}Lk#߿"6! <[Wqm>0!" s*.)}K+H$Oj 8I爽K#db6)%$L `oWBue-Ly:c~5&xs7 hZgQ0 Iư`XYk0n--ug6D3V"ٻ2+ 0S6y2&zJٗ i &)T*`j%8*מۇ+nSܨ1(wpBm!̹(-qfp{%u3)3`uF HZJ|#%U`R9wf~ ؇7Bȱs߄)0X%T%nE#ZԍQ܍4wSL:0m(z/qlL'BOC>sk\No`l{:ڞLw">‹qx/.^K4}) Gv1i}мR[/WWϵ{|^1(Pb;aQa 70b_$IGٺD\3E.} Q?kb.E 0K||" ^lWض'|m9>=g3f?34)@~<Ǎ(iD1ڏui9DfvP0GvJ:s(7ܥL%Ln(^:Ef}Ƥ\յꚤxka50aZ ]/])vk<Q,m&JUF)Sjo7& Ol} a;1:btO312ʢ5LȚJ ]taNJ&yH7Eڍ5YեJKZf|K);lS4blR i8uiE4qEn DcV4HH4gN5F |(pe/F*ZeAIo UP5MZ(,I#Uȸ?HP D'T F=rd_RA`E6sa29akt'8BHyJE.r @V7bB{CzBxHl+3zlr @?5WC .դۥ?_4'MTg%nXQ[mQ+w렧?a%S`IK#Val2V{!Z[ PΗWM5ܜV2oCp2*Ŀ8JiVHy*XSzƫV싰i@Peh|6Ÿ[;$16m_bٷrgõoP#Tz"љ\8(e)ſ^уrEn0ɀ*>jFkZғA4ÔӈɩF<)u lqɫgsٓ|TTZrS:Wi1@12=`T ߃'z:!s5jz2ǮA9aݡ$vI "< b&n^{_s7t8|p4 yũby)KzLM&%sm@rB#Gǹ֝`}7bj1E6 bh&8EN.Y<hXR Ǵ!V=Rampgml#Kھ~#2k;_U^v0ʋӴ6&%{!ܝ0kE)C`bx}MDːgt`̱8 N,{Cg$nli©'% 4}qZԙ^ >i ?Y#F!pCqi^C0֔hkgʫvu06ϰ gp1>~3EKQC9oL>ru"ِnQw0KŨ#ՑzeèNTbm902FUg]@lԏ\m}_T3QeKfSe}ݣȢ*!Uϱ"(QC~1=1&hq}Ҙ[%}zB>q- `î u n*eGƦđX_JČ jF 9ք< LxmR㵯h|eR+_W.C4tdfY0%./+̭_~ !hr&ҴEf&9Ŗ<Q`99~{|[U) ; ["N"F)]$ġ"x$`*nmyXW+ 0RN@{fgAw#قbuay3 hiO1|W%su_LVeg&K)+44/1L]X0|ȹFğ|v)ba}i1$(/Gs&\n["DQtX)=9PaD>[ʓAS{@miOZs)yP 3X ' T0[3NҒB$ATxH«Hf*i_OMte/\~nQi8lva7< <.+%"Dh1x+nc GOW=XI{2"i#N}Ccw ̃p%l[&(n hݓqnYdwNd^7,9yҤ59cHC9̐SJ9s uA_LFRaB>Y9=D)D鸎@PÒLfJ0W_nJm25+t7L6J8]m+1jؒ4eK_$TdkgqR{b(hIULAIN/;:ymN( 0{$EiXL]%h]nBM:y[Hay&p҈/QqFQ'Ph꣥#c:}v'i_oԷiLe'\\iLS'iݍC ]ɑVW!Bne/<˼rU!/7\Zi5dc ݿK/5[ΌjJQ9,OzBU6,2@dؕ9Pj1dbL2b{DrF_Ȕ7R34 DPjZRЎCs$Kki^alĊ?&2fK[@-Ꮭ;) )XV\AwjAH/p;^73`"v% +aq}㸍WcU#:i \$s~]&⸱jՏW[o^>& h'ؓ`ǦqTJl^8o7^;_pU D4~3PWWyE߷W~s`;{M?v1wW?]7_~ ~qؼ1[K8ZE$ Kr=*`xZ}W.  IT_Z;pu|8W]IpQu[W֛S ϡKxPmyWun9(28s"58F7qi,".U+yYs9#|Đs휾[b\Y!G! |.7E:`B` \o 30$R SOgvplvK7g$Ѷ^;e[J0 ~*>Ԛ'fsز25] .sQM$.IC5MTm Xl‹y޾M|P#>a H6$ۡ5[ [U S t6lOY* ͺR+pNva+`,e9:f9 &RHEOk:I=<>)LX83]YJ].˻=ɯ7}C~ʡvdI[Ǘ_E[^ߗv0k^Na=4NFF&8}k{ֿZr05d[Z=,Ͼ%PGοHF|`Wk?֪3<~4NKqo)X+76i7 ڲGixw<@5VأxjxJ\8xx0xڍx@x@؀PNn QP,n7BJxH[|rQ~u>KNc߻/ŝ=]sڀ;[ML׷78jo^[ӣ::>/ b`h0^.a޸8DY1?,,EHNl`BQ2|v "ﳽF^Xv`2 \6"KPf1%#w"Hh!PlʾR'>,P0߹h؋:Krw@nkؽ9 f[b]l u?]} 1fCP=Fxpv[ .H v>R*>JQw ><*  VA=h82,/O1a_m.ї)4kQEh8g_3~y/ߋ_ƤBJ10rЋ>N]=08pHq5d;d:0#AG 8|!@Vœ-4ۆwD<rspHSLq͙!;>}< 'z jOz< AEfRN{R{0 Cf Q빃4Q]4!!36E|ත aJ6<%&8bmIw_Q~c"G把iYr!^/%eq\!$xa[oN/ni#y] (-bʑe?cmՑ=G,5knU犍WHPҲ Ue}`c(Sͥ`҆#hNgg}fg}fg}fg}f00