Re: [gentoo-user] Can't boot btrfs
On Sunday 02 August 2015 09:11:18 Peter Humphrey wrote: On Friday 31 July 2015 13:53:42 Dale wrote: This may not be related but thought I would mention. For some reason, my system will not boot a kernel newer than 3.18.7. I use gentoo-sources and generally use make oldconfig. I have also tried the new 4.0 kernels as well. They try to boot but don't make it past the kernel trying to do its thing. I don't reboot often so I have not had the chance to figure out exactly why this is happening. Recently I had to start using that pesky init thingy but I don't think that is causing the problem. I get a error/panic and then it says it is going to reboot in 10 seconds. By the time I figure out where the failure might be, it reboots itself. That could well be it, Dale. I tried both my currently installed kernels, 3.18.16 and 4.0.5, but of course they're both later than 3.18.7. I'd still like to get this working, so I'll install an earlier kernel and try that - when I've had a bit of a rest! Nope. That wasn't it. Two more days of wrestling later I still haven't got it to boot. I have to conclude that this BIOS is simply incapable of it, or I've missed a kernel setting despite hours of poring over the config. -- Rgds Peter
Re: [gentoo-user] Can't boot btrfs
On Friday 31 July 2015 13:53:42 Dale wrote: Peter Humphrey wrote: Hello list, I've created a new btrfs volume on SSDs, complete with a lot of subvolumes corresponding to the old lvm2 logical volumes. I took the opportunity of removing a couple of old partitions, so I now have this: /dev/sd[ab]1 form /dev/md1 as /boot, /dev/sd[ab]2 are my rescue system: sda2 is its root, sdb2 is its portage tree, /dev/sd[ab]3 is the btrfs file system. I can boot my rescue system with no problems, but not the main system - I get a kernel panic with BTRFS: failed to read the system array on sda3. I'm writing this after chroot, su - prh, startx. Both in the main and rescue systems I have this: $ grep -i btrfs /usr/src/linux/.config CONFIG_BTRFS_FS=y CONFIG_BTRFS_FS_POSIX_ACL=y # CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set # CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set # CONFIG_BTRFS_DEBUG is not set # CONFIG_BTRFS_ASSERT is not set The relevant grub.cfg entries (I've moved to grub-2) are: menuentry 'Gentoo Linux 4.0.5, no network' { linux /boot/kernel-x86_64-4.0.5-gentoo root=/dev/sda3 softlevel=nonet net.ifnames=0 irqpoll } menuentry 'Rescue System 4.0.5' { linux /boot/kernel-x86_64-4.0.5-gentoo-rescue root=/dev/sda2 net.ifnames=0 irqpoll } Something seemed to be wrong in the kernel setup, so to test that I compiled the main kernel with the .config from the rescue system. Same result. Another test: I wondered whether, somehow, the btrfs volume included the name of the mount point where it had been created, and would only allow itself to be mounted there. Not so: moving its mount point in the rescue system didn't prevent it from being mounted. I didn't expect it would, since the kernel panic occurs long before fstab is read. ---8 This may not be related but thought I would mention. For some reason, my system will not boot a kernel newer than 3.18.7. I use gentoo-sources and generally use make oldconfig. I have also tried the new 4.0 kernels as well. They try to boot but don't make it past the kernel trying to do its thing. I don't reboot often so I have not had the chance to figure out exactly why this is happening. Recently I had to start using that pesky init thingy but I don't think that is causing the problem. I get a error/panic and then it says it is going to reboot in 10 seconds. By the time I figure out where the failure might be, it reboots itself. That could well be it, Dale. I tried both my currently installed kernels, 3.18.16 and 4.0.5, but of course they're both later than 3.18.7. I'd still like to get this working, so I'll install an earlier kernel and try that - when I've had a bit of a rest! Thanks for the clue. -- Rgds Peter
Re: [gentoo-user] Can't boot btrfs
Neil Bothwick wrote: On Fri, 31 Jul 2015 13:53:42 -0500, Dale wrote: This may not be related but thought I would mention. For some reason, my system will not boot a kernel newer than 3.18.7. I use gentoo-sources and generally use make oldconfig. I have also tried the new 4.0 kernels as well. They try to boot but don't make it past the kernel trying to do its thing. I don't reboot often so I have not had the chance to figure out exactly why this is happening. Recently I had to start using that pesky init thingy but I don't think that is causing the problem. I get a error/panic and then it says it is going to reboot in 10 seconds. By the time I figure out where the failure might be, it reboots itself. The reboot after a panic is a kernel option. You can turn it off or lengthen the delay to give yourself time to read the message. The option is CONFIG_PANIC_TIMEOUT. I thought it was a option but couldn't recall what it was called. The biggest thing is I don't reboot very often which makes it harder to diagnose a kernel problem. My biggest reason for a reboot/shutdown, power failure and batteries are getting a bit low. Thanks for the info. I'll go do something about that so that I have it when I reboot several months from now and have forgot all about this problem. lol Dale :-) :-)
Re: [gentoo-user] Can't boot btrfs
On Friday 31 July 2015 06:44:54 Rich Freeman wrote: As Neil already pointed out, if you're not using an initramfs you need to put all your devices on this line if they're part of an array. The kernel will not scan to find the others. I didn't mention it the first time but I'd already tried device=/dev/sda3,device=/dev/sdb3 on the command line and it didn't help. I'd also tried the initramfs but that didn't help either. I'll try them again. If you do use an initramfs you really should use a UUID or label instead of a device name, but a device name will work as long as it happens to not get reordered on you. I have only two SATA drives, both SSD, so even if they do get reordered they should still result in the same, no? The other thing I've tried is to build an initramfs with dracut. I tried to include its btrfs module but it refused because it couldn't find a command btrfs. So I recompiled the kernel with btrfs as a module and added 'filesystems+=btrfs ' into dracut.conf. Still no success. Do you have btrfs-utils installed? I have btrfs-progs, which I assume is what you mean. Dracut should work fine with btrfs built into the kernel natively or as a module, though if you want to boot directly it will have to be native Yes, of course, I understand that. I tried it both ways round, as I said. I believe that as long as dracut can find the btrfs utility it will put it in the initramfs. I'll check that again with lsinitrd. Otherwise there isn't much more to this - I think these two issues are the only real problems you're having, depending on which route you decide to take with the initramfs (which I still recommend, but you could of course have separate grub lines to boot with and without it if you want to experiment). Indeed. Thank you both. -- Rgds Peter
Re: [gentoo-user] Can't boot btrfs
On Friday 31 July 2015 13:33:18 I wrote: On Friday 31 July 2015 06:44:54 Rich Freeman wrote: As Neil already pointed out, if you're not using an initramfs you need to put all your devices on this line if they're part of an array. The kernel will not scan to find the others. I didn't mention it the first time but I'd already tried device=/dev/sda3,device=/dev/sdb3 on the command line and it didn't help. I'd also tried the initramfs but that didn't help either. I'll try them again. This time I tried device=/dev/sda3,/dev/sdb3 in case that was the proper syntax, but it made no discernible difference - the final message from the kernel panic was the same VFS: Unable to mount roofs on unknown-block(8,3). ---8 I believe that as long as dracut can find the btrfs utility it will put it in the initramfs. Indeed it did so for me (this was today when I ran dracut --kver 4.0.5-gentoo again: # lsinitrd -k 4.0.5-gentoo | grep btr btrfs -rwxr-xr-x 1 root root 142 Jun 15 11:27 lib64/dracut/hooks/initqueue/timeout/10-btrfs_timeout.sh -rw-r--r-- 1 root root 418 Apr 26 14:07 lib64/udev/rules.d/64-btrfs.rules -rwxr-xr-x 1 root root 427048 Jul 31 13:39 sbin/btrfs -rwxr-xr-x 1 root root 427048 Jul 31 13:39 sbin/btrfsck -rwxr-xr-x 1 root root 187384 Jul 31 13:39 sbin/btrfs-zero-log -rwxr-xr-x 1 root root 1196 Jul 30 08:50 sbin/fsck.btrfs Otherwise there isn't much more to this I've been thinking that for a few days now :) I think these two issues are the only real problems you're having, depending on which route you decide to take with the initramfs (which I still recommend, but you could of course have separate grub lines to boot with and without it if you want to experiment). Yes, I'm playing with two grub entries, of which one tries devices= and the other includes this line (is the syntax right? The file does exist): initrd /boot/initramfs-4.0.5-gentoo.img In the case of the initramfs the 8,3 in the kernel panic message becomes 8,19. Is that a useful clue? Another wobbler: as far as I can remember I haven't done anything about compression, but could it have crept in somewhere? And another: my dicky memory says that after booting SysRescCD to lay out the new partitions and restore my rescue system, I booted the latter to do the rest of the work, including mkfs.btrfs. Perhaps I should start again right from the beginning but using SysRescCD's mkfs.btrfs. That'll be another day's work. -- Rgds Peter
Re: [gentoo-user] Can't boot btrfs
Peter Humphrey wrote: Hello list, I've created a new btrfs volume on SSDs, complete with a lot of subvolumes corresponding to the old lvm2 logical volumes. I took the opportunity of removing a couple of old partitions, so I now have this: /dev/sd[ab]1 form /dev/md1 as /boot, /dev/sd[ab]2 are my rescue system: sda2 is its root, sdb2 is its portage tree, /dev/sd[ab]3 is the btrfs file system. I can boot my rescue system with no problems, but not the main system - I get a kernel panic with BTRFS: failed to read the system array on sda3. I'm writing this after chroot, su - prh, startx. Both in the main and rescue systems I have this: $ grep -i btrfs /usr/src/linux/.config CONFIG_BTRFS_FS=y CONFIG_BTRFS_FS_POSIX_ACL=y # CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set # CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set # CONFIG_BTRFS_DEBUG is not set # CONFIG_BTRFS_ASSERT is not set The relevant grub.cfg entries (I've moved to grub-2) are: menuentry 'Gentoo Linux 4.0.5, no network' { linux /boot/kernel-x86_64-4.0.5-gentoo root=/dev/sda3 softlevel=nonet net.ifnames=0 irqpoll } menuentry 'Rescue System 4.0.5' { linux /boot/kernel-x86_64-4.0.5-gentoo-rescue root=/dev/sda2 net.ifnames=0 irqpoll } Something seemed to be wrong in the kernel setup, so to test that I compiled the main kernel with the .config from the rescue system. Same result. Another test: I wondered whether, somehow, the btrfs volume included the name of the mount point where it had been created, and would only allow itself to be mounted there. Not so: moving its mount point in the rescue system didn't prevent it from being mounted. I didn't expect it would, since the kernel panic occurs long before fstab is read. The other thing I've tried is to build an initramfs with dracut. I tried to include its btrfs module but it refused because it couldn't find a command btrfs. So I recompiled the kernel with btrfs as a module and added 'filesystems+=btrfs ' into dracut.conf. Still no success. After a few days of floundering around, copious googling and getting splinters under my fingernails I'm out of ideas. Can anyone see what else I can try? I created the btrfs with mkfs.btrfs -m raid1 -d raid1 --label GENTOO /dev/sda3 /dev/sdb3. I've done that twice, with all the subvolume creation and backup recovery, the second time with --force. This may not be related but thought I would mention. For some reason, my system will not boot a kernel newer than 3.18.7. I use gentoo-sources and generally use make oldconfig. I have also tried the new 4.0 kernels as well. They try to boot but don't make it past the kernel trying to do its thing. I don't reboot often so I have not had the chance to figure out exactly why this is happening. Recently I had to start using that pesky init thingy but I don't think that is causing the problem. I get a error/panic and then it says it is going to reboot in 10 seconds. By the time I figure out where the failure might be, it reboots itself. I thought I would mention just in the rare event you are running into the same issue I am. Just a thought. If you know this isn't the problem, just ignore and carry on. Dale :-) :-)
Re: [gentoo-user] Can't boot btrfs
On Fri, 31 Jul 2015 13:53:42 -0500, Dale wrote: This may not be related but thought I would mention. For some reason, my system will not boot a kernel newer than 3.18.7. I use gentoo-sources and generally use make oldconfig. I have also tried the new 4.0 kernels as well. They try to boot but don't make it past the kernel trying to do its thing. I don't reboot often so I have not had the chance to figure out exactly why this is happening. Recently I had to start using that pesky init thingy but I don't think that is causing the problem. I get a error/panic and then it says it is going to reboot in 10 seconds. By the time I figure out where the failure might be, it reboots itself. The reboot after a panic is a kernel option. You can turn it off or lengthen the delay to give yourself time to read the message. The option is CONFIG_PANIC_TIMEOUT. -- Neil Bothwick There are no stupid questions, just too many inquisitive idiots. pgpWKI5jnuFB0.pgp Description: OpenPGP digital signature
Re: [gentoo-user] Can't boot btrfs
On Fri, 31 Jul 2015 10:35:46 +0100, Peter Humphrey wrote: $ grep -i btrfs /usr/src/linux/.config CONFIG_BTRFS_FS=y CONFIG_BTRFS_FS_POSIX_ACL=y # CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set # CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set # CONFIG_BTRFS_DEBUG is not set # CONFIG_BTRFS_ASSERT is not set The relevant grub.cfg entries (I've moved to grub-2) are: menuentry 'Gentoo Linux 4.0.5, no network' { linux /boot/kernel-x86_64-4.0.5-gentoo root=/dev/sda3 softlevel=nonet net.ifnames=0 irqpoll } menuentry 'Rescue System 4.0.5' { linux /boot/kernel-x86_64-4.0.5-gentoo-rescue root=/dev/sda2 net.ifnames=0 irqpoll } Btrfs needs to scan the build the array, which is normally done from an initramfs. As you are not using one, you need to specify both devices using the device= syntax posted in the Hubris thread. -- Neil Bothwick Unsupported service (adj): Broken (see Demon) pgpa_g_6Dl4nJ.pgp Description: OpenPGP digital signature
Re: [gentoo-user] Can't boot btrfs
On Fri, Jul 31, 2015 at 5:35 AM, Peter Humphrey pe...@prh.myzen.co.uk wrote: menuentry 'Gentoo Linux 4.0.5, no network' { linux /boot/kernel-x86_64-4.0.5-gentoo root=/dev/sda3 softlevel=nonet net.ifnames=0 irqpoll } As Neil already pointed out, if you're not using an initramfs you need to put all your devices on this line if they're part of an array. The kernel will not scan to find the others. If you do use an initramfs you really should use a UUID or label instead of a device name, but a device name will work as long as it happens to not get reordered on you. The other thing I've tried is to build an initramfs with dracut. I tried to include its btrfs module but it refused because it couldn't find a command btrfs. So I recompiled the kernel with btrfs as a module and added 'filesystems+=btrfs ' into dracut.conf. Still no success. Do you have btrfs-utils installed? Dracut should work fine with btrfs built into the kernel natively or as a module, though if you want to boot directly it will have to be native (which is one of the reasons most distros always use an initramfs - they want a modular kernel but can't predict what your root is running on). I believe that as long as dracut can find the btrfs utility it will put it in the initramfs. Otherwise there isn't much more to this - I think these two issues are the only real problems you're having, depending on which route you decide to take with the initramfs (which I still recommend, but you could of course have separate grub lines to boot with and without it if you want to experiment). -- Rich