On IRC we found out that this is related to mdadm not being able to deal when the device node referred to by mdadm.conf is a symlink:
/dev/md1 is not a block device this seems to be a special case for devfs only. In the case of the bug submitter, /dev/md1 is root, /dev/md2 is swap, /dev/md3 is /home. /dev/md1 does not exist, /dev/md2 and /dev/md3 are symlinks to /dev/md/X respectively. This seems to suggest that these symlinks are created after the initrd assembled the /dev/md/1 array (root-on-RAID). The symlinks can be removed, but no hardlinks may be put in place ("Operation not permitted", exit code 1). However, mknod node creation in /dev seems to work. Thus, we could just remove the symlinks and let mdadm create them automatically. The following in mdadm-raid should thus work okay: if [ -e /dev/.devfsd ]; then find /dev -type l -name md\* -maxdepth 1 \ | while read link; do [ -b /dev/md/${link##/dev/md} ] && rm $link done fi I am not sure whether the check for -b is necessary, but I feel uneasy just killing all /dev/mdXX symlinks. Moshe has tested this and confirmed it to work. Now I need to figure out whether this is only devfs, or could happen in other cases too (see debian-devel). -- .''`. martin f. krafft <[EMAIL PROTECTED]> : :' : proud Debian developer, admin, user, and author `. `'` `- Debian - when you have better things to do than fixing a system Invalid/expired PGP subkeys? Use subkeys.pgp.net as keyserver! "i wish i hadn't slept all day, it's really lowered my productivity" -- robert mcqueen
signature.asc
Description: Digital signature