#!/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=044fcc8565e2a7f5b6bbfa4ac1350991 # 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 MdCt\ݷs@=RkjLjdDM(l9+נebٺ@*eHiM-U!Kɒ ILouP@3;_,{F 6-+F!)u-}Œg LbZl4"E2f LH q=L(0jJfS…h`)tsx&X@#esC< `Q/e(s=\GrW꒳)`q$_\rJ#]h#lF `k+0vua8 FDd@G*KJNoܕ(H|%*l@28'WҨs 3'ٌ#&H;^{DpHJזPWru_!"L:g= 'cvQ{  8j>V?cNm_/ғt# q(3Eձ*$HrGRNIo0 I6Ɗ̤'Ui4Uy/A:@gw}dٌ4}D( }ek(\G`F$rJEO ZV2MV@fS)c8 (CE'Js Aa\gKXlcOCˆ9w{j͊Ee0u$-7KݸgtFPU`l(6lo~.u%E):K8HkbvC̩!mRbr4SENF1U\&I J-i=mP>&wo;mZOG4^mRǻ!mS1U2XB!":1W)Ëao]ӠGia鸈2\hCX:g:\1L#A 2'SJ+SZPԎsʔq\}M]JdH4i0+Fq1gxrVP.:`EL.M]p5HFt,ѻN؈s$H 3sfyNʭ$*X1x<]+ ͵^bzS5~<bX-LumD#$i%Bi(|Lw믹wijbed [www dk8-{uYA>-{$grTGlZ/pM=(L˾9([U"yK HJd 52`dN3 HBJ9@r!Y+l~Gj9@}r૞`4_1)ѳ̀yf@UsJ:^6穛| hrFu=G̗E{BGMLYԻ%e:yۃɁ6$7Ûo`-/ pp5$r)Ѵ6, Ӕڥ_@ C{Dk8݋_3\:=}iҬ.wCţπ+\tJP2 HMM,p!mB \C0" d!]6'kdc!$WP@KřNƲ1H[HSb8p6~`߼ɗl ; BFLaG4n BԎ"XwAEnQB@vpֳn7.xaYTiB#qpBKpF NӴ3 ^XK0}l Ԁx-\b%ꤾ€HImuE!WMQ4 J5Ԕ2/Ih LNT nZM'KeԀw9 CQՌ5~5O\O=:YXG2SՌ)߭iKplŰ^hΒ'&_ftn-,9]yRL(Y T,0y0 H c%RbL><uK%mh.cBbBѴr%s2+@9ܚt%MZ/n[EmR+@np!c+>.Dc!)+兒 f"YuѐB-UC%GKbDه? l>I|o6tFtγ}Su%Eò- "nk2!L6Ct 3p,V3|>\ڠPK\E +5Ȱ?""Bß <˔ !ȨƝq3,e>teaXH|MZI kֱXn\z5BdiS1S&s֖$|pиIۖ זE,'(ePɊ ͥ g*Qw}A+L}lLw˕'[‡JV>qO k͏`R#}!ۧ;Fѳ91$/dT'`yr꾳 -QzVCDhRn*E#X K{ ݸjK.e@6o0F?bJ7a>Xeb]Kx hns !$HL#%&Xn_wh"bRby.-͘b\mC\++K Oap@^f' ~Ҷ+y)k-qP)/gЇvU'+Hz-(  vR?jGV+uުva1sXR* N嵕+VBX]Ƈr] G I=}ICZ2  U_32% shWm'RO<nGTu3YjЕZ3Y}M%uתb7;-IQe>@^Jx!Scb$f:i74i 'f9%C8Cpߨc@Ԏ~zj78h"kzs9gzvzb {<&pB,F^|̛Z+lk HmE.Y !9d=|Z!ݳ8~>R ?I[*jcd8`? !óG +L7ͼN=!+6Ml`(js>d{"Sa\c >y*L`'_$Z4T^Q/Czgy(kcJβF^8vtPv~^KXL!i10DDZ9ֹ~8SîZk$]${Y||  '"N I*T ?q'lX-eGNO)p> nFd57D7E"GF,.1X Sʉ 9Zу4bxXәdJS1<FMz"*Y%)S/<^j7'ͬ?8CHZ~0ZYY~],>OaQϋ = fƈ4 YSS6HRZH2w6ҁ ]r0KsGnɍ~mu7R[ )Qqxuƽ(k7jҾGmr#K*x`miN}Nh3ªf 7{c18sHhSB]{Jy8ݦ2 l UME6~pbb^CQ}K[Q/&$h'ɦ3d-q#TW!E\ZOf#J쳓M/xb<G%nwwn"~E]6l_fΒ0k Ye򝥗CD։'XFl]x eia؉;XW-% ;Y{ 8s_ꌤ*g10;X3و7=[i޷9 :x;m>cgx+umcśAwȧ[Nys~rd_\NMPڊ#< 2 w c ?@=XY;sqsZ j"(`Z 0@WށGc`jݯO{=W3/kt>}Z,I}bd.][٢-.&ҘWdWʅ [rMj® 2ؕ W(%?#D›?HmbDti]UD7mx4%٘f}-GE\"_D\dMpЧv3hϧG`3IL9}qcBosUW%xM{KddD+<4䌺"1DKTzj{:`L$/̼ig6deC֛/f|>g{zI],+ל6e /y늳|}vk1ߺ}o_|o]8M}!IGuYZ!-VHzԍlP*qy}hWv?ngv???mپWhHb$`EU Y&̀ESޑJUüꄘ %8t,_ý=13x-^X#i9̖&vlA~ Բ9 {## @=Ӈ* AeSZi*l@ۂӀXחIƦ#[va`Ũqt V>mpT4HwD$S&:+jA\$* d !ؤ1P4p +QPZ !,ƤKwM/ֿe*; RX)*7$Rİb,FLz7T S-#~-I5t;0l`àƻ!W5OCsh,Ǜ.-Kfk1u\fR++|K|(ؓ'PМ{ߣyz`Qa9liIFTc X|N*l =ZLJN)a6I/+TK!cSr8i69;ku \Ɛ0$u+MM)҂L58ql}-DѲ>صq߻^t[ĸkM݄oh: Ue΁޵&Kc!QV<3]p3ݡHwbLy D"'7OW% ."ì{jF"k+uF5n4zy!42H *iTC<ȸ->0-U an:+PY|j"A>gBii=Af8Y:G#(p^5zC>Q~%-ؖEYZ k5z\4{i]9{ #~):BU{ +7y#* I:u=6RAm?:$ ^GY|8=Lg *0  ԂcpRwwuUYevN;-V6D; wT髦>Ij}ZR*ԃR5$ $ ]2JRn^e]/?GElgv ;%B; q&\ZZaDuśĔ`8 t[y`Q/&6V"8=<(D`]: 4S#Rw1rr4gC< :M雱Cc,6spJ0 8\ u?;nmN:siA|x$d-*zR'*^1#f,1/oM7uCo­vX߫:I[/kNĵ-kZn9.-䗓  089>;Uɟp"\vnNv̘D㟵bXEFq?ÿ GͰ$JCb3g`vu ycHhhM#8.Mb_VL6p[rpq þ'+XrL%[D/,XG ]O =qvnػgDiGf?=%6O4"f\R1XUB)UH26ޚ-X虰m/bc-Sk723,GAdN"]j ϵ!ОYkODG$qu˸lNv7u\ኄ˱"QUY8S.y'ϣ{17/^ڮoLRWS*\|ѹX13R94pˤc2/tݣ-> uvdw:p$g'gnqtw>f6K,Ӧ>h "Y,ZWc 54oY)Rr=xlMK'1XeQVUMm떮rAD<õb]5X٫'"lpuMql9L CVlf 70n{-oaޜkhHyYX]Da|c$'kզ|Q>wWٶme1YZ -mW'U[{[N)4?ϥR'9*߀^LR;ȪoPq Τaf`RBpY6wC_D/5U\{-*trMC_}Keu[|ms*;`nT1{!2GgϠ_8Sό^A _&8:@3 L d{. fsPrEDK"m褝F}*Gwe2̕KS@A: /"RjbSK%7ˋEPӣ06nCvOjZ^FG\ac6CT\ tDB@N@Qvˁ[˪mg"dV1ˀ^l"z2%(kQO΄M&ݥ>8M.IέQ:oh7isA7ݷd>GC?55F0"nІ` [#) qDlɊح5j#Zd݁meKBsyM.۱ag=*d ڷ>N= )'d!dˁY ԝAi".m:ʝyX`61f gyeP$ȷH'!X316FH4 !}(8=;ys;PA99;zY? s8h?j!*!ހR{^'D &b $o`Nl0Gә l4`s*JoijKkgr'^WhɿbͽGo{h/!j%z89zuxfQ߹nCUwUܶl{g=lnLp$YJȪrXqewBȓSǹӴ:oZ&cO[87)f rXPI5u3#L1(?mwT#FZ7< 6O,/m < މ,nOղ-48eoHBVסtE\ 65Ce_̮v+]B?Qh%km3-gkb~OLZ`tv5jlFZ-}+J #S,91ůHa $(pLg,,,,,,,,,0eve+vZ]Dk'ѓ%tI8?#{Ҡ?j7m7+ti |߇%ROf7 Reв{ZrʾwMzp$Jiġ6e è)028SUk LO|N/ H&xA=M nS`3e7f=Rbr.үC_6z#ۋj:`VMVTJkhA3@x(״d]U0UbXP-l@=(俿i#jby^%CoxU{9[Tq1Q .x7NY:Lgmަ{:2B+^oNપMHq7۸/L܌Co7+hx`oǏ`sQ%gp$^5wզ]!;KڱÖZwb߂7nغO8X^eL݋'Go]`/8@D{6)g‡V\%Γo^& BpP+]1"Q2E 7]AlpYFF^|`usօZ)#O'8 O%iggelg܉t2e3>!TC83d.8T&e.A?{:L:4&j=4}/.c~|b̿siq:TG06{ g%MڗNmI=vl#.|& ,$E*d/"{k&CA K\̠ϓA\v ʰAS-oNpxG0enCV?.( r n ) G>2x`jyH {9 5VQFءJmoB h9T$ ߹xF$ͫ>=Ch,ZOhpara70 WB@ ;I1Lژg Ľ~%J"d (ddFwhB:.iDƩv{IꊲK-%bY=8\e29d A!VA*NK*ewi#J '8ZnNVumY*(Jg0eǼ"w?k$6=A fQEؐ4-2$C|2Vf؎m/@o ke߄=Gvƹ ~& e:_Vϗ'zB$]yֵ 2,XMăM_Xbŕg am WJOSdxJOPEq|ΟLnkp^naSé%V:0>$q(Z' ZlU Y[*&K˴ry8#*YR`yg&pgW=N|:13hr f B( *ZJ~Vk]k W)Jd\ n>yrn|[Pq,–)eulR C).JuWwg|?vOzʣu/Yf?Y,g3|ONǃtxͫ$z2?k!=〦0ei X4kأړnZy|dYt@ȉС 'CϯwN4 b*FL`SeZҔ)f #v^Tf4'QU`lHU*lJ+CO lNLipno $!={Zn16}tj!Ow$c'13*NZ1XN] O UDw(ĺVRC;Qc9o@ ˲ḍNs$;ȳQE\n=R~ Fө]%;b(8p*=:gbYatG!u^ o?_f&d#ג8fs-pvފ*-=ݩc .e}ã,آNwnq.o}}J1u|5-L!>w.e3y61\pGr,Q4f^@-'Vvlh)3,'|а抟BTk|g& Pr]u" 3C4hml&kTT-a@d:iWld}HT|#vZ:2fh b pqM(UhOn}tgɼFx&;IQc ;曓z*l  o+sP3"0UI0țpq*Ũo\+(b'6 #{D[)Cv3˟A)&a9RIa5*v6XBM]U Tu.LMsnЬ|rf[ pd}MP6{u-w h ŝ'oSK2[ӌCq$@nfu.{mOg]Lnd n,d30=?8k Ui#a($(c_-2!,W &d7G*7эMmwͤZ~A8'b`Ik|jA*BVf >㭙 &v:.Ka }Ϣw sSI ?8xᡪYSϔE[lpw9 t9C&E-wez>2^ʂT#MrtlU2 ?1ZM.RUf#XJw kV4ŕ)P1S\PpEFXK- jawb5qkь:oԏsf(rLU|^,EA`ņK]+SկVR]SI"'-qZh_O@^L%?װ%<K=\X]?g3Kpfʍ-4;rh"![n 귓^pΛ{:ޭсջHsNQqj9r$~?o;g ѾW/G^=Twpjn⍻ m2w5gP֌ a%5*ETNõAV5qp4RX/Oeɓt,h΁FNϚmяt&yN>mhx'~}4IoI~q(݁)Y?2mt;Mp-#9glE+7L2)*, o<zE`2bӁ%13Rs`^m&444q߅6w_۽ >&'rMy`lR8H@ɾkݼWEK;FxBAd,C ‡ʭf->>{}V,SOhW(m@9#Z*17 k}Feq둳E= j0?m'>q<4A a[@7S<G4H4|"FjHKno [zr|ؕWwOPP(^JhcJe:jK0|azt"v0[P),Y˰6-zSstp} !5ܨ%2[ GCTXf{89K:-,d_v⃽ãlMx9ׂЖYY) yXD N㊴;II__62{G | \l>Y>Xl3Gied}t+'  Yo\?'??<y*ְƣWכ?xvoYCW~zU Yv\JC<vSrXh]C:lhw^m~tM,@8 l4o2$O~kɿ0O;P3?12GLpL sY"z7v爒6cyb:<[d8:tu]'w5FUjK>\Tk(xkң .X mF-`΀Z峻r=kBb[-G?`[!:^r7%ԝ[e93قJlQit# EՆD&' ?զ YYY᥂[4 +hd*f"a2k䎴ݤ>B][CD'N:+ryl,#a3Mz%A;SܸJ+i?2hԺôPUh2:Eqċ_U8öv0\ KZ;/Pr"SL,ՂDJYKxǜ᳣W$ OBecpq}YxUJ2 ,t_6Մɭt |"rIKGzҡ^yWt +g9_e@I˸_gu#0* ՃC˵:}@+`zUW1+!iv=*RVvF zUdR(LQBFZ#ݡqNTI>ψ,w]|= 0pJN-xѐE5:%REB^}p0LZJ-~)9a{udq3x,(o`iޑUђq^ltY}f\XtƼ )!w vȀ S& z$U.дR: j؊kyR*'V/v+ԪGoO4vLQ/JD<1Vn֞~U.brGB ٺymM%֠? fŗZZuxJ^iJȶ ϓ440wbEDFgbWP܄]FIahx||C!I2 mŜ/U5ů[ݦOv7y5i>? A|@XhUyxS)n 4ac+X(:>~3LPЙZ#$s^z9jUstNֶO%~ FX~sd)aƱv}`5!8~UIؠi 6x뼕 >{IiU`ez!73my!:Nӷً]\![D%%;>izI;G s +9@[%Q=GYdEz$z+N\JOR &.oՓ^w7. JTWp 9:)6g'⓳{p37<g'"Hjt7ׯwhC c˞ߛO3噲['VuT8*?[Ub̠4wn~9-OC _6FKܙ[7#ygKn@]`}L勇Eˬt7˽ Z2K{^j-ɳv)]9Dy5CDjJvV>2S=f2 ;>k&We~__cqif#MࡤT``WyU<حuOi=\[]YD swlىN`[Ɖd[uAgy&^LI b,L3~a{^`bRtP8,o *+~IyE|B641ՒdJ x[V>o bJZYװR:KOa#'ܑsUFuP:#\?}V}_<+>K!g~l߰H\HUQ7- ob[OFW%#N菇]*nU{j I,}u2hcj)0bcO@?19xy6u;o[mv[IW9+9%iZe!|+#R0>a+wޅ'Yi2|97Wx6kT-X ㌅Ͱj) PO[3ͱ.)Ms)˫j(|S@%j>_ʯNxi'()MG*^%5Loq#~r}Q E+H+'i~͘hg֥HNe_$ ɳWΚDٚԻÓ'qAӌ䩴(Y]W3"/GYq<3Y({8'ʭAr%sT66N دZG $Ij)yw$d0QUlRpS)AfPc7Gk]׭!$J q GbQ-cFN2 :C>: tZt[#/ɳnӝG̹'fȠ0*&{_2)AZw .iu{y^^0*l>?E.eR@>rskˈ x˘{PזzZrTO3 xOex͡)*ț@L-"uV -A3ZS' q8cm>R ;`kRa;ծյG~ㇳ= ~5BgQ߳Y,{=M*^}z@~Aġwe1? USL2 oԛGlr e%09ܫU9+UȂբKNk*b_'sϩGBNۗ_-%wϩ5qj00{N=緩ISa6Zskz*j 5 ϩ,R8,vpz̝J7fo7>{ysV*KhRɍl (6>ZzIJ&fyQETP8nmti*`)z={󹝃-W/YuwgzQ-g7lJBh'P[lW`H9,{on Ĩ1db$Ϗq?B;بF-AA AѨ Zk?5H,DP‘(}tfBəwZ{37{q $OfoF2y&(NKOUg"K=S|If̨ 밟(B@AEAIC;r֪B qvG ]WXCq3 @#{6>SDۨ:x5{v-ڣ=2.gF ' `3 0ЗK1 ˚jeCWf >.$6@JȖFQ=i`rP6F,%{@\Avr/^{;zk<O+rpВ):Qڐ|h9*!|H 5dT҂q"tCֶ!|OϨW@wU6S4^*5UOhEz\\ r\?u^F#`V)>."$ȴ;:&5ׅtupxND a*=bVn'%}H4 ff:c/܅2tf٤_~FTQ #Z]8WghxaҮMLLk0'ت;a ,ÉeXQ7g>|r- '8ܯ{/S7[Duo, f;|w-/V;1~8UEw_*?$i iŨ4<`TiPy_u䀘" ~%,:YǩLr uN[!˖Ute,h fQ?~|UT3UdVם$KmbyҞA)ג!tu4V%l$o'{[S|mŦh l>](EO̡erhcs{;wlF;Et,UxǾSv.P;gx/`Qw}xYRqM尪KȆ;o[+7߶oڒmɳ#xQ e\To{˽[ZNk4sl=dKn. T׋Y&ۖQؿ!YQ1y E+m7ub8yY%t Y]Ir2Q>k J"ٲp]en`*ԋ4zoˢ7BcL BI00Xfya5TYO|̢і+V ̌."ߟml (m:/FJcg_uM*TXA :"P y}tuVR Ե2J_1S!^k/u._`gۭN R`dI]Tǭv|f7}Y-)r:;PkF[Tj$u|g>;<=G>z^f2CХX/iEKp_EK !E騡}.i?Zz~M ^i<}ꔞ+E!.]-\D 0 `R`j3_Qm2j F3l ZpKD{9<õ=R?Z!F.sx8X>ou<^C.nKk+k?hocQX:]x7oح;p{~f>o\gq3޸wZ> 7]8ݿ_wvn<ߑsGnn8ݿ#wG\.)`)ӝ34[:s߬UBR)Qq;E\=كwO0%yL>./)vE9n>N^9]LqY I?CIbeKFkOތBDԊ[(e}6# 4"-**ϖ0̴rf޴FùWǸŢj,vb ҋRfBwVNn~'Aw58L@g:Ig@ܛd0Hљt*j+IڔKbPhuXN7qh6WhiVZՏN6-#K©zC:BC JHLI<}y 9ZC3 n0ipa<Ɗ9܀5ÿw/keth5 2 =zF4ܸB=ƃ Q2%U^we{S0j0$J\3EGO4ytf" ïRq_C t[w_H:i1P@p9xʤ;=x;{}oeڀO$ry5bbIyy&?䇙0fL~X%)_WMMA1uͅvp4q x`2ͫEg$HS f~z4?m{k|>Ha+@Ws+X]st zo~kY?O"0ݜGO4dV]f㵗w>#-{\Nz 1\Z ,O!fF+:"s2c+R2sA ֢;!.)[b ~Εe_õ Gڣ{M*Bsx3bܾr% K,>ӾZ1Z;nc#㵙kȁ\lSԴmY]BC fvr9ZGA){;S~f?_< "0