On Thu, Jan 07, 2021 at 11:34:44PM -0800, Vagrant Cascadian wrote: > On 2021-01-07, Elliott Mitchell wrote: > > Might it be possible to get a u-boot-xen-arm64 package built? While > > "PyGRUB" is great for Linux, it isn't so good for booting other OSes. > > Do you mean: > > > https://gitlab.denx.de/u-boot/u-boot/-/blob/master/doc/board/xen/xenguest_arm64.rst > > This doesn't describe how to use it or, importantly, what files we would > need to ship in the package. If you could help clarify that (possibly > provide a patch), and ideally get it clarified in the upstream > documentation, then I would think we would be able to ship such a > package.
Appears the build issue wasn't libfdt-dev, but instead `dwz` and `debhelper`. I suspect libfdt-dev:any or libfdt-dev may now be sufficient for building (I'm not 100% sure since I have a workaround in place). Anyway I now have something which looks like a first pass at having U-Boot/ARM boot a Xen VM. Some progress has been made, but it I haven't confirmed full operation yet. The build was achieved by copying configs/xenguest_arm64_defconfig over qemu_arm64_defconfig and then cross-building for arm64. This suggests extra steps for "qemu" are also appropriate for "xenguest". Once complete, the file ./usr/lib/u-boot/qemu_arm64/u-boot.bin was copied to the host machine. A configuration file was created for xl, the value for "kernel" was pointed at the u-boot.bin file, both "bootloader" and "ramdisk" options were left unset. Upon attempt to boot this VM (`xl create -c u-boot.cfg`) I ended up at a prompt "xenguest# ". The command-line appeared to act how I would expect U-Boot to act, so I conclude U-Boot had successfully loaded. The next task is to get the OS I wish to run in the VM loaded by U-Boot. As of 2020.10+dfsg-2, appears the "xenguest" defconfig disables all EFI/GPT support. I must recommend the U-Boot maintainers advise upstream to set CONFIG_EFI_LOADER=y and CONFIG_CMD_PART=y in the Xen defconfig. While some smaller VMs may not need EFI support, it appears to be gaining traction everywhere with ARM64. I note SuSE uses it as an intermediate stage between U-Boot and GRUB. FreeBSD's ARM64 VM images appear to *assume* EFI is in use. I haven't gotten U-Boot/Xen to successfully load FreeBSD's bootloader yet, but progress is being made. -- (\___(\___(\______ --=> 8-) EHM <=-- ______/)___/)___/) \BS ( | [email protected] PGP 87145445 | ) / \_CS\ | _____ -O #include <stddisclaimer.h> O- _____ | / _/ 8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445

