You are not logged in.
Hello-
I have archlinux installed on a USB flash drive. I'm using syslinux with a single btrfs filesystem. I've added the usb hook and ran mkinitcpio.
However the boot process kicks me to the recovery shell, because the root filesystem is not found. The flash drive actually becomes available within a second of this, end if I exit the recovery shell, the system boots and works as expected.
I've found suggestions to add usb-storage.delay_use=1, rootwait and rootdelay=X as a kernel option, but those seem to be ignored. Here's my current syslinux.cfg entry:
LABEL arch
MENU LABEL Arch Linux
LINUX ../vmlinuz-linux
APPEND root=UUID=7ca4f186-26f5-4f4d-bb78-234232342 ro usb-storage.delay_use=1 rootdelay=10 rootwait
INITRD ../initramfs-linux.img
I've also tried different combinations and orders of these options, but the boot process never delays or waits for the root device.
My uname -a:
Linux sony 3.2.8-1-ARCH #1 SMP PREEMPT Mon Feb 27 22:13:59 UTC 2012 i686 Intel(R) Core(TM) i5-2410M CPU @ 2.30GHz GenuineIntel GNU/Linux
Hooks in mkinitcpio.conf:
HOOKS="base udev usb sata filesystems usbinput"
Any ideas why rootwait and rootdelay don't work? Anything else I could try to insert a delay for the root device to become active?
Thanks-
-lajos
Last edited by lajos (2012-03-03 05:10:24)
Offline
It's a bug in mkinitcpio -- thanks for pointing it out. If you use /dev/disk/by-uuid/7ca4f186... then mkinitcpio will properly wait up to whatever your rootdelay value is. We don't honor rootwait, and I don't really want to add support for such a silly thing.
edit: mkinitcpio 0.8.4 will have a proper fix for this.
Last edited by falconindy (2012-03-03 02:37:39)
Offline
Thanks so much! Using the /dev/disk/by-uuid path instead of UUID= solved the issue.
Offline