You are not logged in.
Solved - see second post
I want to have an ext4 /boot, and a lzo-compressed btrfs / made of thin provisioned lvm volumes. This server strangely doesn't support UEFI booting (many people complaining that HP did something weird with the motherboard/BIOS on this model, as UEFI had been around for quite a while.) So, I have to use grub or syslinux, as a BIOS bootloader. It's my understanding neither bootloader supports using a thin provisioned lvm volume in anyway related to /boot.
During boot, I'm having a fsck error saying no such file or directory /dev/md1, then an error saying /usr/lib/systemd/systemd does not exist. systemd is of course on the btrfs volume, not the ext4 /boot partition.
I've tried a bunch of things, more than is listed here. I think the kernel should be given the btrfs / volume as the 'root=' parameter, but I'm not 100% positive about that. But, I've tried giving it everything I can think of, and none of it has worked. The bailed-out shell isn't even seing the btrfs thin provision lvm volume in blkid. I almost feel like I'm missing a mkinitcpio.conf entry to support thin provisioned lvm volumes, but I can't find such an option.
When I was not using a thin provision lvm volume, I just had everything on one partition, and /boot was just a subdirectory. I gave the kernel root=UUID= the UUID of /dev/disk1/terra1 as shown by blkid.
md0 is for the swapfile, created by:
mdadm --create --verbose --level 1 --raid-devices=3 /dev/md0 /dev/disk1/terraswap1 /dev/disk2/terraswap2 /dev/disk3/terraswap3"
md1 is for /boot, created by:
{{{ it's my understanding /boot can't have metadata v1.2 }}}
mdadm --create --verbose --level 1 --metadata=1.0 --raid-devices=3 /dev/md1 /dev/sda1 /dev/sdb1 /dev/sdc1
Kernel parameters - As shown by syslinux, hitting tab
.linux ../vmlinuz-linux root=UUID=e5c2ac05-d14f-48222-952a-ed3a77115191 rw init=/usr/lib/systemd/systemd consoleblank=0 fbcon=scrollback:128k initrd=../initramfs-linux.img
I've also tried:
.linux ../vmlinuz-linux root=/dev/md1 rw md=1,/dev/sda1,/dev/sdb1,/dev/sdc1 init=/usr/lib/systemd/systemd consoleblank=0 fbcon=scrollback:128k initrd=../initramfs-linux.img
{{{ the md for the ext4 /boot partition }}}
.linux ../vmlinuz-linux root=UUID=1787ddae-3181-45f2-11be-5c51d268cbed rw init=/usr/lib/systemd/systemd consoleblank=0 fbcon=scrollback:128k initrd=../initramfs-linux.img
{{{ the UUID shown from the arch-iso of /dev/mapper/disk1-terra1, but btrfs volume }}}
My mkinitcpio.conf includes: (not entire file)
MODULES="radeon ext4"
BINARIES=""
FILES=""
HOOKS="base udev autodetect modconf block mdadm_udev lvm2 filesystems keyboard fsck"
I also tried installing thin-provisioning-tools via pacstrap off the archiso and regenerating mkinitcpio -p linux.
Boot messages - Syslinux menu picks default value, then:
Automatic boot in 1 second...
Loading ../vmlinuz-linux... ok
Loading ../initramfs-linux.img...ok
Probing EDD (edd=off to disable)... ok
early console in decompress_kernel
input_data: 0x0000000001a1a3b4
input_len: 0x0000000000412c06
output: 0x0000000001000000
output_len: 0x0000000000e1b9a8
run_size: 0x00000000000f65000
Decompressing Linux... Parsing ELF... done.
Booting the kernel.
:: running early hook [udev]
starting version 228
:: running early hook [lvm2]
:: running hook [udev]
:: Triggering uevents...
:: performing fsck on '/dev/md1'
fsck: error 2 (No such file or directory) while executing fsck.ext4 for /dev/md1
ERROR: fsck failed on '/dev/md1'
:: mounting '/dev/md1' on real root
:: running cleanup hook [lvm2]
:: running cleanup hook [udev]
ERROR: Root device mounted successfully, but /usr/lib/systemd/systemd does not exist.
Bailing out, you are on your own. Good luck.
sh: can't access tty; job control turned off
Diagnosing
[rootfs /]# blkid
/dev/sda1: UUID="2848..." UUID_SUB="6109..." LABEL="archiso:1" TYPE="linux_raid_member" PARTUUID="81d4..."
/dev/sda2: UUID="p6mm..." TYPE="LVM2_member" PARTUUID="96d7..."
/dev/sda1: UUID="2848..." UUID_SUB="1f49..." LABEL="archiso:1" TYPE="linux_raid_member" PARTUUID="003d..."
/dev/sdc2: UUID=JScJ..." TYPE="LVM2_member" PARTUUID="2059..."
/dev/sdb1: UUID="2848..." UUID_SUB="4fcf..." LABEL="archiso:1" TYPE="linux_raid_member" PARTUUID="538b..."
/dev/sdb2: UUID="rI6z..." TYPE="LVM2_member" PARTUUID="da94..."
/dev/md1: UUID="e5c2..." TYPE="ext4"
/dev/mapper/disk2-terraswap2: UUID="1787..." UUID_SUB="fd1e..." LABEL="archiso:0" TYPE="linux_raid_member"
/dev/md0: UUID="8097..." TYPE="swap"
/dev/mapper/disk1-terraswap1: UUID="1787..." UUID_SUB="36ee..." LABEL="archiso:0" TYPE="linux_raid_member"
/dev/mapper/disk3-terraswap3: UUID="1787..." UUID_SUB="8e96..." LABEL="archiso:0" TYPE="linux_raid_member"
[rootfs /]# mount
rootfs on / type rootfs (rw)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
sys on /sys type sysfs (rw,nosuid,nodev,noexec,realatime)
dev on /dev type devtmpfs (rw,nosuid,relatime,size=16467492k,nr_inodes=4116873,mode=755)
run on /run type tmpfs (rw,nosuid,nodev,relatime,mode=755)
/dev/md1 on /new_root type ext4 (rw,relatime,stripe=4,data=ordered)
[rootfs /]# ls /new_root
initramfs-linux-fallback.img initramfs-linux.img intel-ucode.img lost+found syslinux vmlinuz-linux
[rootfs /]# ls /new_root/syslinux
{{{ shows 63 files, including many .c32 files and syslinux.cfg }}}
[rootfs /]# cat /new_root/syslinux/syslinux.cfg
{{{ comments omitted }}}
DEFAULT arch
PROMPT 0
TIMEOUT 50
UI menu.c32
MENU TITLE Arch Linux
MENU COLOR border... {{{other MENU COLOR's omitted}}}
LABEL terra
MENU LABEL Terra
LINUX ../vmlinuz-linux
APPEND root=UUID=e5c2ac05-d14f-4822-952a-ed3a77115191 rw init=/usr/lib/systemd/systemd consoleblank=0 fbcon=scrollback:128k
INITRD ../initramfs-linux.img
{{{ other LABEL's omitted}}}
[rootfs /]# dmesg | grep -i lvm
{{{nothing}}}
[rootfs /]# dmesg | grep -i terra
{{{nothing}}}
[rootfs /]# dmesg | grep -i md {{{with kernel times and irrelevant matches omitted}}}
md: bind<sdb1>
md: bind<sdc1>
md: bind<sda1>
md: raid1 personality registered for level 1
md/raid1:md1: active with 3 out of 3 mirrors
md1: detected capacity change from 0 to 104792064
md: bind<dm-0>
md: bind<dm-1>
md: bind<dm-2>
md/raid1:md0: active with 3 out of 3 mirrors
md0: detected capacity change from 0 to 17163091968
EXT4-fs (md1): recovery complete
EXT4-fs (md1): mounted filesystem with ordered data mode. Opts: (null)
Last edited by jamespharvey20 (2016-01-02 23:31:31)
Offline
. . .I almost feel like I'm missing a mkinitcpio.conf entry to support thin provisioned lvm volumes, but I can't find such an option. . .
Close. Arch's LVM2 package doesn't include module dm-thin-pool or binary /usr/bin/thin_check in its /usr/lib/initcpio/install/lvm2.
See https://bugs.archlinux.org/task/32884
Can manually edit /usr/lib/initcpio/install/lvm2 and install the additions "dm-thin-pool" in the build() for mod in line, and "add_binary "/usr/bin/thin_check". Then, re-run mkinitcpio.
Offline