You are not logged in.

#1 2012-12-19 01:37:30

brenix
Member
From: California
Registered: 2008-03-05
Posts: 185

[SOLVED] Btrfs boot fail (compression issue) after linux 3.7 upgrade

After upgrading to the latest linux 3.7 kernel, I am receiving the following error when attempting to boot via syslinux:

btrfs: found compressed data, cannot continue!

invalid or corrupt kernel image.

Luckily I am able to boot to an older kernel, but I cannot find anyone with a similar issue. My root subvolume in btrfs uses the compress=lzo option, but boot shouldn't. Somehow, even if i re-mount or change the fstab to say compress=no, it doesn't help.

$ mount

/dev/sdb2 on / type btrfs (rw,noatime,compress=lzo,ssd,discard,space_cache)
/dev/sdb2 on /var/lib/btrfs-root type btrfs (rw,noatime,compress=lzo,ssd,discard,space_cache)
/dev/sdb2 on /boot type btrfs (rw,noatime,compress=lzo,ssd,discard,space_cache)  # THIS IS A BIND IN FSTAB TO /var/lib/btrfs-root/boot

$ cat /etc/fstab

/dev/disk/by-label/btrfs-root	/			  btrfs	defaults,noatime,compress=lzo,ssd,discard,subvol=__active	0 0
/dev/disk/by-label/btrfs-root	/var/lib/btrfs-root	  btrfs	defaults,noatime,ssd,discard,subvolid=0	0 0
/var/lib/btrfs-root/boot	/boot                           none	bind 0 0

I've attempted to run mkinitcpio -p linux several times and it doesn't seem to help. Is this an issue with btrfs or could it be syslinux/mkinitcpio? Its odd though since all kernels prior to linux 3.7 worked fine and I haven't changed anything in relation to any of this..

Last edited by brenix (2012-12-19 02:23:45)

Offline

#2 2012-12-19 02:13:56

falconindy
Developer
From: New York, USA
Registered: 2009-10-22
Posts: 4,111
Website

Re: [SOLVED] Btrfs boot fail (compression issue) after linux 3.7 upgrade

Whether you wanted it or not, your /boot is compressed. A bind mount is no different than any other usual mount -- the kernel makes absolutely no distinction. Add rootflags=compress=lzo to your kernel command line.

Offline

#3 2012-12-19 02:22:59

brenix
Member
From: California
Registered: 2008-03-05
Posts: 185

Re: [SOLVED] Btrfs boot fail (compression issue) after linux 3.7 upgrade

Will add that, thanks!

I was able to come up with a workaround solution for now. It seems that re-mounting the filesystem with the -o remount option doesn't work with btrfs, so I ended up doing the following to get my machine booting again.

1. Boot into older kernel that works
2. Change compress=lzo in /etc/fstab line to compress=no
3. Reboot into old kernel again
4. Verify the output of mount
5. Run mkinitcpio -p linux, then reboot again into the new/original kernel. Works..

Offline

#4 2013-05-17 14:40:10

jrussell
Member
From: Cape Town, South Africa
Registered: 2012-08-16
Posts: 510

Re: [SOLVED] Btrfs boot fail (compression issue) after linux 3.7 upgrade

brenix wrote:

Will add that, thanks!

I was able to come up with a workaround solution for now. It seems that re-mounting the filesystem with the -o remount option doesn't work with btrfs, so I ended up doing the following to get my machine booting again.

1. Boot into older kernel that works
2. Change compress=lzo in /etc/fstab line to compress=no
3. Reboot into old kernel again
4. Verify the output of mount
5. Run mkinitcpio -p linux, then reboot again into the new/original kernel. Works..

This just saved me, thanks. Any idea why it happens? and how to have compression with syslinux? I have a single btrfs partition for everything at the moment, not much on google about this.

*Edit
I can add another workaround/alternative:

I tried using grub instead, but at first I had an error from grub saying core.img was too large when running

grub-install --recheck /dev/sda

so I then had to create some empty space before my btrfs partition on the disk, apparently all you need is 2megs.
reran:

grub-install --recheck /dev/sda

Grub now works with compress=lzo in fstab

Last edited by jrussell (2013-05-17 16:38:19)


bitcoin: 1G62YGRFkMDwhGr5T5YGovfsxLx44eZo7U

Offline

Board footer

Powered by FluxBB