On Thu, 20 Apr 2023 at 08:07, Gerd Hoffmann <kraxel@xxxxxxxxxx> wrote: > > Hi, > > > > Realistically, the second option is unlikely to ever be used on x86, > > > > > > What would be needed to do so? Teach kexec-tools and grub2 parse and > > > load zboot kernels I guess? > > > > I already implemented this for mach-virt here, so we can load Fedora > > kernels without firmware: > > > > https://gitlab.com/qemu-project/qemu/-/commit/ff11422804cd03494cc98691eecd3909ea09ab6f > > > > On arm64, this is probably more straight-forward, as the bare metal > > image is already intended to be booted directly like that. However, > > the x86 uncompressed image requires surprisingly little from all the > > boot_params/setup_header cruft to actually boot, so perhaps there it > > is easy too. > > For existing boot loaders like grub I'd expect it being easy > to code up, all the setup header code exists already, grub also > has support for uncompressing stuff, so it should really be only > zboot header parsing and some plumbing to get things going (i.e. > have grub boot efi zboot kernels in bios mode). > > Disclaimer: didn't actually check grub source code. > I have :-( > I suspect the bigger problem wrt. grub is that getting patches merged > upstream is extremely slow and every distro carries a huge stack of > patches ... > Yeah, Daniel has been asking me about LoadFile2 initrd loading support for x86, so I think getting things merged is not going to be a problem (although it will still take some time) - I can just implement it and send it out at the same time. But hacking/building/running GRUB is a rather painful experience, so I have been kicking this can down the road.