So I'm running Ubuntu 18.04 on a btrfs root. I recently rebooted because I got a notification about "restart required" after an update. The last few times I restarted this server, I had an issue where the kernel wouldn't load and I ended up in grub, and loaded the last kernel manually. This time (I had definitely run update-grub since last time) I'm in grub rescue and the usual commands don't work, so I looked at a tutorial, but when I get to insmod normal, I get the error "Compression type 0x3 not supported", and then normal yields command not found. I'm writing this post because apparently nobody has ever seen this error* and I can't figure out what it means or how to fix it. My system works fine with kernel 4.15.0-23 but not at all with 4.15.0-24, which somehow got reinstalled after I removed it.

*A web search for the error message in quotes comes up empty

The problem is not related to the kernel image version.
Looks like you have enabled zstd compression on the rootfs recently.
All new files will be compressed using this algorithm, but old ones remain unchanged.
Grub currently doesn't support zstd as btrfs compression algorithm.
Workaround:

# recompress existing images with zlib format
btrfs filesystem defrag -rc /boot

# disable compression for newly created files
chattr -c boot

You can find more information by following the link below
https://forum.manjaro.org/t/bug-grub-cant-boot-zstd-compressed-filesystem/52577

  • Welcome to Ask Ubuntu! :-) Excellent first answer! +1 Keep up the good work! – Fabby Aug 28 at 20:47
  • That's because I'm Gentoo user =) – eugene-bright Aug 30 at 0:00

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.