some IRC backstory:
<flow> would you consider disabling zstd (CONFIG_KERNEL_ZSTD=n) in gentoo-kernel, as it makes the kernel unbootable via xen 4.13 (haven't tried 4.14)
<@gyakovlev> flow: gentoo-kernel or gentoo-kernel-bin ?
<@gyakovlev> for gentoo-kernel (non-bin) you can toggle even single options on/off without maintaining full config or savedconfig.
<flow> gyakovlev: yep /etc/kernel/config.d/disable-zstd.conf is what I did
<flow> I'd argue for both
<@gyakovlev> I have a feeling that xen is rather niche usecase, and in-kernel zstd is used by initramfs and btrfs afaik ( I may be wrong though ), so that's a hard question.
<@gyakovlev> flow: quick googling tells me that it fails to boot only if kernel compressed by zstd, not option enabled.
<@gyakovlev> so maybe a portage hook that uncompresses bzimage and re-compresses it with gzip will do the trick?
<@gyakovlev> I have similar hook to uncompress kernel on arm64
<@gyakovlev> because systemd-boot does not support compressed images on arm64 EFI at all
<flow> gyakovlev: sorry, i wasn't clear, it's about how the kernel is compressed, yet disabling the option makes it bootable
<flow> not sure how those things interact
<@gyakovlev> xen's elf loader does not support zstd compression, that's how.
<@gyakovlev> but you don't need to disable whole zstd support to not compress kernel with zstd, I think.
<@gyakovlev> it's like cutting of an arm because a finger hurts =)
<@gyakovlev> flow: nvm, I confused 2 options. CONFIG_KERNEL_ZSTD specifies kernel compression format.
<@gyakovlev> I was thinking CRYPTO_ZSTD (which enables algorithm itself )
<@gyakovlev> I'd personally set CONFIG_KERNEL_GZIP, as the most compatible. and compressor available everywhere. I'll open a bug for that.
I think default kernel compression method should be gzip, as it's the most compatible one, can be booted by almost anything, and compressor/decompressor is always available.
so, maybe lets adjust configs to use CONFIG_KERNEL_GZIP=y ?
<@mgorny> gyakovlev: does that work on arm64 too or still need uncompressed?
(In reply to Michał Górny from comment #1)
> <@mgorny> gyakovlev: does that work on arm64 too or still need uncompressed?
arm64 can be booted so many ways...
my specific setup uses systemd-boot on EFI, and it wants uncompressed linux image.
but that's just my machine with my efi implementation.
most other machines use grub or uboot, or rpi loader: all support gzip just fine.
/boot/***/5.10.15/linux: Linux kernel ARM64 boot executable Image, little-endian, 4K pages
don't think it's reasonable to keep image uncompressed for arm64 just because of my setup.
I suppose it makes sense then. I'll make the change for the next bump, if I don't forget ;-).
Changed in 5.4.114/5.10.32/5.11.16.