1 |
Hello list, |
2 |
|
3 |
I've created a new btrfs volume on SSDs, complete with a lot of subvolumes |
4 |
corresponding to the old lvm2 logical volumes. I took the opportunity of |
5 |
removing a couple of old partitions, so I now have this: |
6 |
|
7 |
/dev/sd[ab]1 form /dev/md1 as /boot, |
8 |
/dev/sd[ab]2 are my rescue system: sda2 is its root, sdb2 is its portage tree, |
9 |
/dev/sd[ab]3 is the btrfs file system. |
10 |
|
11 |
I can boot my rescue system with no problems, but not the main system - I get |
12 |
a kernel panic with "BTRFS: failed to read the system array on sda3". I'm |
13 |
writing this after chroot, su - prh, startx. |
14 |
|
15 |
Both in the main and rescue systems I have this: |
16 |
$ grep -i btrfs /usr/src/linux/.config |
17 |
CONFIG_BTRFS_FS=y |
18 |
CONFIG_BTRFS_FS_POSIX_ACL=y |
19 |
# CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set |
20 |
# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set |
21 |
# CONFIG_BTRFS_DEBUG is not set |
22 |
# CONFIG_BTRFS_ASSERT is not set |
23 |
|
24 |
The relevant grub.cfg entries (I've moved to grub-2) are: |
25 |
|
26 |
menuentry 'Gentoo Linux 4.0.5, no network' { |
27 |
linux /boot/kernel-x86_64-4.0.5-gentoo root=/dev/sda3 softlevel=nonet |
28 |
net.ifnames=0 irqpoll |
29 |
} |
30 |
menuentry 'Rescue System 4.0.5' { |
31 |
linux /boot/kernel-x86_64-4.0.5-gentoo-rescue root=/dev/sda2 |
32 |
net.ifnames=0 irqpoll |
33 |
} |
34 |
|
35 |
Something seemed to be wrong in the kernel setup, so to test that I compiled |
36 |
the main kernel with the .config from the rescue system. Same result. |
37 |
|
38 |
Another test: I wondered whether, somehow, the btrfs volume included the name |
39 |
of the mount point where it had been created, and would only allow itself to |
40 |
be mounted there. Not so: moving its mount point in the rescue system didn't |
41 |
prevent it from being mounted. I didn't expect it would, since the kernel |
42 |
panic occurs long before fstab is read. |
43 |
|
44 |
The other thing I've tried is to build an initramfs with dracut. I tried to |
45 |
include its btrfs module but it refused because it couldn't find a command |
46 |
btrfs. So I recompiled the kernel with btrfs as a module and added |
47 |
'filesystems+="btrfs" ' into dracut.conf. Still no success. |
48 |
|
49 |
After a few days of floundering around, copious googling and getting splinters |
50 |
under my fingernails I'm out of ideas. Can anyone see what else I can try? I |
51 |
created the btrfs with "mkfs.btrfs -m raid1 -d raid1 --label GENTOO /dev/sda3 |
52 |
/dev/sdb3". I've done that twice, with all the subvolume creation and backup |
53 |
recovery, the second time with --force. |
54 |
|
55 |
-- |
56 |
Rgds |
57 |
Peter |