tools/linux.py: Fix u-boot boot and add support for booting EFI stubs via u-boot#537
Conversation
U-boot switched to standard boot for Apple silicon systems. Adjust the env to boot the payload directly. Signed-off-by: Janne Grunau <j@jannau.net>
The Fedora-Asahi-Remix kernel is built as EFI stub. This means it needs to be booted by u-boot. The EFI stub self-decompresses so force compression to none. Signed-off-by: Janne Grunau <j@jannau.net>
Drop 'preboot' env variable and set bootdelay to 0. When booting via u-boot there is no need to start USB via the preboot command. Probing all USB ports takes u-boot quite a while. It is not needed when booting kernel and initramfs from memory. Signed-off-by: Janne Grunau <j@jannau.net>
|
cc: @alxdrl |
|
Thank you @jannau Just tested here: loads fine but I'm dropped a the U-Boot prompt and I get Must be doing something really dumb, what am I missing ? https://gist.github.com/alxdrl/64a71add072a658471281ee8233d0074 (Edit: also tried chainloading a newer m1n1 beforehand) |
Your u-boot image is old. I'd would have expected can you try with the u-boot image from https://download.copr.fedorainfracloud.org/results/@asahi/u-boot/fedora-42-aarch64/09946170-uboot-tools/uboot-images-armv8-2025.10-100.fc42.noarch.rpm |
|
Yeah that's a lot better now (used the wrong RPM URL yesterday) Edit: @jannau about 261 bytes remaining for bootenv, really a tight fit especially for additionnal bootargs... I'll need to roll my own u-boot build I suppose... or do you see other options (like in-memory boot.scr) ? |
|
I've prepared AsahiLinux/u-boot@4411224 as quick workaround. Fighting currently with fedora infrastructure but hopefully in the next few days there will be a build. In the meantime you can build https://github.com/AsahiLinux/u-boot/releases/tag/asahi-v2025.10-2 yourself |
awesome Edit: https://copr.fedorainfracloud.org/coprs/alxdrl/asahi-custom/build/10064679/ |
Switching from u-boot's distro boot scripts to standard boot broke
./tools/linux.py --u-boot ...sincedistro_bootcmdis no longer used. Adjust to the new boot method. Since there was a feature request for booting EFI stub kernel binaries as used by distributions support this via u-boot.This will not work out of the box because there isn't enough reusable space in the default u-boot environment. This will require trivial fix inside u-boot.