From e3e4f6ddd5b170b172d29329651fe0ca228906a5 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Thu, 11 Jun 2020 11:10:19 -0600 Subject: [PATCH] Add EXT4 and NTFS drivers --- FSDrivers/X64/ext4.efi | Bin 0 -> 34440 bytes FSDrivers/X64/ntfs.efi | Bin 0 -> 41608 bytes FSDrivers/ext4.inf | 22 ++++++++++++++++++++++ FSDrivers/ntfs.inf | 22 ++++++++++++++++++++++ UefiPayloadPkg/UefiPayloadPkg.fdf | 6 ++++++ 5 files changed, 50 insertions(+) create mode 100644 FSDrivers/X64/ext4.efi create mode 100644 FSDrivers/X64/ntfs.efi create mode 100644 FSDrivers/ext4.inf create mode 100644 FSDrivers/ntfs.inf diff --git a/FSDrivers/X64/ext4.efi b/FSDrivers/X64/ext4.efi new file mode 100644 index 0000000000000000000000000000000000000000..9ed2b1c449a4167f52b7a61f20d10376e358acd1 GIT binary patch literal 34440 zcmd6Q3t$sf*8ikU+qAS!(1Jx#0tQWaCV*=zuZAXN0x48V0Y!z<2UJR1+oTUbD5TX6 zW0b$IRX=x^U0v7R<)N+%SkY}-pcEgxRD7(wRG1i4P$>nK{D0@pq)iL@sq6Ruf5B$% z+&TB$bIv{I+;h*p6Ekn)e(|UF7q{$cm}Td<{Cgw2Do{Gbjo^Aka9mRj{?tcz<30_4 zp-&nL^w;x~R;$3-qBLBuo)3TEUjGC2;njp!hz30?ISxh6gzE$00RLfmgsY(11sudP z@fo^?qcw2c{1N%Nu3Um6xh(IxhQpy^N9|z6;FqW)y43{|=BGUssE7L5gw!yVFYuy?s8fW<3ShK2FcXR(T{i zs%vryLVd6%T{bFrg9u}-+)uenM7w#nbDTr$Q0l+562hor)Ct~%8eAGzpn-f0^$O+Q z@rl7;P!Ox<2;x`ZOnyOwNA*qUv8I<=^*gE(I~bRD&I6xdL6wd{{v)9Rd24a)BClS# zQ^{MZ+!1+AbHm8XLOsZP6LlbO2$A;|k(Z8oweQc<74#Mbh06W)%AJb-YUPg5=Z2#{ zoyO3YDCl3urEwpj{{;0a`iKk#{eDz+QQxZEspz*UcZ5D79Q{M62lc#yzL?Oz%>jKq z>Y0vwCEv=>x5yO=is?fAhc#2=MarFu{to4i&_4~A{=M;Kkh~;CzFFypRfL8DXbb{om1#W1NJ6@0; zUQ1=MZy>IVG9qH`oy=NbV5?3x0fbL>84Y~$a--SCC)coQSW#E3C5VoZz}6C=hHBE}RV#uOsPq!1&l+TH}*G(05G1A_P#1S-JF^O$AN zG#XlA>3YDB$)`9a2bq0zB_k!cHc7*zSnWUy3tBkD_nlG(fqd*%K@0>UMO}fXPHCFS zZfPQnT3{5!+l>Z*J{JOI*gV?>2wte)?;4#6?=+(J=7O$aaVOU<)s(oet6dtg(0xtq z(n!vIrQnU4e=BvZ=oV=bKF}Lzh9D)}Rz)PXx%Be;5WLVDWk&^l@a#@{)*3Zdt=Snh zj!LLW4Z*O6>y(DWLY1vi$(=2Rs4Z?#Yg(fo#XJIU6=ZsBotYzu@64X%5Z}m#8XaN% zMnwZy5LMw4!H~j36^e$XF+r1>k!snPYB`x|Jz}f{C@P-{sn#z6qQ7&XgvOBR@eO~(b9v=BvK&FW-I(G^R?TOYYXHoraW;{aunU*Q^%z4r8=wp@ zWJ6ICp$2wK8;F0WoD?KoCs1EmG~(o(o2%0VX;}*90#}r59e`S>Z#EPg`VdJflpXYcQQ4= zyku-r3W_|S??-SCeZRwcdkgf7ulpOQwa&KAvgTN4I>dK!W@n1q$rj!uL-35>4bDJs zO`2q>iISiDJ{WZHo6bPzBA~UF{SI-b=k=g4wmJz)S*_Q&uMs3cC#1ero@kTooUqEr zaS@zDbIOsri_iEV2=CTp@SNAIj1k}W`3Jb0AwSQzLB9Sk=*BbtcJvl>$F)Xfp#Z|T zSLkc#HFlD3-hoWkFFd>lg;{ntgY((RGOBI_u6! zdW}O|niPlzgxwMp@;(%NA4fSgUklO|uvPaU#;t`(^FdWZE+>%5k& zfPdPPld^J!zJglEV-` z@cTjU%W3!$yf?;|!jrt1igGK5nHu~ zx*-tDtTo848QPlcMB&!&P8PvZr-<{NOH6hlal|f|&K3G`!pdDatpb5Qi68|w$@gDFR5-;i^uuzCD1Qb>*UL!&@9ONHA6ho zo3Djct!&slCt+XFg4bn?$2t*Va10rkKttKDzoJlI$i2P|2H}t51+f=KFKO-_aJ?6T z?nFVlk0FuL1VOxSEe13YBZyn50Ov+-Z4ZU#t4{7h&94+Uzdbr6(3M?5e&Tc{&_TE~ zenkS^04NGjz62}x)uMOUgF8mHBOnW0Cj@ta_WE`=FSIhM@f-w)2mZgB(1~+|)k3h% z(Yco4>-VCTtQdZuM&lia_>CZb3oDtUiWF`(g<>=s3}#nv55-{EjN>#-f>;c_MXWDK zY(>EA$?G)2W?aUk#@o?Ko}2`CEq(!)n01a>p+jt{&Jv{M3Y1>1yfOqZk^tBPgj?o5 zB&iRvuB#qIm3pUmToBPpZh#7Og2e(1Fz7kODK@DFgi=e+Y^V4pg-tZ>PB@fbb?D!> zTw>_^WwN2a0hh)HXy{)AlsfdDf7L=7ny`h#6;4budgdbhn3UxFU(>*7tSL-sK{O?; z)QRsx=b{BqYf>PQd?^)E0J4x~zi8OBQ7}zTE6D+*u8~%xoGrh}=Nlq~+Uztn-S(N1%yM(K}!XYl=9m8~tF4jv?iSEt6})TsIE5mAS5ra5sixDj{_*mh!E3;(@cY2Zpk4cUE5~ zNYq?Bj8GGEkNjH-6hcZr_HrWr5a`wm;whpf6}} zcD^nkS-mcZryb%M42`*K3Q#7EuSgT10hsfyaY&mRfXFExgRUV!kPQ@=h|T_JGC*&i z#|RnJ$SL~e#?E$p-Mz%HWXBX}z9jQoAiGJHdKrt37&MN6w#yIn!aZ}3mTx*$(?zNY#fP@pNLSL60&_v+ z(flqV`*af76;HXwb&~qK!ElRXwMK`yqf(zK4l{NcUZAfaxe>%37CbxkvIszW4ntr{ z*J%L%!w&TEVV6+8_a=iuZ^Ch08ly1h$ae!ub)X`1lI<9_Uv)xcPEwF&&oA^eUciV> zlqP8_6QqY&%D{KbAjIyKW@`n0Q?npOcZZ87xH+UhJ>W8Q2sxb6EMaRDFgjM9=ir>G za-jkyL7Fz77T7h5IG4^QP1jm|{#aY8qrU?SI`NcyxKuSq@Xo}bdwlRDofv$F zvQBth(Aaf>KM_@eHyg`l%*|iQ$L)^t8z>{WXhsCte`~oi9iKs#+4?~Ou(r$&vG}X7eocv~+afFj>Vw}buQ;SsN zh(ND#n8ONJQF(-`SwQrm7d$&y?0y(L(*#S=N)rAODPA$i+v6d-D7J1#_JulDC}OkS zTb(N!P=T1Cn$dMT7JJ}T2ZXc;CLb*i@6F^`E_jQLi=6mMa(eH9v3>#5lFQ)&LAf15 z#z?0U;U&z=BNTEXiZOv41OEEU5eR>feP{)bi!#Mia6p#*G-q8KMx}TdpgQ?Ws1b7r ztF{waVN(@FZU?e3bI%vx3#D1O9F~NntsIgQ2afQYCiNG@NUZ7p@P6oO|5l=juX_RHlEC$i z)aW((B5}`%hUQ|m=6_8Yox^esYLHB;ucZdGH#7cEEO74WSljbLr8>%g=B_~ZyNy^P<~B&NIgEtBSm>D88|+T{_| zoal31CIp)VPlw+9#mg+_@ibRU6>tvA-~wjSUe`=xQb-@+6Z%u;LmtkwiLV#YE0%8a z+tcPFq$_N#CEsR1RmFVr^d}8=Xu>pul%dt^3ho-3k$CpBG%d+0?g**OmItWC6KBua z;COvUBdy|g`Slxsv~yH2o}p2>8ok+5zp#m?c@H(CZrU^E>s<@SKA^?3@_Cm1;x3!C z!eBl7jg{ZDU2Jypo6bwK5*?a@?HTzRS1O{?$}!Jr8e`DhH8FK>Wz^#RF@duzTy$Mc z_uj;Za8FLk)l0db5jg8kbOc)iytvD47jBr5Y_`X)d)H`c>zWW zcDaOPgRxk|Z)qTcr+BqzaN+n(w6u(b50PqgQ^av!(RhVshRVyNTTDV^`Xa^OV{(S- zC>=P0JLLzVasGCS=HL*SS<#@607KBTlrUrM%I%(^nEE>`y2y-LBcM)PEApDSkgW>R zZMycfL0C+cnfSWhs3k9>vm!neSpz@LQjo&gQ!sbm&vIK3Z zd#v8HZ|?cGpgC3OSsKl`(w_R(#fO7<4G`3B~35$rhk*VtD-OJbg&(A+wmyt+4I@bN>}o( z)Q*a4E&B-|0RXttHf-?hX#&M4>jUQG4&^z;;bIFQk{HBUXduD72iSv_{rFyPOr#c0 zELPyP#~7_IQ=gW01aXc$q#hEDQvcOhtk!?%j%~HG+;?D^)w5E|Rgc7EggNho{9jNf z@sLwI9g>2>)2fxf2ZK%L}>}Gd` z5etY&%pIwFD*9QyOM`atfHbZ#*g7e7+>`E@U=u_i*chM7n!7l}J<;*qoMFmY$3 zaSu(QP_lP0p|ed;%#;d;RA& zQFf;*9#1QXQw8br!d1t(Q-yGia7wM|X~4<_2GV^RyC(w(^rriD{G-kM=KY@LNHIGN zydu%VQe!#Umd~>=ON?C%hNhY;28yz% zYsvMurXvMNfOwYs3G9}M6qDFw%%o}N;1SG7;yW}aS;cSU)lehUrwexRXpT)v2S@K? zrvZ&=uL36-Y~pp|VlC0hW;GfF>oy7i$;i(D3k`(ld=v$6I%#@}jn6n%-^SPdn`n?` zo8eAfNLlU0TCrGI+{O}>@|-~mCv5SUZf0u6*IfZYS@w_3PN^7+un}^=E)Jy7O1_qm zO*OaLG*AS{H{e?M9Wccz|pZ?iO|?hn%2%*M{KTmQX^BlR% z?C`AAbFP`tdaP1FUO10S_05ijN<=qP15*hV8v3T8l=4yn4oyaTIL3dGg*=p1BX6j3?FMP{cs zKczK|&M0xM%uO<=)-)vki2Q7X^jTT#3Jr%wO`3z&bJ#=dnZPqD?kr^DNJQe4iKX42 z50$04(r($WMu%(xHIKxEX7KD#1=k26H7mtE0GyfK{p@x7T`(|m`sf)Khp6$lFf!7z ztS@Q;ZxTc-jKHW;myYE7cMh?gWh{{~WD5_g_@+ZVNQ}P`$7ZwoRSXAOfmw{i9Gx|& zH7eXX#WD;tf-$F9onjLgrGY#o_m@I~aEg*yegacfeG|MZyp%D?bvYZsL$vt}HGt<0 z+@LUIg^<7)c!H1w2+67nX)3tQyx8YsHxtXJkhJzA@?b+aBiIZ3MLKsbumR&@_{Am{ zWR^V#<1h!6b3zqxq!^g7^GwLB5v(}b#712_6wFE!yvvZ|yMm}>>MIXZDHiHKCm9C< zznz1X04WV+7?mycWz5SEs>8u7P<>dQiX;(G>E%^nsE%H%Fpu~@EUR+{xR79c10Cum zh>w&{o*GNS6I;q3Z_-cZ2m6IYQ^3&K2EVJ%_)`&R&48vljj6;$kKK& zpXH8rh~tcb7%{-I?-0LUd@nSKwg?Cni4n#9r!e=AbSE(=9|2#4#y!Q+s>L)yBrJo? zBAaxG8enE%kB2%u)H8)*ab1(!3FXK&ob=x$FPNTAcIZ)hh+-$;3;lGw{Ui+8q%uBNU z3P_DMh6RLl_`+G9um4PTDnQ!AO%nfFbEoN3H-a?IC|4muN5J~PHNXRlMdcW@I4qy1 zxCYnR?74dY0vZ=A3)_t3Ujk8dr~o#Ovj16yIr(K!O_sicucuj^rL7~~6OkpSVA0ED z$ezBYHkgWqqEjL~A&*3Wz_jz8`j%zROpIlmf`Bf=pZ%&u-O~`tUmn$ zD_Q8u6_ihB9zamtV&E$9kcFY?%nSvy<}jk&L(#e2^11v^Y_N2v%1_=UQ@jD$p&`~+ zY0_j2sT(m#2=vJQd3hOXaD(g$t2H>vB&3p-Ev^CLQ}A(rzDI$AQxNKR%x<2v%9d3F*`{}Jy0HRm8KhLDTVTQ zPe-J?wJVEveEs8K%puJ)S+QtQ+%-lQ8@;lhbXfDARl@!<5==}7FkhdrdDDZAfv0G)gO4Iv zB6$Fo`V*AincO0zekAZ2AIYPzSxspaT3J%!&7|<$EJV&UVlF`|Y`)2_(Y6IcgOffA z3aIf4q>BRSSnkg=2+3co7)b_KIU=jrSklHF;lO+^F9nW3Z-x2~SgjljKf%yyKz{N^ z4$VjYWza(?m~|+fG=Sq5V=~23tbze1gsB>QvLKA7v@3rfk*>xMN*KQC?*yTBL zWL%TGuefW?G!3%#5uPIhd`F@^M<>Sa3M{cU?B+N7te#`1thMKlxCgA67U4Srhq*J7 z-_k@dzBL&aJVz#?1;8f&9IzdLJ%#BzxHB+pO-7{WXpC*mERF9df|8wD00RWb*G#)$ z^&N}1#qI?j-%+%81VP>|zHScOJCfTh8`pxkzIjEzLMcAO#&6cfAdtV;&u?k7rtWeb z?*s}l_D5oj59et*cxvs*Qyb&yD0n(YJWW@4YVG1_ayOpZte&Ib=^W#!6+BH=c$%*8 z)T;1A0$Vd3JRJp3yFxro;W-eI-{Mq6ekxr3rI(Z{R|fjAaCY-p7rmG<)L5xmk6eaINP8J#PUV=9x!!xUaO=eF#xY zRd`;bmpd?-`9~;-A_3<%vEw?D1COipY;>oRrA6~w##u4C*3=GH!2c~|;<*qB#J;q; z&t0Q&S`mvPhSQ-m>Pw9@Xq3^}XeS!6k@iz40)n(?-{kI2@0FelTGSHOzM!Ow&`5+W z{(3Y7`8@H^#pC6~b|TThck*=(d6862P(^mkX|6+$I^uI{b-8;#FiP`ceuqS4WalhM!HK| z|GE1r@ut?vEH%(NnMEXmIui$GT2s%kHS)LaTWsP;Y!;F}C^4uwSu5mC(TUS_@*kn7 zs(#QmE?@U2xP50{I-(Jp3fPLuC*MbVzpyRDT>e!6uzJ47Wc~>oPYqu`1u>LUTEM_t zW1tqCSgOTrC*-{;)9Ra=TH3Mjpe_^=__|c!Nj(5zv0=C8*pb@vP3|Odw-pCj zH4e}A2+y$rzGG|-*&Vn$tzi$pd7tORskGYQ5%+Zj6amK%I5^z>G>Po9u9<1PfLQ^J zVs{57qJ`%~2f*QR9l`B^5%ipVu650FBRO5P)dJjeVqz@o^n&k1eC&DE=k9JuG-K}Z z-v%oLw~_8_vX%N*euUFm6v7av`+IOY9Rrm54*$Sw2nhLd4FAAs=%p2t{}|7?mE!KI zmFe`HL#D{lMR?kpJiBWfgbNK>L7K&PGeRy0_Ao+BkVm5J-meNh=U4JuzN*p& zeF5HkON7T4x#~g?>luC;qmE9r^rTKvB>8a2?|0F72%Qj(nV^w6aD_S`IwAU|fNj+| z!oD);()0$5;vVIR@5^{-1Q_w`IpS%nZODp9Ye;Dj5D+v)5?7DIq4D+OAYQL?c-RO+ zO3VnR!wA~su^}2mBgog?Of+Kb{t7oja!f1~qp+&zQX&BQ`eaVC*Wj*GP_zf+ksKUcj` zr=jt6Cm}A9=3F>%W@7jHL-LdrVfxzu!c?#c1=fRV41=uvmP8vAP}RP>nf9G$+L!Sb zY0C#ctbMs5T0+|A$|t!WKr)HYx`0;P*QIp~YgLl(GxBT9N_ICfwYtzC1fg{Yl_#Wi z@Jww?>&S?h)@5~S-BY(=X`x2t$Wh~UKpe?%#oDB4T6=w)TW4(rk2ojC@(y4BS<-pV zY240C?37#D_}BK^QrjHfadF~X_grn~H}{Vdf<9~N0XLS9vo*-H>AkZw$=G#EeakAA zY27i&Wk~Z?>#b6j)+%P{a0%pi&PBRsI;65rg!c^Ow@k3XucRInyelH;;8nHW1~dVk zjWT~10w17Tt0)jc0SL>0uv+U)oXBvNq4XOdZ&4}7I~tVbap4FMBAL$Y_ARQol_MZZ zR!$JlAu+_xE@iWIlXY7@n76*V1V%t3C*K7vdb#!%4JXR9q4t^{ZtY*=07LHD+PD^Q z)>mj2ef23Qqv#X&3Qq`UFTD05TtoxypRoI2LwZz0b~K2oxmyr-c~=C5Cmd(Lw|V1{ z=h}rW@`=`DpWSQ4vajh0>sjo@V7IF2iL>8ZHB_*RyPmKnpR%4kZ!c;h(rlVjR!x)G zL9pUZT+e>5p$j0qElu_N z5&q!d)f^+3%1c}=r0(Orv%w7V=?FOcWTC!L9KAC=0;}x3{N{=XdOtF6%=1F(>E&_Q zY)C%ckR1^?9&8T!P-vJM8Cs*ZU?jG}4RNkGgumG6$AOxr7SDu8XI_TR9YqmsbYUw5 z#UkT#ojZ9*(9Y7!(;#^v59fATZFWW8*bBt_a-rAdOmZrkV&k$uVk;!_qGE^vZ$bht zjYH8wPQr5xlSxE&@$}p~{Tor4LvP};*X>O5IV4NySaJvfuOJve2-XvVg8+~Z;0rxm z3n6M)KPd`W$8`YPKw!@ULK@yN5Zgc>Vg+328Fwe=8i`!d_3~p%<7$es1NP)JI*QTuEK4j;ViqlpR%Wd}T zG<%EiEqalVmOF!b5_}(eL#Mn6oz_yPLBvl8DY4ml4Nf0pD?jK;1l1Wh1cfY8C05Q& zfiFP}(S)}G3AD|17546&-bq1M?^?`Rt~f_(Qzb2j1E=slDKfNSZ!((X-=hb?^X=wsW-iK1u!<>{?(r8zil)r8t3bSY7 zU|JUy2KfzbcPg|B<^eRzpk)2&;M6E!RnZ)KAmeeuvhSE zQ7ecCo#IaUOW2x1(5xN=Jqygx9RsnMLLIaKRQ^{t_>M4wURK~w5kYu;hm#)$sF3>!}$a*Szr|Ia(pq7;}@q@z-B$9>H@3C-&YLLSt)gHK4wKgGk z->i0DOt$i-fCEPZ`FnQ~d8vCVW?0&sQevFb8?VE8MO~)YoA#uV+Z>*AF;$;Byh4Z7 zb0kLa`6Hd)#5ZXrg$A1ancny~hsNhj_3?F&kjq}fCQExmzrZK_y{l0(&D$TRQhiQM zGx9qz4iP8f-gotb6+6W?XY%WTzM09p9B1F3>W%L;&6^mPncSQy?h9OvR~rP+xuEN) zL)@LVW=yZlk~BR2~X7t!JEcItD&;lQLQ0=6h*9@Yt7ToSiaT4~ue9nzt(ZTf+#fj!oXDj2Pmy?!nh0p| z9K9V0#=fFmTyi4yO*L%GTS;XgMGb4+o&=xwFVbA{6st}?hZ3JW#z=2)>e*}F27Ei& zFAL0MzbtS&d;L3~z5ZRyUjKf{Sc_Hw+h$ygf?NfHcoT5o)o9=_*^IzpVmM3;hl$}Z zF&rj_1Fu6XIPm&E;XrDfD8YGu$o^}2FtJG6Sjs41I`qk3cPMPrFNgff3^e?@43OqX zQGdS)r)07O?AypsW91C}$)w-25ah>|JN5T0yviN@p2Yzi;>6a-%Me7ZoQHZEMQGZ; zQ4dY~6M}@fjiWJn_-|1kG6g_vh@%x^)C_ber>MxGs#e@9syfQV5KP2{ZOqEO0i`6+ z)Xm^`5%W86gq+^81HIg;0(z zuFOp#%%Iu`@`;3xjEw)S5Fn#`3L#4f0n%`ZA7qNBGqIhC_du?s=^4C(6bv4A&!C6{ zs2#S`@$!x}IFlI?+1FMe;sjnmSV)ika!?%@n!wc^P~}Y?m>K~?Fa8Sw8okMbQ1ubx zd#H1Yb;cv~%&Xj!DUuQ5O=D(?Y51PWjPQ15g!#+}*Bfim29I81286;k<2uwh#rusi zu7XsS#?G$GS0SH8?@s8+KFKl}V%R4T!#=a{%@D&r%TNv>hKZ78qDDas6D1B{qVSVY z7n~QO*DDWZ6Yp{po%evqL&0q`$=aLn4la$kXeR$20P>RzD%c5iN`cx$PzwmEngFC5 ztHxkv{ZOEV5YUXhb5X@G=i-l(AYnRt5jm?&PQWH3Mi&|KjIt?`%>Ze}V3(Swg~MB2 zZ@AMq()t01^XT27n}8Qo?KR^El#t%-EB!<#@SDH_v=g@2-6enCY6Gi;{Gfz22JMW-JkP%DA10TfY4+Cq+x1){Q> zYQuv20fSf%K5BM7HOmG-p%lq@>uNTkM>BaKYqo}(d8t`{09@2c*Q3>oN~@XFs)<@1 zC$}4F_CNb_<#Kcdxno(`sw^w%?L^3SC=ruM#M}x9IY$AzroBahaw<^dDjKH|)Mz4k z-xm%t=l2m5HPV4onNBVK54=J|$)Y`i?@Row#NMe4zO`XSh;NJL<%Y0$Z}Hl#P5 zcx4vH)sHD=a|$DkQ?_(2RKGKZQ(o7BHqv1oL}y2!!g4Jgm6>TA2JW984k3_|)Hkh3 z?A>sM8==W|s5^5o%(=Yl#14qK2QjkhWx%u3TW354VK7faL5}V}b1O2*|5x=Q-A?u3 zmjrMKkHW51>`iSf#ObBqIgD}_{TzyQ)u)^RhLp(+_ZE8R5<-Ex3>WaS%^c1>2F4hV z*P|e^)i4tRYn+6|lWbIB{eAUR&46P9W7~Hc@H-^r1+-zvGV6ox;lPxkC{;=b(-gw= z0lmVHUTNc|4f_)Sc75I6lIEIalZN-gkYO*$oq$cJF@Wa$595n<@U+?v)DF%}Jy}U} z(gnr!9UQEZnoS+lsDK2tHSjpF(mNo8HIA@CgE^e`A)2!;fijhd^(NGXP|hKg*N35e z#XkuS57x!kkw*afSt|M~1>hHgK_EcEz{vkbCExCKYvd#JmZBo?6e7STenoHHKK6xD z?M#&!SBn*{G$9i5h=ixrwqfn=3~N{CUr(nyq~UKuq{M5YLJW0J#4xV!qQ;DpS(m2d zt}u)w-z5qqRW$XZX=4#l((htQMuoMz&p!y1w6_{uF_`>aqXV(H@O25ORP=`Efnp$i zmyB?Fj3f94-e)=DjLauZ%{Q6?mv=%?VGe;>`PU|EuqSaP9j(IYPOLYm8cP@~XC4=> zqoX*802)vyz-XVOE9^B*z-!{H5_`>cvGJsBpWxKjSaidC&LMNV>f^M5#9T)LU+2V3 ziPB)~sCqi$u(yqSe*;y9&Ml%}cG`sqNFf58k%$I5iR(s=r(-x@HyCoSx(Vop@O2qf z?gJ0R*Rivgo(=oh2%Gz^qd?ae5sRvGYZ;XQ8U*$Cxb7Sx&fx@>|< zMA^yL9U+cA9mRazyGkiPBoE}B09S>hN*&oatAV(zsvpX6d|g~LYXi==M1fO_a+}N7 z-Nb^ojy%3@g;JWs*SUbif0+VO!PoUBJl6qF8DEDiHuYW3*S(H45lRdBy2tR`e;8*njm1B73Vtv$N0=Ie$KwkABT-J|nwVXE=E#=lW1MEL)#6tw=Ql!DIxuu{^dt@_ckF7EZixZ7;Y~Yc%CY=;St&!-X?l+6-PaPIS14!l@&*WAIwFV@AA#$IJe)M`uRg^A4?((C@K)j}%Ji#w zI5Y^JvF7(2!%qBp&5J|r{XVyzeaGtg)X?sWu<>?Grg*5c@{ju3eYI|ccKhkI#iNHA ztr$Z}pw{$l-;sthhMu+v;p~Tv;FYufb9i7h$P*8-+rj!YK#u3=o3|Yb(AjhR01Yyf z*r9Mmh##_@63V>bSXvrRH`32YWeH-uQRXQOK`vQ}H`32ZWw{{`ERZ`*66eu}lAU7+ zNW!l{?eNlsL;RY4_A1R8nP?QwwmXs!P?DKOla3g>`p^*zCvSsYh`?qk3bmg?iUiBsNcX1H?$N5!hITn6 zkg9500Czb|+L`nN08aec&_Falfz#h;Znu00-tkf)rbOtAgSR0AgnIwGWPP1V%x{5W z*C{J~G(#RDgk8^Xfzq?FRGx#7aHLKwiq=9f{(2Q5w1rV<>cRmEm#7rtm?r(gB6)mz zrT;Mey~CS{jkcZgQ%X6y5cHMF58w_4kOP0Y9WT2z;a9p|17FCv&Yn!S*ex9ibw{k8ED^Aw>FW`=3kwix%nb>hOa0Lnw z3TZn^stm}%-URw@;WuYRfu!42l5ne?!Ee#eKp_%eX%VdFtWbX>A^Eg2(`We~_!<4x z3>F#@6VPX+Fc9xiPr+1o&QLW3fke?@n71@@pNY`aftm zZblX;eZ##EN7IQP*(0KdQUkkmU zy}uttl+c9;;f;dGe+H#XXd2D8etN6*M=^$x)*QkZPFl$C!d8yqx2XJE3FyaW+fEW) zZpLSzqz7$X7$0FVL10mMf9OX-KY@ZCm3L8PR(NG#QurO(*$4#jZlAFzgg*=Q*ySxl zaRYqcV2*kD4vo+cQ_gbZd|?%Gdz^+QAiVf4tg;#Bvslt&GcJl~Z`Hf|!sk21{i}|0 zI@p35lLUqfXKyzyg1f~o`v}_G!s+5g{A(E+e)9yHkZ8NM9=Ke+nQxQE8HH4M(5kls zZwk^F+)x%p@nVy9lHY;jeQ&Ua9Kd)Mr=Y6ZT?L3S^iocWFcj$y=AYOPJ7^G!A=u;V zH^H~CNN)%VbY>Cfu}{2gz_5|Un#iS>$(MhH{eX^D?Csq0JJ8!c{9|;O8O; zD?42WV7~7E010{LiHr!fN4JGyxnVY{Lr)I=HSmLu*!x`6o1V5AX$j10SsgeK-RoT<0{-msg_ykboRsyT(cSg9(xiv1@@N*y8Yf z8|l6k&my4QLMkRm;!g&h#C5md&Jon9=L#60jkFj!JMQrv7vBsn-Z~hYV6upM~gCV)<4E@Ky z4hCya81UB27#Chyfv(})&e^X6caYPSZ$1G^uu4N0oypH5bdb)QP@-l`8=GLevR(!3 zQaj|ekTt;j+?qr34IsyfM8r@mVd(4zUJu;ie~*bom7xDM&_N1bKY-#v&;cvJGky~( z6R9~VJtjPutDwQpLfI{!D5sA6C(!`W0xJARSz9t<8VN*JE<{VpkdsY7#X7~Wmmk7H zEi~AHf3UuvrWEcE^bO&J`VQ37g55>^)*(Q6fwcc5+AS8d+~_MD+(K}>mtne*%! zj(PSOGp5fln6h2DE_a1tykT&8avV4Cq9@7RNOwi~$l}tx+~Sc1`HM#lugtMc9c8xM zG%_>4AZzi$k8o1*Lpj+9aO+rOz-d%B?U=%FQ=q7cDFS-{l2AOpQWE&+hR1obx~+^-;2r zE9dN72It^PxO{jOGyWd|7W^B*jlx|4SIxP&F(_qlMO-oN4O})?!&RWRfLnq)8`>9f zmAEShtr>Vyg<3l|1OKMu?`GUh=gRQBgv$ak-ID5@^Vx4M|-&O=3JZgtTT_mZ5FqP)`l0tJoIgtHY?xQd{3MWrPdQQX;a zIM5|}SLri_gAF%im%7XI3X%;Ih;H--qgHCT5WI447;Xq__zU328&qCGQW*d9#Q+ks zichk_vhim*Q05-;p_1%Y#c6$w%ee0?=ia|w>)prj{&H5 zz^DzGa+qMk`u@o}5K;;>=#p?4B3Kc;PY*&>I))f3py{QBN=wUcl9M?mPk0ZKcc^Tx z&NXu;<&JE=Fc|=-{MoKCJGW4EIo*62qsDM4ZxY5wPnVR;sZQh)52zU&onag}|G91u zGGKa6?P;9CZsEQdsW6LV&QanjC@;w^?&4`$DTaPJqKo3(vTn9AjCnO692OEZj7C8< ztP7=KsKJ8Hx~%jUk)B>!Rs$3v(nGi1NJmI@scDHg#s4Sg67mFm36N$(*H}yN@w3Is z*!#sJV$IJlFQ}-vm^Sr+qa?qen!12ynnFsgJ{vxP3dx3%o!V~d{$#HC4jT1I?!v+X zHtB~?)_4#alZ!PJ4>7DtL*|uWYw7@wG>pR2$!<*gJ*IzD|6~OX*=?sY2BDYIyb#<^ zQ9p9o|Eczc`U|J4)5-iSUAY+3Pt=r)8zyrDFP4p?;=hxL8kmJdqPi6_BC<$B$VoEq z%6w$_JgAQLMMM1aDY>X4SXmF!I^7SWj7u+dm$;ztzZvthJ+U);QBk1_aVi|~PhCDy zG@4nkq_n(-!ra>m%1d!KyF9n7te_ldR7sG}HCJc!_~ba9G(joRt7>S>--UVjOWWTs zBrm;mNm*_=(c49#BEBE!CS>HpY0Q5D6BiKmsZrP!m_oP*7>wVAsxI#9R(KFVl1AQ6u>sFN95CaL&Ksjl4ca-7Atg2Ft97v zg_!yApP&GSa5Y{y<6`E2s$CIxGhoR@OA0P2?;m&uPBTi&m*l!GlJL*zn8Zi~;F^V? zz(w*4MW!nHi>Ez!o|1~vOX!zc{{z}*5=zU9mX?;da*JmapuIb^)HEj>uE$W#Dkygq zA&b-PAp)>T#TWCKvoP0Io?F$!?-JVn%6|qolCZT3()8^P>+# zdSIbdJl&`P!pu@-<&ivoJk`!9xZ7P+UXaf*8@bec|Ff(vY&al!=OIJ=%`PTktiv073CH~rrkig5Lok6QD2Hq z(x6KTgzA;0OHWN0a_Q=9cUf6!xvL=GnOm~Z9dcIPg!oep%vOD|MPH&01HI68v7`K{ zy@awvIarOr@fGAV8x9#ULiXHp*YrZgTfqS`a}H&Teoi0EKahTg3f=oryoItr=-G{_ z)2FCL)Dz%8q9YXafu7k#`7HT0I)yW36z49i0J|#?kC-in<&-N+VV6;6c1baZ<^xkF zFu^F3M6zM|a%3$+Sj^P`XDK#J^olS;9^%IrLzjwEe-?sE6}x z1|MDEKZS2J=#p=DDNv3tw!R7`stA>i4VJ1(wO1FV^)rH1S!xy8ku;BaXOJ}6m% zxdfXf_VV)5a;%Fh;Q;dy(3N8zLw1JCDX9oKbB;DuRD@)=9Hun`!od6* z6x34&mTLK&m5B)1ppqh1PiV^!N)a^%1S@3_95)kIVJLOGSi1^x-hj0hmlLh9BK3X& zo1!>JdS;eN`OJ)&p<*aN=oCyIt%h7h2;vP0vMLZhbI5_Z*^E7_sI-`c16=xybhU-O zB%ioexB-z^1{CBQOruhh5kQ3QMk6#+0W*q<3p(W=nl}+8E-5Q7T~dTOUm2{>{*Bo( zYV?>Je{)kxs&!Jj&7SddygyAqom(t33YO$zFOIE03rB>|uN^dZ+GDro@9+IUDz~n! zsC?`nEmzN7@F?ylD))_JHbg~~CQf>EMCQ8G2Zqv1L_h0;lMn0@#P%?K?uk{dp>KL~ zoIc;E&!3&oZacr$;Cv;0I&dffeH=Q^NuRL&Y@`tM~9O(VzjojKBCi*fT zE}0!WaY+}y5B0bo*h3z7-!kT{UX6gCuE=9p)l&V@ci!&(WQKz8@0N8*=`UTC`RAti z*z2$T!`h&@8`kZ=wNxd#quiMq@ zTk7>g^%_vG->KJLOO^hwRIdj0IzqjssMiejIzzqQp3^p2i5CQ_4;EiqL4+-DO^6 z9vxQ0n+Hc~xOIj+r5CBK>y5^9(c8eBaiJr=`;5pf294J z$+wLfR398OZs+y*X>H?>Ri|z~mZ4v_I&z|Ub>vv{>WJ&sMMh{MB4W8CJ5IXd`^=a| z$W-z*Q6O@RWt7<*9hswzj8C3{{pIo^tQBXE!1P_@S~Sd1UYcJ)r8FumC@o!FF##K*v7_Ii7^AtkzU}*M~ z#Y;XuQ~XZ$u7Z89{ITut)~fH)rtES2ZtC@yUmacf?E1=rzxv}Ier@7j-(9g)FV?(O zFy`S$?%ndxn6=MD4|(v=GlR$9v3J0U@%NniU8H~cgUdhq>ix&A7*`m4_a6!F*0r~f z%l+;7;zKLA3xA3eAKfx!Pyd@I-WLId(L9}Ho@TxVBX-SY+P>Pv1M$(Xrp|e`_;L5j z*ynUPM_p5HD>DzE$Jc3-%zbMw4G>QNS7@Wmks3`fT;@;-$XvrcclO((83SKk=ez3q z_x||$gZ|vH<1ZhyI{h!tzqxboqW<4Le&$fc)|x9;f3dUo*o=7>4t{sn;dj2{pMU9z z=fAosEwH6x(@Ht_&4op4N9lwAIPZ8ndwbOOZ@-&)^Mqyhr%%7*(MR{2KhGZS?Dz0J zhINT|oZGWv@we~IN;tDLan|=Aof!72&+t@m@8G26%O9EFcH#Feg9q zin8#qw3{sEQKLqg$BZ(k+-4rx^;Byaq%}DGFRpsg@pR5dUo0AU@}@Y~U(bC!+CH}G z_uEh2ml${7$M2eJx*G77V)I?*UY%}AGbH?`Z}?4wIWAhKIEu&^^JSgo2spu7XiVr? zM1&^I91|Ti^s>l^nC|taaK(Z#Yw;Tx55?O0mDWBqW^nR&bJD=b>yBqXH`RRo#{2KO ztNi|d@T=cBzBuBk&to6@Tc9~+$bvyd!D}zf8~SMB&1@X5l~j-re$+eZH5*znQ4qZ1o`w{^&A?s)G-HM34EeQML1RP85|{(aYr-`w-q H&Ex+sXUPH? literal 0 HcmV?d00001 diff --git a/FSDrivers/X64/ntfs.efi b/FSDrivers/X64/ntfs.efi new file mode 100644 index 0000000000000000000000000000000000000000..47e2c25176bf7dcdbc95ad834c81291e21ce704a GIT binary patch literal 41608 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 y$@^W> literal 0 HcmV?d00001 diff --git a/FSDrivers/ext4.inf b/FSDrivers/ext4.inf new file mode 100644 index 0000000000..4f05010ff5 --- /dev/null +++ b/FSDrivers/ext4.inf @@ -0,0 +1,22 @@ +# +## + +[Defines] + INF_VERSION = 0x00010005 + BASE_NAME = ext4 + FILE_GUID = 9d380387-a15a-4053-ae19-ff3495b6d0d5 + MODULE_TYPE = UEFI_DRIVER + VERSION_STRING = 1.0 + + +# +# The following information is for reference only and not required by the build tools. +# +# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# + +VALID_ARCHITECTURES = X64 + +[Binaries.X64] + PE32|X64/ext4.efi|* + diff --git a/FSDrivers/ntfs.inf b/FSDrivers/ntfs.inf new file mode 100644 index 0000000000..e06e15effb --- /dev/null +++ b/FSDrivers/ntfs.inf @@ -0,0 +1,22 @@ +# +## + +[Defines] + INF_VERSION = 0x00010005 + BASE_NAME = ntfs + FILE_GUID = 2282efd0-678b-4753-8d06-200d5940285d + MODULE_TYPE = UEFI_DRIVER + VERSION_STRING = 1.0 + + +# +# The following information is for reference only and not required by the build tools. +# +# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# + +VALID_ARCHITECTURES = X64 + +[Binaries.X64] + PE32|X64/ntfs.efi|* + diff --git a/UefiPayloadPkg/UefiPayloadPkg.fdf b/UefiPayloadPkg/UefiPayloadPkg.fdf index 603825ce8d..f759ee1fb9 100644 --- a/UefiPayloadPkg/UefiPayloadPkg.fdf +++ b/UefiPayloadPkg/UefiPayloadPkg.fdf @@ -170,6 +170,12 @@ INF MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf INF FatPkg/EnhancedFatDxe/Fat.inf +!if $(ARCH) == IA32 +!else +INF RuleOverride=BINARY USE = X64 FSDrivers/ntfs.inf +INF RuleOverride=BINARY USE = X64 FSDrivers/ext4.inf +!endif + # # SD/eMMC Support #