#!/usr/bin/env bash # # Copyright (C) 2011-2021 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=8def5956189b8aae7c4fd4b482ef5413 # 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 Ba Y85 6W.%K.,ߧ&Y2¿}C||1۴pHp؂YH3 i2`_Z>qȄ!!v|ˠ<2|&$ &5溵B`BA"!!~ -0i!LX-AdԵK) :"3!}jш)˘0C0}X 68R2hHCmB+EO X Ă1X9S D`e[R Zh|. 8+E H"p= ]K>BD:Ǒ|qA+w䳱:)e=$҇HR2jؓ,)";qW_T 8z:\I%ܶ䞬~d3jg;O #U{GÁ"d++^[@JR_%eK h}i 3 l$ڕGRGEHU2:2\L$=X * :I}վKOJ+$ġUVǪD.."I9%„6V$$Vlr@2>+2Wh$}73$ŀTib]ٞ5Yq UC>-^P TM-6½|aJu@PP!LhHmWIx44{k2XH>U,bqS l̩2x#y4Ҕe8<itE_+7o%(S@dؑ'4>ü4֝Dr@Բ\loۍ7'^@VUnЈd>\QB34m25ÿVq90Ba45 y tIy:0@)3gR[]l|QU"uMR&5!j!fմVSPSwVG O3n9^߃awBB =S۟dwtXpt3f9=iİm$L`,0\|[x7 _.MU(7EF|/ZՖ-nouk1n3Dﲮ>CAr._hNZZ[#(rݽO1Rc)idY,F45 Ax|`lqwԹj5cMfkfywqOzghLァÔj2i5cʣw{3C1鉧;(ƥ([ ˧fiNt^aT!$ e? L^ /CXɄ"7,?=t R g)|Z4*K,/и+0q=P4dɜJ)a&f nSxE=uċۢht[u "5\ȘÊ- XHJyBfDvݥz4d!krи`AђQ'H1Ot18 Q)99,z}dh=l>nF /pѩlDۚE4LEdsGm]Ì5\, 6WbQ y8|JE 2hȣP!12%CH;2qgt m5n8$AY}Oƾ52] )4_ӡVe>Úu,[$WbuͰ))zTC Ԇɜ*3 4nҶeCdiQ' y`$cBsY'`9]_j>d8/OP f-S(.|jr剃eaGy{St#kDcΨ:clND̼C*IK"2t2' X\,,CK"&33g/ c^C7n)wĒ}p!LO~MV@X/6 BaC HD [-]}3XXKK3&E17W28ҷ<-S)3IjGz^@Z AwT ݄aUaj?Ir ^wK= pmkbQJGowowowowowowowowowowﰘ9R?,OY!,.Cy9}^.#ESJB{פr|j-in酏HܪWk9ϓ?' 7P:,q5J晬FNȺkUS廊^2@gk/%f<11zs3H4AO4F3m! oԱ?yt jG{tN ?h= HF4E593U=;U=1U=q8 !FG#`/ZMZny5Xv$GlֶǍ",͐|x>n?\xpm@JvџYf{d51yQz2nSv|٣Єe` &ʛf^jېf&60Q9s=IcpᩰH uaB<ۂ?&p/-vyV*sPԨ~j3~>r \R$au* ɸ#'8rW7@@КK"ZC"xlG#Fjr#,ԩpxDq@AoU1<,tL2{c% `[`PlM=֬[̔OqNT/fM!$-?G,VNԬW.@U'0ݨQ3cDiiOw )KO$ʻIEBO~@.f9Jʥ#7k ZBb6Rĺyme?ҭ}訌8S:p^glSFVOGiߣ6 Y^nYRkLbaQ3^άzQ$)S=KCƼ nSOzur6f۪&Ѣ`h?MuwF}1nb|{BonM(>ťY4dҙ[Fa *ɫ"vS.-a x֦xbsPixEBܜƽ+r0yH V=1=d8P'{/BwQ9ZeӞ~i`LkZ,]b߿KR¥KזFh@KI4&{r!n\!{+ veJ.({H8rF9RaBICg̈Xo l$jakm{}6S_k+B ~%J7UHܒĠa0ey8]pW-&Ms6M n6k7y~7xgQQ3Ƽ}<7(d:i`li Q'XLRF6SbNf_ܘA-\U ^R'0kn3&Q3"9vD 8R^/` S6&6 p?@y,o;|a.3oZMg(hِ{f"K9O(,ٞfҧAs 5M~lu޺,_Z̷f[_[tSH}Qf!08bw:R4"i7ƃx5!`@0)鸾鿿$%|m>ؖ} ash5)%`-_PPj s!I H@wW\DDTv5 ³^Kp}4I8P*)-M&k{,(f¢b)(iͪ^QuBB  $=Kp`O  H#|%{[0a wAYBdl:e-Fm7,}7 5Ah}#T4~K XNq4b E,H\Gd !ؤ1P4p +QHM~fȅWGQRcҥTߊ䦁ʊV ,ʍm؉*2OR@U.M LC3< *" BtE}M5܌ȝe5з$ F.*Hbq̇DzS5U{ LdP jZ$w?g,+4|Uq41wUml!<Ϲ+F[@&H>0b,F6U&i*ԬiSSw6aPM`NZ!>2K˒Z~iEW/#J4?=`0 * 4{^h^N|oDX[f+ՠi@''65kbu3SFM`r˳dx8rjؔ"tMlʰZ]71dP#Nҏ^Z4_|{Oۑ… -90`닀^L-룋][άZEU$%]t!Wt h8J Y\]k)9klm? ^ό8c̕xAdtW(>a$=чSU+s(0/=eyŭïQHdcΨ9QBU//D= kAiT}ٱ_`}(P.|U4-H̉ \_PL*e_'ΞIOUa#%mH P)y/̀/)h[5{Pi9n۲x}I~?GWsx+O9/Ŝ`N:zBk6 =E,*C Rq^HL@[kf`i3KxnxArbKy09QaZ|6L;&)KԪH8D9=X"rD}.)T ۀ|%&B=%)jQE#EJ?JHڍޫܰH)}3՜ӼRSrƷGͳj1ZYn'pjK"KMm3 a>z$V.ٴXX ROO{BT@+N9 :GP~Fs— 6M X^ &̳B I?=5ѧS܅YB93JK w.윥stl8p=\7sYbmYUuΙ:fZEcG芸ޕ( @`x< v~.#/ Yyȫ!Z2ܗrA, UJd=;=8%}􄼕?I`N'0o2rU_e֦đ8?5}T΄oI}F'U3*4G;jq_޷r';B8v+AVeEsemܾhQ;8GC;fՄL\ rd:rR))O%tS,kg95L=4$SFf,t܅6 sv{ qt*!dn ʨ& :l D増/UĔ~bρ0o-nջeҦ ߷ک|Uٳb3RfJCgF!1Ff-j\D|7LҩkbR܊ljY$uzU \'Lq H)EKk1J]ݻػx;WQu l`};*OUS$5>/)AAXQn[NjF؆ ay7e2QK.?GEbgv ;%B; q&l\ZZncÈ6 /79)pjC:FhPf6C,Ӧ>h "Y,ZGc 54oYdi)U\lMK'1XeQVUMm딮rAxcf~kB dgO& 7DZX ]ӪYg}G6$KapY91׾!-d+# ~&9Y6D%ʶm+SU2Vn7l:ZߚrJaަy.:ȱT4fj!A-|;ՋJyJW e }|Tq!L-K*7 eU na$FȅUɢ4n@_. ͧ߶o7/F/"iԍnMΩ쀹Rt0ș ^\jqV L]Չ::=04#!JQ128Eߞ>>߮{Rr^NCYmV<?.>ۄ=?%HX_vt;b\NH٦"f4sQӾIQuVyZEÁ-52\}(&S5 s~&`MeGn$Z}vw $ A > kIuCZAܒw:UԘ ^p+!GX0u\ВH0!ACÛ+" xY'0 ؖNiWBxQ&\4EZ/p,-{vɍ/x([hŻ5kz}_F[\R1!*al:"!waBg'BQvˁ[ӪmgrMrX.F{y,n˔F>a86qcrRb .4yl&F5ՄmvźG߸wߒ TwlüpWMx@ +xm@!N)$@D#`$bKVnQQ">l+D+Lhr嘰%[܎ ;[=Q^VY'+>k;(txsK~R7INɗlBs/g-Pwaɚ1^EZ]`t|KyX`61f gyeP,ȷHh؇#BVJF mN^9_ |J>h_XSo@=fjyH1~n7PoK'6#LGD6j09~7O}hd%t5{p ^W{hɿ`=Go%{h/ .J. qs #s{視m! =ƞy }unLpt"PT')Ӵ:og{u}'cO[H{]뛀F3M{O9,(cݚ纙L1(?mwT#FZ7L[& ><P މ鬘nOղ-48eoHB$No]Ph梵G3^L0yL.SEN9רּ_ߑ-hu6+uUZ2ʯMEzfgTy!ɟRx%kmCES7Ӱ?Vj@!ݸ]Z![ѺVKʫRC􈣢-KNnAk,I>_!X ?<\y,ΰݽlUHs$zڻZC?;isgyOGM`rn0[❟^$Si^Ɨx@TlZVq]k0BZI>^)87:Ap57\&g'{8*`nA |Ąo2/iĭcl6bAllGJLe_u^z܀^StzY-a`E&4C($J.CI$򭂩Zh mQeNWƨF!M]&VX*p-~Kū`\:$D%8: e @>n6mӑ\ ~sGU5k:@ƕxiUu-oebz8^EgG{;~*8#jfݮ936 9ѵXЊ͏ԺT]Lq}*Ʊ]8..f:l^89z?~a'Z{`O)0=3>\*Av|ZS0My@񯰅wƈ)H0 `S/xis Q_$Dy!:g)vC(v ~Z"9ٙ'?f;N]ގ_M ġ B_M.~t)7/ u4i0LzhJ3 H\6Ř2t0ǏxEmyONh"M: -GwfɄTCéCL Si*|u^wn-Ya[TQqcZL*Ӹ[0S% Am}eeR#as$cVHvzCJvr#ꏇW5E* ދgNʨ9N16jlꅯIMoӤ%59] yZX0̌_MOqJ$Jn}3>qɰa~~`@{Om׿5졇hLܢZ`.pIrQ6osi_C7H@wy sp W`OL,Pjb[C^a+ >,t!\c,l XFIRbUɁClIsrpXOW \(iBQ RFšhBq'.d@vҦF{ %SYQ¤w*@y>[cE nÁb=;4GrC!6z(^3!ahFO O~)RrdϔMϨ8ENGp,Ol/Z\\./ӁTz=c1|.\@vVkZ-K7)bO_{/m2,kzW~ w-ѧ 3?M=מ8,vd85UJ Qԟƛ.*E~9GV0m.B:斊iA2:s7UXK-kUqGs{R_݄clD"BI`% WObgTjub4x^"Q@ĺVR(C;Qc9o&K(H/˒1 4:͍$KF9npQKk)MwL@H` $UztHTP:cː:ݚ/KUkI98;oyVꖞr`:3yӿ{IPD A-uJeĐN5x*GY615=\}>ݮc .e}ͣ.YEǃnkbsi]zmie\?kt[C}] fnlbZX/=h PWZvѸ{ė! nlp 8Fj^sZ0 Mr411!u[34&pNb;|vTF[iR-5y(I{2H; "bMgyk$GoSsBo%œQx#U./R$땤w6eNMMRVF&zuښYS| Vf E&3aNP5oa?Jw-Gk<O L@ԻDgiZ<M:ǨZÀV7ti̅)ٰ&䑨8 F|d"`7rPCўjGϒyՍ(*q]M*vƾAv7'r/:UVA {gA͈sVu&"oAlqΞңCqs2@GCB[)Cv3˟A)&a9RIa5*v6XBMU Tu*LLsNU>x-8F,v}wf#jQg#7&Zm{"!Oj(Kv3iFlʣZ*'1hŝ7)%N߭ZZP*p!ۻٳG}rv|tӞ!oWMY[A .'2rퟞ#m`$ŷw\z⋵D&Wۄ\ſ3vtcFu]CtWy|aEXijlf+_ZJyxkhEw;P0݄?N{ۅ9PZ)o'{PլgPe;qf:C|n`uToelVJeA["t%Q{r[*k-h^PIV*.,%SWZA5Rʔlbu) PpEf5 [’jPעu=%٩P(+rLU|^LA``ņˬ]+Sկ(VR޻4" eEvm"O[{Vm M[?3?g3'w`” [$i[wDxyQpڎs|C{kzo'#ww7`1mģ}*U_6X}WW=ztqh~gwuS~BIe;jԡ- ";Z Z82 >@e>yom/ڽsQS&j[%g2{|yc7cWm8,6ĝ&~fyss{3L ˱4oeF?^mt#6t|(uL *G 'ͥ6;u >~~x}}wadM%Wv(@zy!ɉyiz[йri7Uwq@$P2[QС CTO^op:?Z"A5JP(pfJBMZQY\zCaQ=Z|oKp vk^˛ #y\U  >{#7Y7'-s4TwVFpr5UG!* ϲÖf v%x(AfCsd%UlWYZ1xv h6 \jK0azt"q0SP),Y˰6-z$9:8>oẍ́.Ԓz`cꖶ}p7֧NΒEN .Pd_v⃽ãl/r-T) yD`N㊵;I I__62{G | \l>Y>Xl3G< #꾓1J-6DQ hV_s CE)ɤC*pmO+1 8~ճ_~>ied}t1&>>i _4U`|z<<ՇUU4Nj?||*bG?4Vŏ9BBUrMS:>>Oa9xw[[갠y I74'`sOӼxd?p%du衒gTcGe7ݜ{w;GB/rm9~tk}qil4yeSX(ƛti`XŏxfΡ:꠮UɓR^"zx<nAr[T$Q =Z G?nv"qXc$HW.rsRq FI7L`-(@8 PN΅ O+vk{xSR&#͍kX9}+W>.㦱=>]]Z,& fMuZQn#b>P' [JWRU J !yK$d GyCC2g!)M8m 6 ϚQ~]~eL1+ ?U&T:eg~pt2PƜXcw5-"IJX䂎q?[y6v-.u]g; [/bW}he5~f3{=g3﯆.  CCiJ r(vp/wf8E~ { u"1I $jakRjfTOb̭R J8I79t=1n*o%mL}XXV#^,{a%$D7.K-^'f<fNzf{,~Δ6菀{96e㎾(R/?ܵ$W:YETN~r'vGp^jlV~52Ris*TWYC ^2+i`FQ|IUIZGTl<iH3+Ish-6_ZHat/H f/I Mصqo67D5N7Hh1K|y}jDWi-nӧQe 4zcxkgip}rѪR ݎitOS:V<#8¢h;0AAgVvbjP y娭:V9EZ>ma`S=ړ-F &հWEGTWef\އK^=/5`ef9ULv&Zx5%V>2$ ^؉^/cܵGG[2//yx 4&Pot0*ȕ){/)/DN؊wb1 )v,_:8DU ȕ8ca@`3ZtgZuQ&X\5`˷|S%j>_ʯNxΉD NcJ hWIw 54`3'W\h@>s"6SW"YsͲ?ǃ.n@?hnYZB%P8ނ&}ɽ̛3 w@ysVWSzguD6')6ag\9t:Amդ&^[qFyC8 :ĻHvi5"Y '^XS #is+}?[t{F=@1-hzZĤsNm 95ЛVDcv7-xEKl1ԅ7H c5+9mŻuÍ$Ÿۈ˼8Q$I $oܸ;*ʓ}6`{gavpiưL@duu˖L)cA9^nz,= wξc?qȅKjKo{+8fYdbqcTQob Djp2#qEU'KG* -('~̷- 5::ֈ!f'\ ]ÓT͜~2ODє Nc6hO⣓'G JE{O+}A>i~Ř]hg֥N[2/avIfJp2YK B[:LIw'2bu]= %EYyfQqLO[/ΈAr%sT66N دZG $Ij)yg$d0QU(l6f1=S܃PPc7Gs]׭!q'J q GbQ-cFN2 :C: tZt[#/ɳ=oӝG̹'fؠ*&=BUsLUp~^zuaA]~JS3Lq/dVJ!`#@xj`Fo T0zWиu!,_hܧˊ'Vs:mrqzD~chhe@*'ަ_'2]36sXS79:! 8( ϊ3 )R 3҆)EnuQ[_C!M Ȏ |p%4K>̥ڡ'" wYFߓqWVe#i,r) x2h[[FV3Xǯ #AZR_[i0%!|J`8tȧ34ApM8/ћCS/U7L[D.{K[TlHe̴kJL2n6đHf5wJW7g~r~oLW6Wk돿Y,=E}ϢgQ߳YlR1ůn'Dz QPX5%/ðD~>&m~- QWV2 ý[JޞSjR,_-T-fq2 t*Ox$}RrZV ˯ӻs~z96nS=gR2.i,b iTZq{yovӽ1W;gj/xg/O϶ya˃RtF>{xPJw/]wy<ۇ 搒J?xx3՜cGI}@Z_u)z;>݇G;;kR;?~FN$ŪK.qJg'ԏv~u_}v~XBgx'PvXx}Ć!L{x‹ikhvPN_uwQWfe`i7:/^pB# "3lGq;hLr*jTylݑǥX =J68Ac2Caȸ2l]}K31hԵYq2 wW*qǨE-:b>oȁA Gl-7>/tIE@Їv|{ϏLSxl[#- b W.E'#i2*@'MPtiM&eOG3[xzLefP뒛4O)v`*6JƕCPբ~b 0 h IA(DGdt1Ewk ȵWsSLpYrJGD0vV~G?jkL5~3י/d,3K0,3ש_ @^"5kS^ y׉5|C2UAvCUTjXoT*_Jd\OקcT) ʱp{5DX!b(^.?&Ja`'r`F}@_i7;(- ǧKO/b5ux?+ol-=$WVw% DYvU y~X[_5Zâՠ]:qi9=f (f9Ld9Zp g ~.x^!@D4k^uOߍ k R:5]OHٗWan_O(-Z6"oqo~^{-=fS w{-${-}^a7=8EpP/(hi> =( .f.tA ߙJS0|T^L0Ex3t n!Ú/ ѷC$i3'h; Ȗ@ (  wLS9E! FǏqа+񛓽:DfC]ۻ@]5eN%m k6#sqp(l2mA @me">HxD᥽[ [&^]9މ,=1<'K48ت#g5I9TM( RyIM¿#Z]{thr K j9@r=mnG DN8.QF+)8G|`%!;;f@'iGl|F*Qu+u$kZ6=GՅ{d̏]Ό@Nt$ft`/1ʆ%,}],cIl" -.|߳{F?lߍE"Y:JTyH^cr4F-iC­ V7sQ͝܏dqLlCg0uf U^'uS-] <7NtGNj+*?3_{=y}ϼg^3ww2,w:PIộC(E8dгKW#B-B':ӊ\?&du(mH>pz֎NAMYt 5dT҂q"tCֶ!|OϨW+\>оߕTTdNx*Wq&?q0Cr"r-JCsCyi4yZ[@x T dwtLׅtupx" 0|3 q+֔|Q$F}fQ3EtcM:,/O@ ;VaD+Dsuֱ'& aZ8iV IaN,+Ċ@9ĞCka0?~?{YdO/'{fAL0+gk||a?ĶiDAɮ-:Wɀ g!IMLI.F <8Lͫ!Q+f=Ib=N5`˭(UKuZ /[zUӕ=s1LEE$ףATQTY]w,w/5`o J Y㮣4/a'fK%\RæuJ%5>{qkH=0À迯@-WHhhR"Mh4D9r ϛ|dQ>o%{K$2b$.Z!ŧ eY቟9=Lnm1>3IqnuΑ^ ojEs樈'qOֳ8uć%WTtl3ޚvHsrm-YLm%j((9RӶg}'\Fvs8B:^Pv4ٶ̉xј'Ҿ_v_:p '/b;>bRV&ЗyyBi#&DR"[6;y^qnL-&L"z>۲x=: ܺsöCF=-.B/0fF739j^0CEqMQ%(XY]<\y8?nGT !UK`K-Dঃ"](QTd"ɞ \xR)< ݽruaV7U b,KnFXX_7r3%6Q.}S9~YK7I2zF'F$ߙO϶9ަ !vLt*?˥fڇg6WRCHFr:jqFAڏAD:m\Os(Х twhP{&!6|>ouF~,.èЫa4!}?Ơ d+?/)fT~ g}G+kܿ<[.:OW-쐋j-X9֨;p}ovY-#wz.o\C 7sݸswÅsnݿOwvߑ;r'NnݸV(h XJrtdATmoVea˔$^uY.ӳx-(LIuv^,ӳK|cӣW';utNS}\\FMbeKFkOތ@DԊ[xfsڌ2~6|?lЈՔl LkM.nFMk=~zuK,W{g{gr.^Q>}pNԸ_I./q - M@ԨTxv\3yIӬr on*\ [t ĖzzipRL0j0׎I.C*F|2JDPL8Kn/|m}Gac;0~"E*b0FsF+Vs(? ^Q Wj۷2-F}$N=R@:YVC  ЛqoBgH,"OXP |x/-H}JhoȂws"=V(`EWO^HĞxr%).Kԗwh%E>y'jڶ`|ӏ]סPvr9ZG*{;Sό~f?_0