I'm trying to build an Arch Linux system with a btrfs RAID5/6 root. When I install GRUB on one of the volume's disks, it prints a message like this on startup:
error: no such device: [my btrfs volume uuid]
…and then dumps me into a recovery shell. If I type
ls (hdX) (where
X is one of the volume's physical disks, it prints some error text including this:
Unsupported raid flags 82
A few forum threads suggest that GRUB doesn't doesn't support these kinds of btrfs volumes right now. So, my next thought was to create a separate ext4-formatted boot drive. I started from an Arch live CD and did this:
$ mount /dev/sdb /mnt # one of the btrfs RAID5 disks $ arch-chroot /mnt/root /bin/bash $ mkfs.ext4 /dev/sdi # our new boot disk $ mount /dev/sdi /mnt # /mnt inside the chroot $ grub-install --target=i386-pc --root-directory=/mnt /dev/sdi $ grub-mkconfig -o /mnt/boot/grub/grub.cfg $ umount /mnt $ exit # …the chroot $ reboot # …and switch the boot drive in BIOS settings
I successfully landed in GRUB, but got these messages after the menu timeout:
error: no such device: [my btrfs volume uuid] Loading Linux linux ... error: hd6 cannot get C/H/S values. Loading initial ramdisk ... error: you need to load the kernel first. Press any key to continue...
…then I was dumped back into the GRUB menu. I'm trying to find answers to two questions:
- Am I doing something wrong in creating my bootstrap volume?
- Is there another, better way to boot my system from the btrfs RAID?