#!/usr/bin/env bash # # Copyright (C) 2011-2018 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=e6bad65b444919060ea32aea823e1709 # 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 (XZПvn%׳3q5IS"jzݥp i焁zĥ 55+15Y! mĈeYe-{2u܅W&_,8.Yd2\e,|d:k˄F4ŲgplA a ddr"#4pL f|hEYcW -!x^^(ԘB`BA"!!Z` BZPC>qBks/hVx=@~~' ^ Cޢr7b,޺tZyi¬.wCţπ+\tJídj&7nZw7HR…7 )Vp& <{ 1Zl{GQ}E] |HU{X1XFLa6 zWgl#@/zKy (Ԧ F]GX~ឿyJ0% *QB2\ii֎e2l(Wero#Xa,s$H޼!4e*&3gc@],o | )1vdIㆭ _]HQNuBl۳ jY0zF/L +܁@Y7MThDq2N_hyz n([i6f +{ xYaj-\b%ꤾB HImu^hXj46)e a__T 6Н6iY -y: &V35s232. PT*%*0y0 I g%|Ye3,|x8KТ])\daA)^5܇ۣ EJIɬbpkj6WDkSgK-/koAEK]wK-RÅi;B AY1o+)l$%]w 9X/tڢX54.Xrnz((ͧb8MÆΨޅ89(}Wr267^TtXoAm"W&"2߹6`a3\, S z'P y8:RQ +]Wcw!ոRz m5n8$|,o-LWsb!@5*iYZq?[yHh 6}>bj`Nr7i۲agiQ摌BXt1YqtᬓTe0/5"h`{G(d疩o tn4cqkxaձɓy{S3L5pD|1{tgt:clND̼C*H䇗dT'`yp꾳 -qY)2"@ʙ,GnʌE#X { ݸjK.e@4o0Fg~M2{]K:GФBH6FbtMEK}Wߌ&!"vRJ,ϥRܻE17W28ҷ<-S)Y쟳jGz^@Z AwT3#wKeOWgՅ5%C[?]珸vK|垹5kfYkW?w]sW<,dJ %xUaPVXaR2.K)J[M-N+wM R: XRxBXDɀ%%B%*SQ\TBՠ+gbK [#UnV-JQe>@E/%f ԘIA `9iIyw', xnԱ?Y'=:h~q?o_MbP_9SճSSHXM q48 ఼RVg&zk;fi3D(-7C+* ] õyOvyv."m0 L,'J: Ȕ9`lԳ?sxO(.SO:4҆8XA4K4ϙ%`w"[êH 1h?ۂ?8XD弋z^J0CiS@:cRްj5XbND̫`# 5mkZ>5eFEҗ]ڼ[O,@?%q"lN{ɭ$lX-f%'8rW7@@КK"ZC"J~hGFjr#,T}8ari׮E>Uͪq]k:V X wf۰…c6o]Ś3zjKG1qǼI_V^K֫_@7x6y[oChdƈ4 Դ I)CJ' 'ʻNEBOn@-.ʥ#7k ~mu7R譅麍K)^Xx"36Z 1#ڣHARAY^X)TXIsӬGm5LƥyXy(\2B].*pM_?lI(,$]_wgMo/X5Tn" `BfL:&27 De`PI^,b7EFlDaB\4ME~PQC]?JNR^8p3x|?bG(}P\w-|uz[Ugߟ3:1YŇAwȧGNyP1P/h=D9&/= "" -w c!>`Qdabظ_{I*{ة@rPP3O>dG+e&uZ?w97^B̴&??5R`bI#CtrV hu6)Ƥt$"0WڋE+&΀;ݙpR 1~)N$(|zăOriBIW# ױ^JI Խo$!=,T?O|1,x$G@nIR7P0ly8]pW-&Ms6M n6k;x 5siۗC&₯$N}i7|,}&)t#)1'/nLH׹#*aW9&ɖ:\s6"tWyhuE#bؗ: Kl F 2elbOP:<3oZMg(h{wD_g|:g{zIe.BkN2ޗqdO #am .;I^Fj@A[糿-a3ywb]SNo_߿v݇(N.D[ܗv v\'Vu1PMͰ`@/9h?RgL,\5\~L#mē}]O7\sosL'h!h֨OGoڣ6I2_}V܁y> ?{ Ai~xcI;G`{+x[;9ץ*bHj:*iNŌ@0gL5DYFqt^9(\'s3%񄙒i3FKey0Lx`tB+5;nNC8(oaxd3D6|#ʚyE)1+w`4i"X# ^F;<ƒm5-d }%RVp3$* CJQ\ !BKQ6lXr$%]@}qv!ܐka M5Z< +]Z2hץ4@0W!ŀ(EF{(r4 mKXPMt&~ M d3JdPSv4GKFGs‰K'M$M` a a0.*ђmPm&n+(?*a7ݗ"=m4 -Q*δ6_ "xZH"Vw7),YqqNBn@;y<lQ5f>'l 41.+]MJb6, kE.ХNY]^/ItQX`]efif~)/b#Q&”ԟEκŭmyE+b6 {ӠQal\IU"ؾFepක, fm\J3 ` /S]Nf&X%+!@>)*odzjnZ44 /UPZ #0S_82bWRVURM -5uUbOFTgvzA`zoj& |T&xF_4;:whh*ʴ>~+9=!^e|$N{C`]|xܳ5AH `AVn3>Gߴe~\Ťoݓڛ;2DX * ?ccSLAE-c' :]W ڴi?@/5"qKzr$D{6 ,t{I񆥎Kgfh,ܚ%(6 buۄ٪a`MP=BV`*lB剈 i2\ٟ#JAܪʄ"ZaS:H!qB'آOOΔlXV#EܖDcǧ;PWHeW\#1;<Z68m!Pʎބ ax2(܊?دsw)CN|#NWHT@! ^X2]CLL٢ůMkB_ ƦoU|/oJc'm^qt]20!jXؒ4J_$T⤺[1<=dN' "_ĴݜTĜ<0 pFaI#!, U 3g'.Frj!Bf{0цFaY'ylXe2H-;8;sNdEYIe L LCYm6Tk!e X.h{t 'GcXw3{X,/dIA)ÕHHџZҊyP0ɥdc nݬ/5^[Yw"Ec^ OzAT :",a=9nf^#m߃ሄñ$q.Weaȗ+6oJ3q%խKuql\^:b\C̙&Fr(`Rq-s`f'Q0r4pC%u&(}ϐe_Ȼ;M8iƦgP +aP_am(PslKoKmĎ=eb8DPmyfe.* .~Ft8La SzailkXDؼ"pʴ50 mą{m43M*&+<ߴ_(6HHIx)jF2VCS+52u-͜A,ѸY!tR6?ٲJaʿy.:IQȸzLڀr, ˮ.|?́Tr4ٶ}沬Յ|P>#=qXx<TD8at[ՕuusKUv~h6~lz*b EMOlY+ͺT_˪Jw⚒{{NXL­r܆\ F -X]"~ :l`(DŽMeSl{z@W5wQM/-B,<^ ^B Ă#NYGؚ#nD+l :c+0= a K5yM*7=E6E^":{1QҖHJ>N5 d';T 'KNn/z)kBG(qp36 퀖 uN: V~* |Z@ 2cBH6 ΩkAimSJalL?x}gzS =a8DޓN^c 0p8@;StREPY65rr=P7? !<{F[q:o aufZ%|cV;wO _*.\?M]_@clf*fݳCvC G!!YU^vl5gJRVNBN\rpZ?; pRf^t[$Bdy5XPnMPL\&tubm:2 evn-} {C|f :<MDtMrtL5 [U?b"tғPxç-r#8 (,2&8"9CoGZM4hf JUTFv!pumh킆)-'CfqjCP[| *#McrEk5OۋIZ&ZY%ak&ib,L[ߔXa< V9ѵlFbO&Ӎ4=]¤Ϛ`jgk/V_7#lēc_?yDgoxdA26Z%2G߫|!j+JN4M .#t X[`.c.gYfh/W6HNZmlvWmּ~T,SA9남tĘ|;L$*Bդi_ǝ5$'pTz$ V0q`#QX)䦶VO;k.q"@k,_wR:2Æ Gb(R061PLW1>v0~16ri{xQb{W߰㐠?# l3CQmg;t5 [8n* G9ఠ[EyoOYjVTtrf"}9)Z3!59%[mix[&ħQ<yaH $%Ht& o颧'}r?/t"ɀ'A.31Oh0pXBvau(8x 2M˘5kH;r@It*E6O둂o~z␔a!PJg Zi;1+%AUXpԌv/xzGh-yfb?~#bdtUQ(h߼>k5ߕi5C̻FڰZC5 o&㨉%7qF848Y'M4~ (, SGBۧwރthQCfl0Tr &.8}.hSs;F`)*B(< Ϩ@oȦ5fHT݈?r'[[b+g"y$@j+졌RbsNVE=.4cJ-!.b,֐Ilvo+F$y#l$9˰HJ$,|mq{4CIqQ@\/f6nva!Kʞl;!!xSe!K[r&x+%/@p,r#BCM.;lW(V{%!#v;XWJ+q>WkD\ @V2cQgzvrrߢWx : wӤY$}iT[vG[dqzk<_1i')_/_uחr+r+r/YXc2GWAj]EWFb!h֨OGo>dѨB#ϱV܁y> ?{w}_?<1L#;G5L%N ub!B± |2rVY(firD+rzqyI9y%d[ f5tCGQgd;J$꥔?Q9!T>F*$t $wJj$9F:j rD=ȓ)%'CTԙM+G;rH!g"B"\ z|v`Y֤nkLl.2A}AnV=cqBylvSzA*UV8󠳯>͕^ g*Gb'+0D1CyKֻhni3~{ڻQxQ)b鱃]A#k5P\f3JG@{]./:g5F}S%yMC;kc!gZ\jYு%r9Y>HaeV1>S1R㬃iI16q pp腜q=μ @2<,SGKvW}(*e> ٽO%Za8¹4H,l4T'ܛ^,ªt9f"Ņ ˥ևh>IGkPoCc a܍l94sdKRD3h,pfJHMc12HMu(4Tk2A6͚B!Ft5ug eeғɨm3pϘ\r vi",k4ψ ץT@d.cT ͠04&%%!3$a>+JEL=͈nSJ"((׹ N(W{A)2ENb7I1$Y'2XQPxdߖW )_*kZf sOl^֧m4829ic4*ֵ:X*#1I ήE&Sl+.)T+{lwU@Kbhr1Ǔm+5;P`Uko"ɈDc.U4qOlp#J]lV$=h%>.ddTa3}J?`v%;8G T20o*Ѡx\3 gȰ(A$֍ԫs7eRv \$lwf {i /@)'tgEja`;̛doZݴWGIF0ˌ- Z0-JA4jxWWOf\4i=eY2Hb”M(zx񔶓8IɌ^QYe6TAq|8i i#j_EC$e*u#$ٴ9qgRЭy I~_7$2Z*J?jA 3 )_mn˯-AlDަ$=1)# f+fߐYMm-0;8(FnjGN8BIcj]l :6m Z>95~_l% OH\ޥT2 ,EȑX^%U@1 *pd2h5ZXTCdl_Fn?W=(I}{X]_?Ɠ㑶{by?“GG_=Få60S'HZn9h?f cz+©:I qFON4ƃ,QvOޅI6N0B͏.UTs+չbhlfPrZ,oB3` OJs9݆t1/z(UpV=  9tCP/k`,=eWV/XN8OU#,BP%XÛ7UUx'|]=| yԻ~~NuSyfqBk+ // $ Vn$]C3X蜚w~^`\i!@}p\=Z A4~冐jM)e]'F8`!ZX%:WNo%R:dkSS+{# HF{Am|# G6pSAN{|'2b3?yۻ#Z!%;aI鴾gk罠s޾Fe^A>4<[qYM\ CхYrQ$‚j S>\Q ՌƁaMxfV7x"-c &P]0Y*X@E?m+TL&k% ׂ,? [X+0i4ŠmZ:;GaNOǹ6TB%ySd wp@[KR:膂ӑDGeuƗV t"oTYfB7෯p E84aڽQRv*%3:2N"{ m 4S/Hx>&`Al{Y9 WcាsWP@meyi_mJ4 O4Gl_HsI40ghk7\\4 ݝ.[ ҟNpti000lLt`2c-Lm{\!` SaI2b$h)TG{UXիTQb,̨UU%Ca%I>jب TVOY4.\dT沌qp!W[] ?={ ){j#pdqcmF ؓjp+<n5mhTCSUfhMF7xm/f]4"$n^*@+fh l$:e,% Gq}iZeI~D97t,Y$W,/KtMC´>aTU\L띐^dO!Az/j`0C`<$İl#H68mZ[ K1:cF(X)7 㢭|ԕ8wo}N;<;|}tF0wR8^!;kq,feE7 o-Ǧ8.]!].3tGhtǧ`]`1uѿ3Bllv6b%|K`qFHcA0, KH]f ya\Y;:`$|_)VW6.y)kk(FKχ1GmW*V1a+Hv KCpG'!Jcbmr*wGe9u7so2@yg+-h)4`Lk#X'&sר)#A ?)Oc 3:StP1*,>rJ.WsI( G( QՏR闣] 0=X dn"kDŒrHum4Sd(HbEӞB 84b g:>Z虍U08bR"ĺ3qI,ziϿ_s@Vj+;|ZOZJ7u []twq.sHcE6'b4$@" "&U]z=oH5W!)21:S|*/nxĞÓNL N i__w19:99ӊ0^٠*S* m1+po2I|hM:*N\0&=`]`E pxLC5v- Js6O̟/dk" \En5O12Onnn˜=} ݃eY~ޓ %w9rD|-x_=ШiCKb\ 4),lͰq\?D],Mf,=,8]B K +ǎ0jR %¸?::,jf#^e΂{f#N_B*nA+SOCg5.}ǿ{weψ"\J{q1Xb4|G}ɠ:Q f4Lv%¿>Od ۘSŰ\^:8}SߥL|kl+<ɜdM6+r . 08x x!]Qb*ήw?aAfx5 ԅqDZɄ)FXbu[[[Ewnu 91MP%µ2U~"8BdLO^gBa"<-Lg$uKhj8 4&sK'Dy\䑊(->Gpߎ":~xO4hea,q;DힻAH^d_hgBkw_X˝Jx&-?iR^~:8\15$x $'SzU̮Z qOA ++nT`[H#y:??]\wpipi[zQcm%]eؿ3_o+^(O^:`k2յﱶzZngBYp}(,P @yf_W$r*^kaĔTΕ1s! LB06V30m} C,VPI iªP!leqI0KȲsD-Ҍ:z^+淢 BڋVjД[PYc>7=sG6p ކڲtLҐ1 f(:(/9sˈ5}T-Urdr/ayR!:\U2Yj1)8!ܑjs0dBvG]u$2hcS֊F}n+eKbf`m-~6\tI[y9+[/|Kߥ .RQA. ,F | igjff="ll;؜]ptح`Tz6ͪepxIxkBMx8.JQBT{g-Fm!]T'PAʗ7 J_sg"R(?x<8Ux+:،X | WN> `lv{( 0 L_ roAUCЕ<3ybb 0`|wNk2L(}' g\d:^iѥǁ^[qBxCQ< 0UFo4{q{rI]K4Mi52jw',рWQRچ[͐`-DXwZ[NP73PowǏDBצ~NL_g+.c[h:%T)m~/&6" /&f&<7rl$ p*7@pXv=z{ G ;S<"J}:+'{Uֶ BMkݱ,TAtf8i$ԛ9uq&Rgi9UBS;9Jڋ˙r.t'>ga5>ZXMό 1T,tȘDW)VixËhDIJ)N^1W53KgˣAStPBV^BC1XmQOY?yqO鍴q9΃H%BaH^=E @d4K#-( )jpN)T-"RpӀ^@rFLE $+`ֺo#Eq'DO/В{n.PshH h"2Զ7|a72)Vo溡odg'G"%JEl÷_!DdncnaN.9 M_BX??=ޓɞ*Z(l͘9f`[C<l;d#-F̚JL-^}d&fΘ9\Drj['iSs'|P7 >]eO\dPتe26MsXӎYXQ8ȳ2H;~ m l҆ 74Lm wrnm/\!a~YzAI Eܡ ٤նd8lQ|Y3+Z%L-!Nɭ "#}7$q~G*XCl|gel*4=`&c!d(kjpp+Gk@0Q~tèR9,33 4ۀm"A6gt0k`>N-9_?GՃkk+xrc?vOzJp^iz[}aT]-9U~)JBxik9.Q4mTƴMoR\6JjG') ՠy KoN#j[}u}S)Ԏ׼OD܄rO6CKe36+^ sBbjwFMlPXPV ;^*/<H͒h(eYPcg0Gm]NdM 2aq8?q?GƓڏ{xW\U?/+y\ksM` 5ygb؁݌ Lhn2Дp~3 8E2ܮ=4gfOӲum! "񸈱*EoKD !N )aj߆cr1\e3Ȃ0ԑQ|®"~3w$ϱB4GhM0Nԣx Q\HwoN-&IS-%*%Eӟ'm:GLgK; e6\CIwN]≮o93r퀃PA׸WĨ*uޏ/#؞i+xSP0dZZM'x(VVYf ܟ O.s'Gx  ɞdd A~Qq˘zCgeŋmfSa,25WIּ90P7!nG5ZMQeQ+8mŜʦ: lǎGf4p?? W虐gAIqaY]M702:WF.RC8A8F2:5 %|Yg=;G^@A]]Dwy܌P#*?B Z&5mT &R.L½`0gKBPuxpLQ15ޯAD0sB#_\b B!" s*.)}D*'3!-bN3hJ`t<$F7HYV9#bH 8}x۠h+@0rcHP~)ߡX8=C=5? k#0*"~YT5Q!Q4o!݆+~A'])Aׄ;w˘ʧ, &w\pfhwOr%$o㏥pTlɽcDT9b~[A8ڽ?s[p,p$XXá3£14w~/V DG=4 6/Zk. ?5[!'BN˲<+PF,م7a>-gF)F<ش'cJ<_1i')W^$=_]Ms ?ϭs?ϭQwۅF<|@.>y`y_pHz= :ѹht5.S|^|h/ |Z/C/^ !r?c&h$(v]4PYG o B*1b !!z8H'A PW|) "u@BkG/1iHc)y7q(K j,"MkOZ›f-WO{ܬ.ÍR5,e0_b_"1t{z~y )X" RԁAMU$qs^:9aL)cJn;Ib;V3U0VVT^mUl TS|(> Jr[j;U` c 8')G~UmrK@[e>Sȅݱe뤁^(?̦tIS [T~s13@0U#Mܕ&6" -q/ 0 FSA!@?IO /X5.] AJ3P>Br2~*=gѺ{>֞xϳ?kS_,_߽|-p'x%%8'?q ƣ2zxBys埜q'lkOO#; -/Qs~Gg';5:>- \8F``܊?,&f@!vo[DA|Ύ!>bq0]5&c:.1geF !Ek@Lʔy(|ds5Q41±Թbs"~x1gb BNAa"W{Cm?oؾ~K`jFM¬MsWDϳK/Jd>5R Fv3Tyg3U>mQ(+-<%p`p Qg8&>e|{?hЦEB!XU(xvWyGyGyG(c 3|Sj39)K o]t>iᐘbj3{꜒IAG 80@ֈYţnKD<}V`'3 3+gxx2g~wLރpdǍ90U2twVl̻ d&z Uꀧ4"-A;[X2$}I*ce4oSBtyea[ aB6<%18 ,. Ŕ`>Yʗ8=dq!߅HX4P*@pIqD@_zs1,/&'bėNBʗi??L|˕k<8g w _ǎn5ZY+VO^#{- VBVÅ\XLHj1KVSɟɟɟɟɟɟɟɟɟɟɟɟɟɟɟɟɟGz7Of