From 2ec03647d8806c26409a33701a639261e3f0bdd3 Mon Sep 17 00:00:00 2001 From: Jeffrey Alan Scudder Date: Sun, 29 Mar 2026 13:24:37 -0700 Subject: [PATCH] =?UTF-8?q?feat:=20splash=20screen=20during=20Mac=20boot?= =?UTF-8?q?=20=E2=80=94=20chains=20to=20systemd-boot?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit splash.efi shows "Aesthetic.Computer" on black screen, then chainloads LOADER.EFI (systemd-boot) which handles the ~20s initramfs load. Falls back to direct KERNEL.EFI for non-Mac boots. Co-Authored-By: Claude Opus 4.6 (1M context) --- fedac/native/bootloader/splash.c | 13 ++++++------- fedac/native/bootloader/splash.efi | Bin 51715 -> 51715 bytes fedac/native/bootloader/splash.so | Bin 277616 -> 277616 bytes 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/fedac/native/bootloader/splash.c b/fedac/native/bootloader/splash.c index a89f00d4d5..20c0f53f57 100644 --- a/fedac/native/bootloader/splash.c +++ b/fedac/native/bootloader/splash.c @@ -9,6 +9,7 @@ #include "font8x8.h" #define KERNEL_PATH L"\\EFI\\BOOT\\KERNEL.EFI" +#define LOADER_PATH L"\\EFI\\BOOT\\LOADER.EFI" // --- GOP helpers --- @@ -148,16 +149,14 @@ EFI_STATUS EFIAPI efi_main(EFI_HANDLE ImageHandle, draw_string(text, x, y, scale, color); } - // Brief pause so splash is visible (500ms) - uefi_call_wrapper(BS->Stall, 1, 500000); - chain: + // Try systemd-boot first (for Mac split-kernel boot), fall back to direct kernel + status = chainload(ImageHandle, LOADER_PATH); + // LOADER.EFI not found — try direct kernel (non-Mac boot) status = chainload(ImageHandle, KERNEL_PATH); - // Chainload failed — show error - Print(L"Failed to load "); - Print(KERNEL_PATH); - Print(L": %r\n", status); + // Both failed — show error + Print(L"Boot failed: %r\n", status); uefi_call_wrapper(BS->Stall, 1, 5000000); return status; } diff --git a/fedac/native/bootloader/splash.efi b/fedac/native/bootloader/splash.efi index 1cba3808df94c01f61c435d3a0c6eafc7a523c30..4155289192c8616157273c733b807a45e97ab290 100755 GIT binary patch delta 7485 zcmZpk!rVNCdBP3Wzg3J3T$3Fc)hD$GOb%d_oovV$&$wXoM8*y#&cj&@4DoR<{>W`s zV&P(8+%Q>}BZX0W@+6K0j9HV7Ij1oFWSD%C^Jn~P#t9z1qCPtr7(BXN1w1;hd2}9s zaq7?i{~n#K4*&oE_vjUkN0nTQB-ss9lMPbSdCa5p`VIyL28I{HE({DFy{vyGyKqO< z^UH&Irjk1u7z_`*Y_exyNSlz>T*t!3-(JVSz`(!Vjm4u^G!0}%GE0*Oge3=A*b?HL&O%-NC@{`W}MMxRZh5^*IFpJV<^YzcO6I zX^_A=go2YG{ydLf(F>Dfd1M%0Pp;yTXS_Ih7LOd`j>$WDG#OV-e$1mG_IWP@gA4yQ z6(*1FP!5mQOQqQ!y{6M9EAmQ+t_3-<^S?m#1w(eqiwEHFe)HxtCX5Jp?BGVxBDn!|TcX@(v)`Dej0GG@_B$q9^O-V9 z?3i4{r^fhe@=QJrGiS(0Ccv3{~0zcgdxB?MWa7u+)9ohU(Q8`2oq?hGLA?#LM=xtCNQ&R( zg5iOe8>~T5>c_^v9qOpw$?NzfRl7kddU+>+D1O%y9=)Q=w=*y_)UkjPN(V@^*L3OR zH~g8BfnaAvzkF{63Mp`GgFW|ga-M*?8UHr0cV4bX$aaTucr+gYImrvEb&?e*jUmK; zO+GE4&t$ND@*e?7#`ei#f+~zRCR+0~Y;WyaZ)^@L1iWw$dh@NYZhk<8NQ!Fb~T18`V( zegb>o?BoU^O~#j#R|&~6ZkT*hNREkh+vJx*a*T5)a|p{zKHbW|@It|Yf#GHF|NsB_ z_(Jxy; z*@m@oBLjm6zv~5$UeiAykZiJL2f*=)O1D2aGFuc_M|NlQY>3*ENMNEl_ZQbM> zVl9#lYe70+yfg-RI9MBOp+~Q&lcSy)H{++x+B3f}JDD1(m zvo~U3c=_?)|Nm)v{PHcJf(w+l8z-ws#xX^$p4=j-!eq2@@+wJZ#`lxoNh&d(nk*+vi_$>ujuN{MpFNo7*9_&lGS5eusKmyiIMka83Th)uZxO?N3W>w<_U62OpL20 zZ&nCn44%xTSjoYd1M)8Gr^(%lo=j>hH(yiiXVlzY$iUzj>e>0#F~qa;PpC()?$SaA zhG0+4cZRn;5B_6*5ylMG)jzpUS&Jj35X2FUoqRyqQC7N;fx+cW z8;IAjSU9Fkwp5o^*^)a?ThxUaIi}_?Fm&@;r%XPtq0bQq=CGtpX46a& z{FDueD+`a#5EX@P-oDAznwE?!CU4aYVhr8Pp>>>*v3K$XZ41Vb$(%Ymg6f$Nd=@har%>WtiJ$avwDr4p3Cp!L0ni(KZg{T;Kbl&_Q;Nj67qGIqe16*o2 zFnDyca%M~p)eT_Zo(|F&J9&++0^@_pXLa3#JkuE%d^&&r5Ab;1Ji()z)iQmus$LwE zX8Pn-JvGLSlh^23GajA%LQkJ@>SPIh1MUO!7#M;(KYR3=&YB#ougU!&m4U&t`5;p_ zZ`0&<{UX!Npit@M<(S97;JAaG0pzL}6$Ou8(OWSL4F3ZnJUVZBbRPBSX0=KM@jX1c zSq)Mr>ls*Rxj}T!o{O$C7ft8c$rB8;85eHeWAL4kapUAIM&696lZ+#Iog)|+f<2nw z7t5~G&$Py1f%0-6|a6~CeEhKTYWv57}F;I_cviObe(J(u!OOD^Q{18CZ=|$Nde-M zzXh2ynLAC^4|ZU@JGmhEh-hCm1H-Wv7HECusd?X{*S2P|XNZ+XW;Lh?ay5MW;{GpC zldD9twc=Cc$n{CDB)gd~JjINV!gvv9inos^2D#yfXzF9J?kA<;x z^NOf=HpbY=9ElqkH%#7{XvJ7K`Aeb^Z=3-GgGcMP5<`z(R&(eVl8hNsC;v$D;*kRD zi}2`X6)>9Ymu$#*cXC7W3ML!F$yzDf8LKBhN;$~5bMlhZc1}Zm22j0Wr8e0lt&ek- z9+)Srw)u3L4HHkO4k)dFia2TI$-o?y95yo+{O6K-01j~mh6AnO;+LVJ5k^mTWK^5%P|Z>Qz!oCJ$ONGe!1&A%{sI`E z1;Tf*htQ0y5V`>>&jgA!1_p)$)(~-KD8B*5hnk-N<3r4^XE1;XKrIk}@u3!cu!0&0 zYN|0XFkFD~xgp{LFg_22AK(n3nRy}f1qTStECHcESVCxKP7qzsz;FO2zy}gwVAx;* zp_zps^aL263&Mwm01MQI51=8!0`*}5R6PsChYWD_P!9&c2M@z5;|_&oBupAOI0ySODcSK>2H+{14k94%!9fKY;QNK=~J-{Buyg0+fFX z$`^q0pF#N>z#gn;VE6(RSO6AaU|{kU;0yXz5tXT1LZ61W>5p`sDKJEKo!h@@xihT4C^LyHrUtO{ef^{N!Sm{hvt!n z3@9I(M;dydd}tnNSOMjO@(2S1L&FIuA6f`Byn^yU^)5*MAC%7lv9`WJ;xB{+&gBdY z4Hi&7G!r*OLHW>9q@e=Jhn6A@6QF!(DblbA%7+#b4f~*ceuy;! z5G=sZ!1fQqfR-u^GElxSM7Ti@$`^t1J)nG1C_e+r7lZOEpnP#CzYod>7jyLt3=K=5 z0+LV#C!l;ODE|kPFAe4E{D&}PAXI|`lrInEM?v`tP<{oJuL$KYfbx|XAW6011XMs7 zs^9~Z4^0yc91IW^G)*vAK>5%#!H@yvL(>Gq3@9I(CKxV2`Oq}M@B_+cXJCLN0|iFL z&5cZ^jGI~nm?k^4aWFqpvR=;_miNmV72sCk6b(euA4z2bkA8!{_goh298d%jgW3pq1xZnyjS%=Ar9paL( z>h1)Ztij~K4sl6XUH1Y_wqbH(hqxrH6p7e}8Zv&9H+G0i!pe{eG})fX4?Dys3v_Y_ z&OnnnF_C(KH`%dMd~!i2hu{q~8H>qH>=K_mp^HOs2AWL9 zVbw$%@_LlCZ);;sC1eqb3J- zi%Y_a3JWyZ1(O@Q#U)|oL*sITI zH#xCaf3iX!$K)Bk8jJ~(5BBOa=1l(Bt3P=|AID^kJ`KjU$$@?PjFToe_USV&n7px1 zpK;CPhkg2tyCw_v>oXph?AWi*cy4lGzdqxw$qW1S8J|tQ*sss{WisOgeI~XalZ__m zF^T+`oHRj?QDgGN3Hpo{lMhbNXY`x=ae_W$)MUkpAo~I*>NA#1Zk(vkSTlL!M197V z$qy&$GftQ+I7y#z#bn1xAbScY=`&uNyl|2}k!&g2-^`L@0}XowK$vS77#IpTCL7F=V+EBP6DHTsQfAyR zdGRb|rURUlPs~zc`oKB)%`7EGfyw-{m6d^8DG#ObOf|smb?db1*hcem+~7=>Yd+o;ga44U_ffC^IeKom{q1j;(=_f#Coz z*ggG>3=9u=L3+T(%?5dG^8Pu>Ob+~$-PX#n?E}g4Pv)4b#AF~a`QKJKwkM1X3>O3@ z2h3Gs447Ozx1TX!GV?rTCWWBM0&AtX0)kyb9795a42&l$Y?5O$Vq##pU^Ka4o)S|+ z%;b5Sq$aPMr^A>q`Sv`Jga6MnWh#i7d}p52q$zZ#Ahxv zWt=ei{6b|W1MkTKv*jiWEh=DSnB2TbnQ_77<%>)i6(-+Zq|EqXa{fH|$qI{Em>M9i za9GU2=rGxHG02SE#qLZGL?>@sti+fw`Q~Df9{wfDOaTx_1}za|nh-siXQ>ppEtby8 zz@QK{`NK>(wnA10h6C=CH!U$?DgddK;wmmF%1O;jWH=BsnP;gIBg16(*f1V0n3z_ z9;i+hSS!c&n3aJcKzwq+JUO;cpvHvwvW`3}<0= z=L9ul7}tPIR$Y_Lbiilwq&1-M+PX%WQDO4UHKvROllj-0GA@|xx)v0ZnQN696DIe9 z$&G8383QKYo+r;Xi;IE5Kpm7CCyT7JV@e2{yl$x+Ymswq!Gg)<>p%fBd!0L@z~sm4 zl$jh7K*@vEl$(KJ!es6B?o1z4Czq@@VGNkOa=kKBLjcGW&Y+Uu)Dqv+T!G0S*PAj5 zOjh3z$;dFdaf2yi!{qH7Oqm=&ewX45D9X$$aV%j_m@K$anTY``I5}V=2cyB{$c>Rq zAEGCpm?g)0n}>nHVDj~ipn&_m5#&|*O{Pp20w;%UQet$NT)7G4rMa6xQFL$p-hSS80gi5FB3oZk#mE55~)(P6Uh z7G*|($%R`?nH01@am#AQ2a221TTGcA#7t(|YQnf-viVkJrU`+Q8)ivyh9%}?ruaGq zEtp)t6_nPuZUtq6n_EFH{JRz8RpV{SOb=owM{HAKYEYS6Fi(mrxTMIrppt>%L*V2E z+mx6-cu!ujNRCaCpMl|n%w)cmkP=FhA7m}}c6X)+l9NNWM=*T|n!Iki64M9q$(Ob( uF)B>{y4_h~KCJl+DPb8H7#{O8Fg(bb9I(TLQDJiH4rRs#n^*3L5(EIqq}BHT delta 7564 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 QMV}LXSm5@P7A(t|0ib^x6#xJL delta 20643 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 A4gdfE -- 2.54.0