[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: grub2 + xen + lz4 kernels

From: Daniel Kiper
Subject: Re: grub2 + xen + lz4 kernels
Date: Tue, 30 Nov 2021 18:33:20 +0100
User-agent: NeoMutt/20170113 (1.7.2)

On Tue, Nov 30, 2021 at 07:21:42AM +0100, Juergen Gross via Grub-devel wrote:
> On 30.11.21 00:25, Shaun Reitan wrote:
> > I currently use XEN to boot PV (paravirt) virtual server instances for
> > our customers. Grub2 introduced support for booting a xen kernel
> > directly from a guests disk image which has worked great for years. We
> > use the following command to build our image
> >
> > grub-mkstandalone -O x86_64-xen -o grub2-x86_64.gz boot/grub/grub.cfg
> >
> > What we have been seeing more and more is newer distros like Ubuntu
> > 20.04 using lz4 compressed kernel images which will not boot and
> > displays the error "not xen image."
> >
> > If i use the 
> >
> >  
> > <>
> >  utility
> > to decompress the kernel image I am able to boot it without any issues
> > using our current grub2 xen loader.
> >
> > My question is how can I get lz4 support added into grub2 for xen? We
> > are willing to pay for a dev to add this support if needed as I have
> > limited time to really dig into this.
> >
> > There are a few workarounds out their, most involve a hook that
> > decompresses the kernel after an update but I'm not wanting to add
> > complexity to the kernel update process. It leaves too much room for
> > error and the possibility of a clients server failing to boot after what
> > should of been a simple kernel upgrade.
> >
> > Any help, even if just pointing me in the right direction would be
> > appreciated!
> Hmm, Grub2 already supports some compression methods, so adding LZ4
> shouldn't be that hard. Especially as there already is some LZ4
> support hidden in the ZFS handling.
> I guess this LZ4 support wants to be put into a grub module of its
> own and then be added to the filter list.
> You should have a look at:
> - GRUB_FILE_FILTER_GZIO for an example how a compression filter is
>   added via grub_file_filter_register()
> - the file grub-core/fs/zfs/zfs_lz4.c for current LZ4 support in
>   Grub2
> This should basically do the job.
> I've added Daniel to Cc: as he might have some more thoughts.

Yeah, in general I agree. However, I would look for an LZ4 library which
could be merged with the GRUB code, licensing compatibility is important
here, and is under active development/maintenance. If there is no such
we can reuse ZFS LZ4 code.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]