[Pkg-xen-devel] build-depend on libzstd-dev

Hans van Kranenburg hans at knorrie.org
Thu Sep 1 12:56:41 BST 2022


Hi Andrea,

On 8/31/22 09:15, A Mennucc1 wrote:
> Dear Xen team,
> 
> I am reporting this bug here (since I spotted it in Ubuntu 22.04, and I 
> do not have XEN installed on Debian boxes).
> 
> Summary: currently XEN is compiled without the ZSTD support and cannot 
> start containers where the linux image is compressed using ZSTD (that 
> is, most images nowadays)
> 
> Details are at the bottom of 
> https://bugs.launchpad.net/ubuntu/+source/xen/+bug/1956166

Ah, yes! We have seen this one before, but I indeed did not realize that
to 'activate' the new code, we of course need the build dependency.

> Proposed solution is in the patch below

Yes, exactly. I quickly already added a change so that it will end up in
the next upload. Proper commit message/explanation etc can follow later.

https://salsa.debian.org/xen-team/debian-xen/-/commit/e8d4ecedf03f7f28db83403486caf6e8212c13d2

> Regards and thanks for all the work

Yes, so the thing about what works and what doesn't work is...

When starting dom0, extracting the Linux kernel image has to happen sort
of in-place, in memory. Because... obviously the hypervisor code cannot
be dynamically linked against libzstd. So for that, there's the 'unzstd'
code that's baked into the hypervisor:

See upstream commit d6627cf1b6

For direct loading kernels when starting a domU, the toolstack will
actually use libzstd code (where the libraries are installed on the dom0
filesystem), so that's a different code path, which explains why the
dom0 scenario already worked with Xen 4.16, but the domU scenario still
didn't.

.oO(What we recommend is using grub for Xen PV and PVH domU, and in that
case I think (like, "99% sure, this is probably how it works") Xen just
kicks off the domU with the grub code, and then grub can handle the zstd
kernel image that it loads. So, even if we already have Debian users now
who might run an Ubuntu dom0, this might have masked the issue)

Anyway, thanks!

Hans

> 
> a.
> 
> 
> 
> diff --git a/debian/control b/debian/control
> index 868a6e839d..fe189f9974 100644
> --- a/debian/control
> +++ b/debian/control
> @@ -32,6 +32,7 @@ Build-Depends:
>      zlib1g-dev,
>      pandoc,
>      markdown,
> +   libzstd-dev,
>      ocaml-native-compilers | ocaml-nox,
>      ocaml-findlib,
>   Homepage: https://xenproject.org/
> 
> 
> _______________________________________________
> Pkg-xen-devel mailing list
> Pkg-xen-devel at alioth-lists.debian.net
> https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/pkg-xen-devel




More information about the Pkg-xen-devel mailing list