Monorepo for Aesthetic.Computer aesthetic.computer
4
fork

Configure Feed

Select the types of activity you want to include in your feed.

fix: ISO uses kernel-direct — BOOTX64.EFI is the kernel, no splash

ISOs built by docker-build.sh and downloaded via os.mjs web were using
the chainloader layout (splash.efi as BOOTX64.EFI + KERNEL.EFI). This
fails on machines like Yoga 11e where splash.efi can't load. Now the
ISO puts the kernel directly as BOOTX64.EFI, matching the USB flash
layout. Balena Etcher flashed images will boot on all UEFI machines.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

+3 -3
+3 -3
fedac/native/scripts/media-layout.sh
··· 113 113 rm -rf "${stage_root}" 114 114 mkdir -p "${stage_root}/EFI/BOOT" 115 115 116 - cp "${bootloader_path}" "${stage_root}/EFI/BOOT/BOOTX64.EFI" 117 - cp "${kernel_path}" "${stage_root}/EFI/BOOT/KERNEL.EFI" 116 + # Kernel as BOOTX64.EFI — standard UEFI fallback path, works on all firmware. 117 + # No splash chainloader needed; the kernel's EFI stub boots directly. 118 + cp "${kernel_path}" "${stage_root}/EFI/BOOT/BOOTX64.EFI" 118 119 # 32-bit UEFI fallback: kernel's EFI stub with EFI_MIXED=y can boot 119 120 # directly from 32-bit firmware (handles 32→64 mode switch internally). 120 121 cp "${kernel_path}" "${stage_root}/EFI/BOOT/BOOTIA32.EFI" ··· 160 161 mcopy -o -i "${image_path}" "${stage_root}/config.json" ::config.json 161 162 fi 162 163 mcopy -o -i "${image_path}" "${stage_root}/EFI/BOOT/BOOTX64.EFI" ::EFI/BOOT/BOOTX64.EFI 163 - mcopy -o -i "${image_path}" "${stage_root}/EFI/BOOT/KERNEL.EFI" ::EFI/BOOT/KERNEL.EFI 164 164 # 32-bit UEFI fallback (kernel with EFI_MIXED=y) 165 165 if [ -f "${stage_root}/EFI/BOOT/BOOTIA32.EFI" ]; then 166 166 mcopy -o -i "${image_path}" "${stage_root}/EFI/BOOT/BOOTIA32.EFI" ::EFI/BOOT/BOOTIA32.EFI