Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines
Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.
REPEAT: Do NOT report bugs for outdated packages!
https://wiki.archlinux.org/title/Bug_reporting_guidelines
Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.
REPEAT: Do NOT report bugs for outdated packages!
FS#26790 - [mkinitcpio] System unbootable if rootdevice is a mdarray named as a persistent device notation
Attached to Project:
Arch Linux
Opened by M Carreira Silva (mcsilva) - Tuesday, 08 November 2011, 00:07 GMT
Last edited by Dave Reisner (falconindy) - Tuesday, 08 November 2011, 00:45 GMT
Opened by M Carreira Silva (mcsilva) - Tuesday, 08 November 2011, 00:07 GMT
Last edited by Dave Reisner (falconindy) - Tuesday, 08 November 2011, 00:45 GMT
|
DetailsDescription:
After creating a two disk mirror with mdadm, and the root partition being a md raid array using the notation "/dev/disk/by-uuid/xxxx", the system is unbootable. Boot stops in a initramfs shell, after being unable to determine the root device. Instead of a "persistent block device name", if I use a /dev/mdX name notation, the system can boot with no errors. This is the output: ------ :: Starting udevd... done. :: Running Hook [udev] :: Triggering uevents...done. :: Running Hook [mdadm] mdadm: /dev/md0 has been started with 2 drives. mdadm: /dev/md1 has been started with 2 drives. mdadm: /dev/md2 has been started with 2 drives. Waiting 10 seconds for device /dev/disk/by-uuid/71b29fcf-fe48-48bc-8140-ab447c29af06 ... Root device '/dev/disk/by-uuid/71b29fcf-fe48-48bc-8140-ab447c29af06' doesn't exist. Attempting to create it. ERROR: Unable to determine major/minor number of root device '/dev/disk/by-uuid/71b29fcf-fe48-48bc-8140-ab447c29af06'. You are being dropped to a recovery shell Type 'exit' to try and continue booting sh: can't access tty: job control turned off [ramfs/]# ------ Inside the shell, if I do a 'ls -l /dev/disk/by-id' and a 'ls -l /dev/disk/by-uuid', I can't see raid devices like md0, or md1, but only sda1 or sda2... 'cat /proc/mdstat' shows that raid devices are running. If I edit /boot/grub/menu.lst, and change the notation of root device: kernel /vmlinuz-linux root=/dev/disk/by-uuid/71b29fcf-fe48-48bc-8140-ab447c29af06 ro to this line kernel /vmlinuz-linux root=/dev/md1 ro the system boots perfectly. It seems that inside initramfs, udev is not creating the persistent name devices as it should, when mdadm starts the arrays. Additional info: * package version(s): mkinitcpio-0.7.5-1. kernel 3.0, udev-174-1 Steps to reproduce: 1 - Create a mirror system with device names /dev/md0, /dev/md1, /dev/mdX... - Configure grub and run mkinitcpio after including mdadm in mkinitcpio.conf - Reboot the system The system boots perfectly. 2 - Edit /etc/grub/menu.lst and change "root=/dev/md?" to the notation /dev/disk/by-uuid/xxxxx. - Save menu.lst and reboot. The system is unbootable, falling in a ramfs shell, because it does not recognize the device. |
This task depends upon
Closed by Dave Reisner (falconindy)
Tuesday, 08 November 2011, 00:45 GMT
Reason for closing: Not a bug
Additional comments about closing: Working as intended.
Tuesday, 08 November 2011, 00:45 GMT
Reason for closing: Not a bug
Additional comments about closing: Working as intended.
I reread mkinitcpio ArchWiki and didn't notice mdadm_udev existed.