[arch-general] [Archboot] Custom created Archboot ISO won't boot on qemu OVMF EFI

Alive 4ever alive4ever at live.com
Sat Jul 16 07:44:06 UTC 2016


Greetings Archboot Developers! (@tpowa)

I am experimenting with manual Arch Boot creation. I created both x86_64
and i686 chroot with only base and archboot installed. I configured my
locale by commenting 'en_US-UTF-8' line on /etc/locale.conf and launched
'locale-gen' to generate locale.

Then I launched 'archboot-allinone.sh -t' on both chroot, which tooks a
very long time. I moved the 'core-i686.tar' to x86_64 systemd-nspawn
chroot. After that, I launched 'archboot-allinone.sh -g' which generates
the images.

I have successfully built the iso files, here are files generated from
the build

[code]
# cd /var/local/x86_64_archboot/root                                                                                                  
# ls
Archlinux-allinone-2016.07-dual.iso               Archlinux-allinone-2016.07-x86_64-network.iso
Archlinux-allinone-2016.07-dual-network.iso       Archlinux-allinone-2016.07-x86_64-uefi.iso
Archlinux-allinone-2016.07-dual-uefi-network.iso  Archlinux-allinone-2016.07-x86_64-uefi-network.iso
Archlinux-allinone-2016.07-i686.iso               core-i686.tar
Archlinux-allinone-2016.07-i686-network.iso       core-x86_64.tar
Archlinux-allinone-2016.07-x86_64.iso             sha256sums.txt
[/code]

The non-uefi files boot fine with qemu-system-x86_64 bios mode (default
mode).

When I try to boot one of uefi iso, for example
'Archlinux-allinone-2016.07-x86_64-uefi-network.iso', using
qemu-system-x86_64 with ovmf uefi firmware (-bios
/usr/share/ovmf/ovmf_x86_64.bin), the qemu just refuses to boot.

Launching EFI boot file directly on FS0:\EFI\grub\grubx64.efi comes up
with 'error: unknown filesystem' and throws a rescue shell. 'lsmod'
commands which should output all loaded modules throws 'unknown
command'.

I think grubx64.efi should be packed as standalone EFI image which
contains all modules and grub.cfg loaded directly from memory.

Launching EFI boot file FS0:\EFI\BOOT\BOOTX64.EFI throws 'Unsupported'
error.  Launching kernel directly from EFI shell is also unsupported.
The default Arch Linux kernel as far as I know can be launched from EFI
shell. Maybe this is because Archboot uses a non uefi stub kernel?

Launching FS0:\EFI\BOOT\loader.efi just throw a menu 'EFI Default
Loader' and 'Reboot Into Firmware Interface'. This bootloader is similar
to systemd-boot loader, but it's not able to find the other boot entries
because there is no files on FS0:\loader\entries.

I did not make any modification to the archboot profiles.

Is manual workaround needed to enable EFI booting on Archboot? Is it
just bug on archboot-uefi-cd.sh script? 

Note: The system I used to create archboot image boots from legacy bios
mode.

Thanks.


More information about the arch-general mailing list