#!/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=7dc2cbdc1da92de7796ab64267992d6c # 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Ȓ__1ټvuv][ qrT4Bb%/3w.T%=3֔\'~v᳿ϛ?ynw<={3RE[!c?D㻵t_yYyZ>tǓU[5zwoo71m8B+vLj4b!xxÝFy Fq^/YgϢ`ڜ\޳Q΢:u B,b`2 wWY!gs8xb6ܺف(&lCh FJ&;p,[ +|%uBLصy(܈y٤BAg36Vf4: ϑ:\ Ō&m#7!Y1]ˋRӄK ;5.w52GJfH)h>8LaiF =hH0q߁md1gBY` (PO[4 ie,s h|!/ -P\7;^5AgxVyykv;.\~lGz~fڧ@3 0с4C]3L:m{Vgu{C/!{uܐNم6h?SPo]vֿ{ppmhun+>j!3ΛN~w8P l~h ǔ~kAN}WЉ#j>%WCK ݼhju9.PpPqˡz6ifN ]n90|pi=;Puk0W ۤ^L61ή5x>@͒ƚ 4fɠGP$*+jgL4|C>W`t tLztd8Qy#Ӵ25u^!4R]\*BO١;ׇyJ]ZyJxnSk+Fkz,V*z oնf @j;<)v :CŹ$jZCr*q"wXِضÒ~r$KezmIPfi?$yn\ ;8x ᧈ߾3RO? _7gc=uawW|v*ۆ0 dn-|@Ubsܼis? Ʈ&" D>aX`Ap I+*~y@'[E $Oڔcr$M4*8f8QyH$Bc)G>LP0+(57gKv}k눡1+B>s|M@2B= HtV&u!bs]pDf'Hǩ{6wo p\j vPgw̓@3rd$BgH˷+Dyz `,|C,9se9oH%o͖%oKz|{ L'eFϒ3I7g=OL3y9Rg, XGa1gM"Ѱ.g d{oMNXX/ ;n q}76琔Tgb*7a[-zecZܱn `xvu`#GEܖn,3 mQAA[ν -ܩUvhJ1Dˆb@HbP@%:ܸq5Qn!hF"𿞃Wc[ vk{Qf-Hu@ܘG;:) .&BxSL li!t; Z5P|ru!B vm^zN" jl+nf&D(sff$4gg_dboLح (25 @1^v:D܎ҟKif,)K`P^5Њ}8}+҄L7oҟ$xnkGyOȄk?Z>n$!H#aTl]{d>";7&:Z;}EU %d/̫Zp1*zSSL4ƨ`62SZ΂z/.VH B7Lj췲@R+zZw b+FÆIHiR[TȘ.nm&ڄjGy  e7S*ɱDbQ Ȝ,(KCBzW vdj-J+)Gr5BJzۗ:973ddsYHo!&Y^ i|#mȎ;(!7T&bNd 1q(R"N)*"r65ͩݣ$\s%>&{Grƒib0nfHĬCa!?#2xwuJS޽dBc@Fczm3:{ n݄f6u X51eX.D's\2EFbxR-a>KEKE<쯗KrT4OTlB2K!R71rLۏ_J--Ό1F 9rc{z^R;9aCM))F՗ MF̣ش|ǭds\ b:f&b 4È`Z^M}=N==n Uȏy]jS𺲥XP˂9405b p,jf[H^O)۲v}Ymm"|MB $1$ "BQ6A;c%&!.&@︍ܲz7k|Y*04rY FHD {A\ LXzuXi1wr&#pwL`>׾~M 4c ƲDjm~lS 5JW:ed^- IkEkSr G<%\f ʺoۨ@Br H:˒, H7fzWԩt V=>< X?i˵~L.* !Qw&JiKAe-o/k/SYjkrԩiIg)˦Y}/tپ0ew(I AN{LWгlBքΩLdd"\K2ÚXMz*Ku^Nڣj+ by{6f[?b\)`CkȦbd:cYO.%=4hAX(ª9ҜwN!ھI{qBqzifsӶCjDB Zg8֔U\9\lb,)ۧP9Eb8]k}pcJVXa3ZLRRq*J> 62ֲ$VL=]ΊW/jV!vI/NObv-ӟˣd pXVMpjJkSaMC>3*rerPbQS.!OC ǡ;{^gJ <1~lԻ<6]Ѯg3S 5O;}k$LTjoFV?t3nŲr~Y)L*X)D7 T֪"G^&=mYT3P{M >}emXUX=v:Xs9yj(Gn~ mlolf,Wv7>?m˞{o||~~Sf,BM:b#ٸnDxq7x]ZX0jعO@ x%ׇ&g|4.WIO8'n1AR`+ecCuzWobG؛E:7 X[E^xb$4iSwdJl 9{|XI"> ( +fm檅)6Am:_Mmc3?4 @6)F'T}-4B_:[4N<G @hUS/5r_q2'3V4<-3n8r[QLl*/QꬼesI5RmD]ϭjسYv+a|Ş]sxn#贏Ga q.nM%kXܗIJ=6iKq3(I|nxh=Q;yQ,5kR6Ӟ)o)n7CBi#/hFpR6_RʥcGbR']>hTvٍyU],Qsf m!\>3ཱིOLoS.2KO6ā;1Jq / MKι% ˽!Mr X kX469GƆwƲ"N (ssÀ @r~Ypt[f`Y:CA9ኊUh*b儶r8'􋇀|TR'h5yS9HՐEY [nknk1Guq]'4 R+/4T^bɠիԾQ+nCAQ}Ӌɪ]uMW+/YDE,n8E߿ҧh#aH`;gb'+Y-Yjꖰ/Xꪮ:uԩ~4"|k,Gf6Rºe잻>c.{xsP(MmEhi=V0K2j- 3Lē7E+$ap"*M 3in"ˤmI1 w-AmnXfL:IOk6A#F^Wf]*XaΖxK4BPY hہZ8hg؋܂%^|=@ՆD mXeKb I c3%u)ș[G#S妢oᇈic\M0^: Iux Q]Uݣ]rb^]$㫰9%elݫ2-R24V@Ydư-viÍZZAq Т1 lUT?a;.I!:i~7/gEn^HsJ$!c˵rWO6,B[p3D r 1c7mM5/>KLWe_|N2W\ _߷rDRrx&5&Դ+\{&IdF+Bo3vX8!DcT1Qh&^ >^"e<#2MZX_\bL.ӯ0ҡS/E#N.IL)Nƞ-خG-*[MqQi"hC{Ѻ@Y?yqQDx 6e`"zeI>d0h\CԸ3y ib-( )+}BA7dE4Vq]^`F6}d-qC;QՎH0E(|{0ܢp1b6Z-Ă5S ۈl#|=69ohOvhJ߽%Q ?{{b9p]8scXP} aDyfǎY9x%š~6B9D.:53k^+Is, H0e9ިږus|P7 >]eO\GxPzU$GLqVGo\}~Ͽo5\s7ͽ~sO%7ۋ³pd.g(I9.O(նQ' nc~{I&oq}ׯ<~WRa{^4n9 ɍ-JimuLkERyD%Yzs":[ '< l_zoN7ORZmX{[zCl}KY?J_> 9k92 5.PtHY*$(78 Zf{̝ Em@6O )z`k{sr K7' ˶)ٺAQ(<ʎv-hw*1y`6NBᅳ7#tNnwVT.J VjcFx77ώvmS?~FHDEF8SxzKpP;:n7[;@M8`y'd.OXͿ6NBc,=yK+PWe^x_S`c{Bv^?ON%a#-hý0RUK8ډ#EБkar'ۑhǔ#JG"5FȎdhP% +hk9H\ðT CE0DiƀuC Zxz؜FVeZ}ݝz:^L@eE#5pW ~Qa"J1B2ݨK+m Ht*6-+ R.\s.?\(و .41)@.B0@Q]^H`H{ 0i=iTΌd/VN Rk(j8jpr^| cɆǾ$! 鄌ސBc(/P<Aѱ{:( U9pxPaT(BiJxJu<4;8N..n'% 95#4e#s^s Fu–@)v7~oH)w[QjD k4ROd_H4/#|F rF 3={bQ~:ĂZ* Z9c>.W:X}V%Ӹ69Q[)my#m捃FC2Jx||a>ľ:vP\|D~ ѫ۴W! k \{6?FN!5LT"dЈ&%oTmR؎L+9 5ju۽ mg}b4jk%1 \Ӡ$)3Wo3H!<>Jtqw%,Kw' Bꄁxܺm/l ;W*ُɛSrFECڸL(J ~'}JvZbs~3g-AS^b a&\Ab'Y氛^< T(.v&XȝG |./11:J:jUFq̉ =׏Ug|0zFIog;RW\j=3b&i9 8U"]pؖ}8่ġN#/Oi3>HꬾJ9#j΄Ŏ| xpM' 9E;yS$E;괸݅ ޿()0,6P:u8/9 L`%qmE{)"|)DŽI=.F¯ Z÷1d?Р"TQ6`Vk~(Q`<ǟ@  VPsg)7nroF!#VKU싴's7s7f~p 9nr#B7l]/& 6| 6[S \_f!%mL4jͥӵ!a$ W hqNBѾÓ] Itvp{,)D[N T<֊޼dкF2ҹ-A|Qo5J!&b.Oʚ:\dvy]7h4BKGŕ$ 郲,(‘YP#X+XKT%3ā@2 F֩Fx,y8Y'J+-x$G5UBB) ␲ vu?fPg,hjao/n+Bi$jT50ŏ(%K7Kͣ7ᄚekSDڟ|"Mc(ˁMY=@m>}PBηqE`+9UFlQw0QIS=SИ&ݍ-3i ?VQ2>XOѦʝ8jaԛ5u}:&tx춼oYrg^8 B945!4v/c=hɈ_K1ߦ\&;cHUտ=o^%rnI<@MC+|Eֽ /FdV@OQ%~#sD}"ɬiP΍ZNtut\tQ/A+YT Xj?V~|f~]{ }=ǾY F\{l9Kր _PsαyrcyӅ.G%.L7Dӆ̜9kF_f݃qa˂̈VKNJ>WQc\͑`p;s, 0pR6;}ql_.8h|`"4 " `sDX'=rIT[uU-byu໒Z6m#3 D$?AHcdadn9]]ZBEĮ|8i+=I|&4|I-Ț NOs ?޴hHoƶƛ=y. ųۤx,A~;BK8a;gP^kON;{!'1$Ѱ5/|yE$nۥr2}@NzlX__Wn_Wn_ OTٷX-൵ѡV9jWQdnF&KbӚcΌ$\1W27 BVza02VG]i~$>?<',eY aRF3+t2Be ظhqjmTw2םRk$?F7., qE L~,^M R)7a@ @VlSfZ@iFgL? xa'@ VȠY {פ" ;T2'W [C5ߌH"1E^D'`ܻA4"7#L Dy rNe#8 fg*CKk" `H&lQ0*l"*W KjLٚɶ8;eUo@6V7GfU?B[mkI6=B'b%A|w0*)#? ฾C"9Q_?G Xi+{e lW% t%W4;U lk7^T o >Hq ջQ+_XrN| ST;D\5b(zrû(v=ijr02 @y#Ծڝp|4?ơ:UBo#x\О)4k4y#j?|0a);DB |2z H?`E9'nĕ%s b,߁ /DP0|(kqE5˽!SFk5=qctM9]|FACaUk/ɢ kŗ|=uZIhuȃXpQ02ii<" yN/}G Mh 9NRe J vڋ.LلOi;ɻ/xrRw2~#㌥mx6cn'obѪhû`Ub{>wЬfաZt< 9_5$?z_{a}L%YPD/J?jA 0M WkKp5$=1)# f+f[Gjb3oh9߉ oE1r88<%ܬ`(rLlU?|256O6tkGD"[I` I+׾w $AJ+9#-J*c怛xxv*&P2X2rfcsP#lyeűVrs;s;rߦ 0FE,9*>R`DtIYON6 D1L~U]1BPMqʙȨI-O} (-JUcT zUW_rٲYFt YL oꪼU4c7N*5TK4ʲbi @dp4[FPK5,㤩8qԉNt`V)#6u9P}޿骖fu%!PA h_[+FR% 4Ҏong>CsɞeOVB #b8W^=)V }a< ]ͧFoX=#wX@$b aXw~oOqU Deڋ?G#zQbťHw("Ps@eLas "X"㆒$]I3qBM°TjtHU¤D@Xɣ'Kws1R_E٩OV?MIֆnۨ՝M j=Wy[ ŰO0V(CA//CdA0ى<QڂQG5擖C^|+ԜriO4arIϩY[Y¬gqL/|\fb!VkHE%s cq]VS!⚯8u 0șKL=݁b&:V'-\}k2uHnXſFV׉a/N\꙳Gm&v]{c.h":O:H3IiQVݱ#fP{LN*ooؕEYD iW?|!vGe42ڴO6g~>08bI%kAn~JE&=Q%6s(|./)6AGKN-M<so7\r_w2nH% 9'6..Mõ3wѲ8pknc0ZTl] vpٿ6wi(%ܫ mt5"^Bٳre#Z `#x4Zz 8|TIa$h& cs 8*c@Di4xV60u3!-B#,Y[aLW#ԉ/p/Hѧ"JwJL0>u|RGZ)\ %O-ͫ'Z{2UQcC|ƮhsTk2D77iJLJc'(oPG30;b>[{l7!@֍UΞ0~;eNdIj…_O<-82?4_Yz2ZK1#ے :Up<Y%1ʝiOs5W 0fYSp=^PM.~]aah:uhBe&iA+(PMQм=Av.{;:E2flv0c-2gpۈ^ct4(OP8(*ш"1Aі1 !%hiRNRj)yXFfN=ȚlϙEtNdA`(>_@ͳL)I7s2_`XQ F|+QooxAYtn ӿu$w ?Gi9˚@`8Zi\=j5V{K}3[tP00H| ƽʄ/yދ.= $MO{ԚW)QGѽy˰ "à 5fqzpc cHdO I2 21D=B-|^@wi;rA^CjXK:[㦁sK +Քcg,ۍ-Jp؃ʚ&зˋ@jfO4ӈQπDE= :0rE2 j)6$&^f'0'̼zN6Hr`BI4(D'Xl"Ѐa&'j}fPCE"T %j-]R4-%*VrQHñOj 8I(}dE! 1)>1Au%D蠠M 1$DEW7KڳoB*!8c~9x?igSB]6E> faacG<5 NX# C"TxCɯ*d9-KRaXt\JT$TMXm6OPo4L,Nq©= W'buw3xb.|Bqe)[ MJ`w]`f<7IrHFCRGwtR5L: OUgsh{i@t!#x-(e볝N, |ϔ {yL"{y~:BKoGbuq.-.ӾE%ێ{z$ C%' u(Hp(ļ/>0 gm_,bTOfkYc+~(Wcc}mXYn[bQƹM- =Y/j`t:x[{pr \ ~gx aаei? (( Ѩ)\A0}G5+ k= /Y@5јyv>E@= 10k|u?ɏA<[y<GGy}M)er!FP&d4SI+'45IxEهW0r(r`4aVGZ(tRk 8m^CQM㯪BI7 Oo} a+6:f/(.BSbpE3 ޽1ҍr "wC5N]եHJ F|K);lS4b#lR{ i8uiE4QEnDcV4HW!4m -vϜj@Pv@U:9tt]EƁn%tXwj!~6Dg[8eD`<#*Tf*QQ5h**>klt@ŊDa^ ',IUM c "NpHVh洪 QyXI&~šULˇDjS՛0\(t-`OMjB(C;po4%*A0ʔo}MΆk@FQVD+qPHzE"IG&^35V&iJO^ SN#'w]6%uس4Ed*PsVN>ЦJrkc<kAH=Ɲ^\${gó| ^T-x"  AWE- E3 'EFJJl"! ӠͫO8|m~u&nB/>5$7;+8U,8w7IXB-WyxN HBH88ǺsH _-&±(],8B¾ȟ'mQ "UJ`0xvLvNsQR9^*n(mS6e>;9lڥWJðͦ}niZ͒/q[NX9Ա)C\l@xݴMD j ~Zk e[Պ#˨ވ2=i'3$4p[:2g?EŞI7tksM !@pU7Z&rF^,eEk??mv Sq(}=06%*HV򷨅wLPS1&Do&5^Ɨ&5/Oj|9qKrڷtfY0%00++ƒ̭_v ʲhJr:Ҵyz*9ۓ<Q b9Af9>|hcm6VSd }æ'QB(7q4,# Vp[^D5 uc3ٙqНHy]CXS U\5UYjYT.]'bߍ 0Nc, d\o#oO IFLt1@ BݣG.S Xh:π--=Π\[ i')9H<(B5Y!( Dt6[3NҒB$AkwxH«Hj*(ޟ"5H]$9F]+_ݨgjӆ6O3x( *Qyī]d+K#HK,6E|VbY; x6DAӤH1qv +8=NfU T)E *'C? ?(y,Hn|srI*1G&s"p/@s*fC>-B혌7qeG*5J3[ }LAr{@RQifQCAbg K F 0BdX-~uo"^*BTĬ^^3NZ+t麶nĨaccK|F6)BS5S㍭ݟzFEKbZ nNvzĘ<0̄FaKI#1, Ujeg'.Frj!Bò{0цF|{<6u:BC-=I\<'?ISWl}qZ5[&qqϴ#4Ɗ;rY^vFG00yr9ձd=,@g) O8o|bUˍ|lmk*X _ԗe暭sV5WE%L$?=!^;/FD"aY\lD/< _#ǒ Ĺ$0bWMa&̓ ٸt _fv8"[\*T\\Y0'Q8r4pDC҅ru1X8n鱼Ё#98>=dMfJXIC5hNvgcTgWEDP^ eZ o$T<$6<52^1 1A l_4daIMmkFxE^>(Ӻ׼r8ɽum1yASoZ+>  mQx PA&$ :'.߶4w-͜A,vww5֭Z>ar:(d\=}&hm@9XeȲ7+Osl8b`kH2;:5'% H!2Wթ+sx. n?v@3kaXq9ݩj"m9<:=HKVPH畀($ـ j6<|{&Pps6uxr1(4! >LQ_EL&ö}z~?D_|S@(V[Lno6r'& Xo~g(sp8:-2z0\OǃtC0<: f4 Z!)'41I/zO\ -hs^7ۙ' }ԙJ|\j4'{QyxvpjP߸ovY7Yu=hnշB !H!!3+;O3T%)͈EP-ytH8ݯ;G. Rf^t[$dy5X%ݚfLꌅ(tC01%H$`330LX$dG:]։ZK7>Ӥ +#v]ճ+ 󽢚t~fFܝ1W',CgЅ؎bȋd~$͟GpMDá1.9:<:ا5^7`n}T77xaɆ^]6n,*ZE, Z1$Ʊ;l5A#a/NQNc,~;&uF?^,K??6~a~nlg;c nqwuAzy`() UDnZ ZwBkPUoXQMG\'*ɇ3`ty0k~p꯽ !A9Ѿ*4~*X _Y{$Orh96UUWbl+2 u#T aR%ۇZStlN@f둔,bPZɒ߅^&T|2rJ5MN9[w2*>u'L!Iu~y;Ԁd :*‚`9Άi:KCVj9l4[r,AR`~:q)ѯT$l=:sR$|83=<dPxeRv#w ,rJ|J'kڑmE*m_~m=۹/m[a&XUdg%<0׋} Ya>qsojy?Y|Ͼ%PGοHC?`Wkϗ?[8.{ Q&8oWZ6IQE= P8.@(<?Vw Xx? Wu|=,x=Us<~-Pryp<~ o<~ n<~ m<~l<~l"ppCbdx4]ji8S. gil{bqxpnuL׷78jGovƒgf_Qdk}LA04ubT j0[ot"k[m8Xh-XF8Ɲ(^Ä`i&Dg}X`_bqX2-Y!F5D2 e'Wx:s sYM wmfk`n`r/F _7iF1^ 5cXg`n#5Uze..8h{A.p;{< Z fkPğGm(^' 5ۻHkomp@yd##zywS>>JQw [><*  VA=h82,/O1a_-.W 0kQep999|/~cު_(^e7sp_ݴ;%clgU2PTfS~G 8|!@V̜-4ۂwD<>j3pHSL͘!;:y< z1jOz< AEfRN{R${ 0sCf Q4=@]4!!36E|ත aJ6<%&pbmIw_Q~c"G把iir!^/%eq\!$xakoF/niN#yɝ (-bʑe?l?xG,5Wx}:8S<8~$ %-0pZP6&z06b1!Y_F,m(:4O?'O?'ڟf0