Bug#686130: hack for installing with btrfs raid1
Package: installation-reports
Image version: beta1 DVD amd64
http://cdimage.debian.org/cdimage/wheezy_di_beta1/amd64/iso-dvd/debian-wheezy-DI-b1-amd64-DVD-1.iso
Date: 28 August 2012
Although D-I doesn't have menu-based support for btrfs RAID, I was keen
to find out if there were any other traps later on in the process.
Therefore, I describe the hack I've used to run D-I and install onto
btrfs RAID1
The install is done in expert mode, text interface, using VirtualBox
with two virtual SATA disks of 10GB each.
I successfully proceed through all steps up to partitioning
In the partitioning system, I create raw partitions for LVM on each of
my two disks
sda:
/dev/sda1 type 83 (ext4 for /boot)
/dev/sda2 swap
/dev/sda3 type 8e
sdb:
/dev/sdb3 type 83
I then do the LVM setup, creating a VG called vg00 with both disks
Next, I leave partman running and press Alt-F2 for a shell
In the shell, I manually create two LVs:
lvcreate -n lv0 -L 10GB vg00 /dev/sda3
lvcreate -n lv1 -L 10GB vg00 /dev/sdb3
and I join them into a btrfs RAID1:
mkfs.btrfs -d raid1 -m raid1 /dev/vg00/lv0 /dev/vg00/lv1
Going back to the D-I menu, I try to `Detect Disks' and back into
partman, it just doesn't recognise the RAID1,
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=686117
so a further workaround is needed:
I simply ask partman to format /dev/vg00/lv0 alone as btrfs (no RAID)
for mount = / (root filesystem)
Then I am back in the main menu. Before running the step "Install the
base system", I go back to the shell, (alt-f2)
umount /target/boot
umount /target
mkfs.btrfs -d raid1 -m raid1 /dev/vg00/lv0 /dev/vg00/lv1
mount /dev/vg00/lv0 /target
mkdir /target/boot
mount /dev/sda1 /target/boot
Now I go back to the D-I menu and proceed normally from `Install the
base system'
Note that /etc/fstab is not created correctly. It is necessary to
manually edit /target/etc/fstab
When it reboots into grub, there is trouble (this may require a fix in
update-initramfs tool or in the initramfs scripts provided by btrfs-tools)
Loading, please wait...
Scanning for Btrfs filesystems
mount: mounting /dev/mapper/vg00-lv0 on /root failed: Invalid argument
and we are dumped in the BusyBox shell. The first discovery is that
/dev/vg00/lv1 is not active:
(initramfs) lvm
lvm> lvscan
ACTIVE /dev/vg00/lv0
inactive /dev/vg00/lv1
lvm> lvchange -ay vg00
ACTIVE /dev/vg00/lv0
ACTIVE /dev/vg00/lv1
lvm> exit
(initramfs) btrfs dev scan
Scanning for btrfs filesystems
(initramfs) mount -o ro /dev/vg00/lv0 /root
(initramfs) ls /root
At this point, /root looks normal
However, trying to continue the init (e.g. typing `exit' or trying to
invoke switch_root /root /sbin/init) fails, e.g.
Usage: switch_root [-c /dev/console] NEW_ROOT NEW_INIT [ARGS]
Only the help text appears, no details about why switch_root is unhappy
Reply to: