#!/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=6f620308ab54fea2486bf82b99e7fe29 # 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 \qBkjK) :"3!}jш)˘0C0} 68R{2hHCm@+EO X#_L0 x@D:ᇑ|q9&^W)Bk<&H,{mvGWÞ ˒R!rӛtE GO8TفdpNQgrO`3>v>6Gc3Gd8 DtzmJVHo(^/+K#d@dI@g'dծ<:c)^(C#-Dڣ"tW `d@=HBALX"AI\Fo厤@aB(mlr@2?(2Kd82(Hl. 3eP!.%hd( $`0#y%}'_HNV2MV@fS)8 (CE'Js Aa\gKX4mZt\ށiC̴cy &ejڜH9[,},W?2)8K8HlbvC̩!cRbr4cEδqXsD$Ar`Ҵ?6C(;j( _qkkf89i5<s?ݵ?r\LJ9# /: 87O4Ǘf}+'<lwms){z8ר7o:/}2T ){V6cYL\ {Ldaq+dVȽb!`rE!>@8`8w"Y=DyʒҔGTts`XL-\b%ꤾB {/ߑ8JgBؤ lDnD5ᨥDBn.iEy.`~+-nYiᙧU)-54ϩL#l\<[ԁa v½^ulcpX'|y7BD ظ)2}ﶴoq;xhF3ϰ&p=O560vws?/'GQ+ F8L!RcȲXHij@PvsuԊ55 Nm68jep=Aw4ҺSfznF /pѩ0mDۜG4MEdsKmÌgX9LKjO@ puWQWVw!l;2qt q]wKIx,쓉oZOf+[9HAU *iyZq?[9lC=m:} Ԇ9QkUf>8hܤmӆKӢ #<$cBsY'`9U[>적a^@ZLC(.әnT}qkxaձɓy{g)kDc`#tٜy&^57:7; SW["n4Kr?&X1m7;|Tmb> !L*t'Ls }zyMڍ0p!ii$[-]m3I):#i648H8H+9iIy7', xn6?Y'=jQZOT?8Tz矶?&r1ɧ٩$,8Xξeb#w!n&p׏bYmO7\3™uh)2f Cgppa+-l%v$mcaVX{6%'Sc$$zg +L7ͽ}DR>ieQL1Cq sfeDBɘ)f#/N70@n#RULYSCU62 )KO$ʻNEBOn]VBW.Yc'7"h+Kc䧋<0qxu`(/7njj}FҿpcYڶ`]'X3_3J݋nFc>pgA {eߝ3: ŇAwȧGNyP1PO?hZMP ; wtc!> ȿ3XY;8ƽ RC*A CN~?{⣽!ޫzRTgjY} |{5yU.?%iLC ҥkYyB#[4E֥BrJ\7avW)Mٝw:3a{H8rF9> $u 0#ƿF@֯b 4@o$!=,T?O|1,x*$G@nIr7P0ly8]pW-& c6M n6k;x 5siWC&₯$N}i7|x >͔g7&$\ɑ\U IN`2fMgErF]%R~I_ 0HAlMl_{c|{3󦅊t {tL6l)8a$ b1&0A8!H (-Yjd3s}ĨSN:k 1?gͰ25XpY^tJjF'W[[/߯\so7l ZFivd?5SQki rRWw`@O> "dBP:\BA- OjGuis9XGUX\,xIXZ%iQlF;ht; !kְ33ʤBwVSO)go`\*KH?f.]vs2QY3i7t.x;M{ov_BI'oľ52:QR ŬߴQTs`j M-EhsDwƺ n+r7nz^I `]v&-0L[l4fbQwVY3(:%&| C &M=+[8wp$wkֈr'xд-=,E#-! :Ð"y4WaR+EE>}(6';`*zKŁ62I c400gl!jw*`_aZBwM88CJEnL0u)#M@$)mHaJia`^&*F : f/7s_'GGBASq?1'8u٦º*QQ\p!I*IpDF2B(Oz؉HY\FTnx1.h }dPnPQWRy0T/'fd%ly9x}x!6LcM U힓qU ƨO<7.j{ʫTV8fz>.\LԀy̑$q`‹$a}`9026ƃY)ɥ|;xS.LbyJZf&w5 P< P[Tm Kr+.+ʸJm/jRqւ3FE^z?),q (ӎi F{'lp! E%ZMܳĭ`G%l})KeLKh"hN.b)qwɳ #3mE+2 }7K${ZN((iE@!QDNPL`p QIݔ:raJ&.Ev[2 IJ ,~#7q%g1 VS9^`m EGDZ`AfFS`%,Hu*]dWv9"'Yۢ2i2lkj?^] tFM *ӸTc-'#wISiLD-i# F<0NLg'kVvQ܃H1OwWE1rƥE9eWXqʠ7-P;5lo[- W &fWhqvYFINs왍ǒ٘J6e^lvNMaICLaHՎ $dƖiZKfv]0 =صl4ӎ&0:_Aǔ_YSl[9Ucef]]Y&KPx=ܞ$*!Pj^-nGHl'm3jdr҉K̜%ɸM28-^U@߈3{=eK(feSe}eݣ"!HԔ 71P}`}黁#;SM,Q縸i'!i^X<\6(3HT˦|s1d5"Nz FFMMJO '.ˉ$e(I,2Mn34C3Hm G˔#(VzaʊzV'ynq|}ڄ=3hu ؆r/{4*쓭p8~ۿHdӓ~Y=UWĬkZI}}atwW~x̄kd%$V'ELOM5 Jq>q4Ԣ PFQ_ʪS\bXmQom<1離qA&,~㜌z&Qn* `>GNq?mt,{"alJ{7HbLPS3Dk]ߘ>h|sZ[ccv'!K]t`K7,u\:S6CcI/@Y5 &VU hpҴSa'-ODT0dfLV RVU&҇( "/gA 'z"-4Lok`P}=[mI)KD*=v|C1 uYv53;lA1K@7hn>]Up1Y_=+UzZR,x񷆾K7`M1a },D (՗SHBq2ucu )0a$&3\{<Rk@=H QJmlҞl/Uvɪ63#5TI̼)IzS5K<$ǫ$} ez@6T[(`ULRTuD9ǨkD alvah7<ͷ Kd|3ei^(zMjT ފ(u쨤l}4iw cg#B:`f{܎:\'cDn>q7CvK% W,szZ68m!Pʎބ ax2(-܊?/ w)CN|oÓSNWHT@ ^X2]CL¢ůMkB_ Fշ*tI;{W.]v A+$g"43 08;^jvEK/bnNNvMbNBf8]_ $Gb`u 5pm!Ia=hhI#,g<6u2B@ܳ}ma`9qQdEYIe L LCYm6Tk!e X.h{t 'GcXw3{X,/dIA)ÕHHџZҊyP0ɥdc nݬ/5/^[Yw2Ec^ OzAT :",a=Vn7϶pDXep~8ī ˉp[4E8ՍF6./1!LWSJG\t0TX0(9B8e_Ǻ]{g2.ݝEFU3LyKwdLjٕ0Aѯ06Wbc9HYVƷХ6b ETy21"(6<32^]R7p?#Q: &zаU)0@Iִf5,"l^G8Ye͚WSٶ6ŝCZfi^Ed&91mUQ3UR \Iki bm} iߧQWɎU -.r yuBgU Yvv4:R!Mde˲V"/A2;b}JoSeti,K HLJTߎa,4Q[@-ᷝ{) I.;}\Mwp2Wld50C/sY 6A6`A{5{З{9n찂@?0N’45a|uKw/SލǒQcA%a+fLxC !!⻞oڞ=X qai;S8Tehk].@Iڭid@#PfajK1~c330LX|4/HȎ᱄l :lV+dQe۷̪PXH eM4Gqƥq݄{rh.di xB8( Y4E6{FX*#ͷ;crEk!;lى*lG]Q<L`II V7V"3UNt):7Ujt#9M-~k%[=0+E1ߔ`ZGH?ַ_7cww/6_?ywar ىkjMQKRoRqid;qNXil|(, S'BۧwރthQCfl4Qr &.8<Th#0!?QWgT7ds3u85j0Ƭ^Dt㉐@e BB ~Ĺx ̌y0i 2((FBWdK4YcBH&Y@.V%<%84 '$ۄӛ=*JB6aI'I_`H.#r/ A,Xw 3HӀu>.0ps96؏sT%O&N)8)U)"F˘O4L(#I 5Ζ,׷pU'o<\#m2.M NF2/0 -1Wir,gKm"X -=aQtm@133'9iI#0_Jblqz`\⛨ل&n תiC$C{{cI:$+6(a{ZV󟳷["SbB.o$IHEU,dž&{%2ŪW4{m 2 eY? 2ⲯߝ:ɓO%qúy.dc#U`X3вl{ yB6Ŷ(O`1bXLj%cewikw *Hox,LqjF~RLޱA;l^IzY+œ$q3sҏ-JWЩFqڑgk67-V#y)fa.Mؙ{l& 0@IrGKV"7s91͉#D8 A(ŅXZ Ch9ݤz5_-TÌ 5dDŽle UoQ9.2#V)u77P4Š#@(:$.R@0֊-Ib/ՓYX;_,sz]H)mcU xH<\RW n$VNǛY)}ö7oɼl4C&0{֫z͸ѦguwӐ _EuDs42e&Pkz$}n3tgOJi}rR芕m!U2)JFr"29:L9<<.jm/4.woPze TJӰ&='STgpMJvmEWwr_z>S^r_W_W_`0vu/GrU l6910JC cЬQZz_+M<dѨB#ϱV܁y> ?{ w}tT?1L#5L%N uis9X_ǰUb!>nCQM3 Pf4l-x8s<ۜqNjhȻމx!lю&m c6\m R~o(!}> aBOg@C~TjmuBӯc)vqQ''CәM+rH!g"B"\ z|v`U֤nkLl.2A}7ۅAnV=cqByl`SzA*D8󠳯7>u^Kg*G&ө0D1CyKֻhne3~{ڻQxQ)r鱃]A#k5RZf3JG@{]./:g5F}wp@zm_eȱɛV ԞmkͱԲ._K6r2:yt%*@(>1Rͫ|iIp p6p腜q,ΜK3O9 ђ];!}@U+ >{OCv/3BSDpMR4K75[) Չn-)|mHqaBr)-a6Z*gQ4$;hw#DaD6[YG=)4|j83%EY\Oemm&ѤKIZݩuRG=QVDM b#~LĚ:32]2IdT68gL [.ɆU4 VtgKwO Rr[y* tSHth OGqz1*pfPlLyc~C%f*l/I/>[IIGؐJGRS=i v3۔R~+۽rɠw]ܢb1|wܭ,((<2z/Iy+j^ԯe5;eM_@'OWS6 tzlՊݵ1F /jV,J gW)|Dx* 2hr t%Tff4M9|P؜ɶqPJm yMULk(ލ[I0E7WdD+m` d16'Wa6%g6+a y4Lr$1ddTa3}J?`v%q(deUգA>;`:iϐ5QIWaK6frೲݙc$ry w8싁"S|'O9Ӯ~^ [6!ɚ[4`WGIF0- Z0GA4jdWU繙)M"n[OEDXϠ9> o_vAV/Pun`JiI9pă$Uwfk.ݚѐG?o>4L%Q&TQW JOj#t[~m bt6%%ٍIP0^6njj3oh9ߩ oE1rS89R d9*|WOߦ,AA`7ѶM勣ůVҰ$̵]*H% 1ʒQi%URT>Txz)A¢"c{<~X2rf@AcIk<ǟ1?k͵ yGGAJ)$-PU_TZLZshg[ߧA'AHoÃZcN'Xip**\UBx|zpyT3[(9-%祅qrA!]eǧJ~+<] ał!(YQ2j Qӣ5nz˗ߗQDg'*Bd!Y,oU+kt{;y U{oKUy`8 }|#֦r D7;s<`|(#SS[0*eoq 㳽 <DGPn֔\֥|V(aUsV.sP9NpO 8<;<9; >QbX|H'$ 㑓p1FqF[FQY:q/}QoHHk1_絊fb 6o bv h)ķ71 *xOc֬1⼰Nzd 7Q}EƁVl!z]A~$W[RY".ꇨ:z_^z :+k[>( "-*lˊh" dV-.kw6:T%S_ƶzgf4  m;0ҿCql!K0 ʂU,i[b5Y|,a\ d}&\o窚tT Q?J W@hO'{~rz}>.*+ k7Cԇbkk\A7$:b,Kk0i>X[yl2N6Q}DTI(.Bq%a}FS)!'FwiSxi^7{g 2h ?`z-G (jS"a~*bB2XHr{ovs0EC ? 4E"`^☀M) Lp-b+Dqa*L;IiB}ZE ^ J%%`aYaO]XUUb |8!V2Ə5 ܽ 2xA+% .Y*,g(kHU󞼨ȭ E7AGgb[_VX8ec_m5a\ۿ`C_{R n`Í@ jh,4Ɉuٌv&PYBBM೶K7he6L4-0a͔d9X@lՊ(3ն/8_*4,obP9.@Uϒ%nHrRDה1!Lbo%lT EtjBivM8cIB V3IwvMw|j8j ٕ F>mYpT\hr픭9Fvow1S4wh\`{L4Ea l!o6_)`GBlebuؚ}_ ௻bZdx|x~ WŊ"8l ai>vB/ ֨4M]V!h !cG0RBq0 ?!*HIA^/|M FmH+(Δgʋ ,ӂpACb,rWetLpNNNdW6ʔfm3B[ ܛ C1B)ZSNAA;IOb AXF\00S+P@|krv æa`w~5 ~U/67sǴ>7׷6bEn5?s?s?j1?pA?=}@˲ #3p[n,$oBRITfak b&j7cg1JXJXuLRU(q eQfYT3*u3AtRqGV.轱pjw{e!KEo{@:#D90}6Jq ^hK}xWM_VE`MTu4ZǢT}ҥ (XE40< 1q,;G B]b)So~Ke2Т0n!קXG׼m7AVof<۸QQՠWu38b!q ' hb!G4R2$_qh2)may& H">GSSҺf*e'ykURh0PdgD.euwAmf,}rT>dPo(qDQ3e`_Jlfi_tv' Nx]?L|ol[<ɜdM6+r . 08x x!]Qb*ήw?aAfx5 ԅqDZɄ)FXbu[[[EWnu 91MP%µ2U~"8BdLO^gBa"<-Lg$uKhj8 4&sK'Dy\䑊(->Gpߎ":b?{h'Dy{20rh 6n|3v8$W''3n(W%VrIO5ߡN2CLF'"T"E!zdU$&VxFswP&Bʊ3hnmH|wkOW%\U|z춒.N2__ș7/j' c{qwW?/5zX[=-3x>IlŹMU  `lvZxЅMg ++ÍNwЕ<3Ebb 0}`|/j2L(}ZqӄO2Rkw/ӭ8!(D#ɷmv=YF{=$.%Tmos&ppZ2ekZIixK4Unԟa?~3|D!*XKFxz$w֝/T$썠{pL4].еiيK)NIU`oGAߋI ܧ1[6` P%\>ֱ?@;8wt^Db8~:؉AfwUD9{Fk:r 5|"7;CĚP,vӆXT]+uGM#xC1v[YoqrpseӕUg*\D"UO\g~SrʛDiM;* '=Mׂz!nD,:_ kTI{q9T΅D3=']K^COE/B6= #w"* ox(Y)+& 6pvi?ly4V"hJCAjKh(+ )2o w )68#nU TTqqU:Y( ɫ ȓ,fiB!^ ڠ?P#lKD?4`2m4SQ 8ƁmQu܉"d)<3Өkd۽90ܡp7R&Z ])CLGc'Anh`yɧec>fAU?{{b9]L-Iׅ3; _ g2SE#ެJq`lSݠYZib.?ѼU,`8 XNmָ;h8;\ # _4ԍ:OWwp2(-zl2 jMǦ9Xi,( GقB\Iڅ6BZiyiC N [r; 6.y0?o ,jrä"URп>ڤնd8iQ|U3+Z%L-!Nɭ "#}7$q~G*XCl|gel*4=`&c!d(jpp+Nk@0Q~tèR9,33 4ۀm"A6gt0k`>N-9_?Gkx|ϟml|[_3˟Ydol'X{^x=\ /^㘄3(A9%\VO)p0m|6 U^(|}Nu^ @+WX`WZC6#(pyV6~Fhź .q Njjg?jh/8}S;)` kz絷07PvX] 2| alÏLgнC~7-{'(ȯ 2x6VS`- . Nh Ѹ`p)6v<=:z\0 km_G?h1:r)/tM{M9N<"hܦsjAjqX6 u=@ԽdkmU0R,n!*N2&,M3iui vZ:\L@`_T1v=ȇ8@OIv NP# ZC1^7=[* ;O2Oy#V iuLm.A4W1~'B­b;%QՄ 11) ٖN ӃJ%1:ZAp-Ft~ӥ3aWyPF?X/[Nkzd22vj,j7-|h$h/e xX!}[ cq)+!:1p9ehĔ2D LRF,c>5y@5E^ce4lW<<{;_Ԡ=$82lv"8֯QGd"yn=ChRr5! "񸈱*EoKD !N )aj߇crcqī g9a#]qEh JafnHcri0К`"Gi 8dʕ2'|"_Vם(58Z\M|ZJTJ?kOmٺGLgK; e6\CAwN]≮o93v퀃PA׸WĨ*u>o"؞i+xSP0?ʴN^^Q "?\'N"͍8"2=)$ɔ6@7 1ЧbJ9$YZekv ~Bys`oB܎j{rZ7vVpڊ9i: lǎGf4p?? W虐gAIqiU]M70*:F.RC8A8F2:UKEHh>QGGÐ^@A]]EFT~Fv&dM :jۨL\<5{a 8@(L3j0_"OaHG FSCE"T5.]R4+%*P+TN#ÓeyRW;Y Wӓ5|Z>`SyiO?G1wyǴ>Smm&=__mn[Vn[g[Gj x [q\}zt+o{vL ]#^^ _FBl ~7LHQvh"* |UمT*c6@(CFC 3Cp›bOX=R|p@SDꀄ֎,_bӐ7x'R8n:4;Q1"XcEn/&Z79S[4WŹ\nחHy)2 _#CbZTp)55?i}In;*,1\Ce2TokM{B#SFboUl~o_CU;%jÊȩûW%L 3뗮&KWd=fnOoo7o!kYdW\:r9hSj9â2n.J'׀<)eL-}6[lj& U ҊPT+є𱭰-Qa겣}qJb/gAIvSv-+Jmؿ#aaC9hIʤ_n[#)\V0rawl:iS1 uj`SjWR5fjd)o%:ItHCxKm$Fwù`4D)ϻt$Y*~_ 9wq @OĽMm&\Ab'#۪k#K_%. y0W8Z؇לR1n&fU:Ӑ?'۹jG%C[2FK E&n'٧)vLۢϲM2:oM9fГ0Ob3 }XL<^l0#թ)FxGQ "n$nǝnwCy8  Ӯ.k J6i:6mŒͱ`2qh-';G/|[:c*ҬGAEz UVk~,+(v0O|w .c?ZM?ӓfsQ}|ϋr?Gm*O)F N@1 NwvW?ɩ5oc%gѿѨL} 4#ܨկ+]dqĊo8NjDoJ.3Ҥ ˫WvU<{w`a}p*bޛZ9Xه"rocT.b]Ng;uIb?Pu} *VI%uf/Nh+J%j6sk<>om 3< Og?YWj\ESa|s~MEu< Ov|a=Gzd~}>C>Gpw@y g\>Grtxp?>Gqx8."4A?]R=-B(H7e>KNc߻nu]xи.~؁”Tw 2?E7CqYk^׸*&[* x ^oj+ڛt:ՀC$0+/߬bIZA|.!{Y/}`2mjLH?,ŲwdCQ)2)rZBYXME/aAν}'=FL1PrƨdP|D:hxP; "蛺,'J+XZ&aBKv1OmGl:Uq|* n¯LpO@2@)ʮJ"OI/"<>,H ñO_,0^Z")7yr7AV'=} ^s9s9s91e dߔLNJ/Fb[8Ǹ>;1GƿMC8$̣:dpҽZ8hVmsk,Q%CZ"?P^ kp0듙 ¥3<n+-fL̾tȋ _: ׊+_@|Ɠ܏{>Sַ6ڋ\5q; 땵+dOPҺaJ*}PWb Ij0ficёvrʐ?????????????????HY