I’m unable to rescue system due to old kernel (4.4) on Leap-NET image. Btrfs introduced zstd compression in kernel 4.14 so root filesystems using this compression method refuse to mount. What to do? How to live? Apart from “Next time don’t install Tumbleweed with btrfs on production server”?
I have registered 4h downtime already xD
I compressed /boot as zstd. fml.
Grub doesn’t launch menu at all. It just shows console as if there was no config at all.
I tried getting iso and entering “Boot Linux system” but it said “No bootable linux detected”. Then I entered “Rescue system” and it booted rescue system but it can’t mount disk because shows “bad fs blah blah”. I checked kernel and it said 4.4. Then I booted Arch LiveCD with kernel 4.8 and tried to mount /dev/vda1 but Arch said also “bad fs blah blah, unsupported features set” So at this point it was kind of clear to me that it’s zstd that causes problem. Yeah I enabled it like 3 weeks ago or so but as it’s server I didn’t reboot since then.
After downloading latest Arch LiveCD I managed to properly mount /dev/vda, chroot into SUSE filesystem, run YaST from here and reinstall bootloader as I thought it’s just regular messup with UUIDs or something.
After reboot GRUB reeeeaaally slowly crawled through bootloader load showing numerous “compression 0x03 unsupported” messages but finally managed to show non-graphical GRUB console. It lead me to conclusion that GRUB may not support zstd what seems to be correct according to info I later found around the internet. However I got a bit side tracked.
The point is - OpenSUSE Leap NET iso has too old kernel to properly mount btrfs root filesystem if you use zstd compression. And it shouldn’t be like that in case of “recovery” system.
No because “Boot Linux Image” returns error “No bootable medium found” and GRUB from disk doesn’t start at all. I needed rescue because I thought it’s just damaged bootloader so I wanted to reinstall it. Basically from Tumbleweed image with kernel 4.4 (and that’s kernel included at least in recent netboot) there’s no way to mount disk that is using zstd compression (supported by kernel 4.15 in current Tumbleweed) and GRUB doesn’t support it anyways so there’s no even theoretical possibility of doing ANYTHING to system with root partition compressed using zstd if kernel included in rescue medium is < 4.14. The only way to do something with such system is to download some LiveCD that is using kernel >=4.14. Arch in my example was the choice.
openSUSE Leap does not even include kernel capable of zstd compression.
And it shouldn’t be like that in case of “recovery” system.
How can distribution be responsible for results of installing packages not provided by this distribution and enabling features that are not even offered by this distribution?
How do you imagine booting from previous snapshot in situation when grub does not even show you boot menu?