It drops to the initramfs shell because it can't find the /usr.
From initramfs:
init:268
if read_fstab_entry /usr; then log_begin_msg "Mounting /usr file system"
mountfs /usr
log_end_msg
fi
scripts/local:260
local_mount_fs()
It fails because it can't find the device. Mapper didn't create any device either - there's no /dev/dm-X for that LV.
/etc/fstab entries use devices by UUID by default. There's no such UUID on the system during this time. It seems scripts can't handle it and drop to the shell.
If I change the entry to:
/dev/vg00/lv_usr /usr ext4 defaults 0 0
system is able to activate the device during the boot. But still it seems other modules (like btrfs) have precedence and it takes few seconds for system to pick up this LV.
It beats me why VG is not activated as a whole (vgchange -a y vg00), maybe there's some reasoning behind it.
I ran to the same issue yesterday with up-to-date (May 24,2019) 18.04.02 LTS. As mentioned above problem is /usr being on a separate LV.
packages: 02.1:amd64 2:1.02. 145-4.1ubuntu3
initramfs-tools-bin 0.130ubuntu3.7
linux-image-generic 4.15.0.50.52
udev 237-3ubuntu10.21
libdevmapper1.
It drops to the initramfs shell because it can't find the /usr.
From initramfs:
init:268
if read_fstab_entry /usr; then
log_begin_ msg "Mounting /usr file system"
mountfs /usr
log_end_msg
fi
scripts/local:260
local_mount_fs()
It fails because it can't find the device. Mapper didn't create any device either - there's no /dev/dm-X for that LV.
/etc/fstab entries use devices by UUID by default. There's no such UUID on the system during this time. It seems scripts can't handle it and drop to the shell.
If I change the entry to:
/dev/vg00/lv_usr /usr ext4 defaults 0 0
system is able to activate the device during the boot. But still it seems other modules (like btrfs) have precedence and it takes few seconds for system to pick up this LV.
It beats me why VG is not activated as a whole (vgchange -a y vg00), maybe there's some reasoning behind it.