# is RAID uncompatible with root=LABEL ?

## doublehp

I have set up the same kernel two different ways in grub.conf:

- root=/dev/md5 odmraid

- root=LABEL=Gentoo odmraid

The first one worrks fine. The second one ends up with "can not mount root".

In busybox, i see that /dev/md* are missing, /proc/mdstat looks like empty

```
cat /proc/mdstat

Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [multipath] [faulty]
```

and mdadm -E /dev/sda3 returns nothing. Kernel loads personalities, and discovers drives and partitions, but does not automatically assemble arrays. But passing root=/dev/md3 magically solves it ...

Does the problem lay in the kernel that does not auto-assemble, or in busybox/initrd that does not ask to assemble ? All my drives are in kernel. No module.

If I make a pure monolythic kernel, with no initrd at all, I would expect the kernel to auto-assemble; maybe that's just a dream ?

- not a dream => kernel's problem

- a dream => problem in initrd

(and YES I sware the name of label is ok; i never hand copy, always do copy-paste with the mouse from or to fstab; and my fstab works fine )

----------

## eccerr0r

The root=LABEL (I think root=UUID) methods only work with an initrd that understands these labels, as far as I know.

The only other issue is that if you don't have all the modules just right, coupled with ordering of module loading in the initrd, it will fail.

I haven't used genkernel yet, are you using that?

----------

## doublehp

I was using initrd (with all required options and features in genkernel to generate initrd & RAID). What should be required for labels ?

I can publish my config ... if you think you can read it ... or maybe tell me which keywords I should filter to avoid pasting 3k lines ?

I usually use genkernel, but it seems uncompatible with sys-kernel/xen-sources so I will have to stop using it.

----------

## eccerr0r

When it fails do you see in the log that it actually assembled the RAID or did the initrd cause the assembly to fail?

As far as I know it should be irrelevant whether initrd is used, both methods - if you use the same kernel - should autodetect and assemble the RAID.  Just that you can't mount by label without the initrd.  As far as I know, the 'mount' in the initrd needs to be able to support labels (not sure if busybox mount does, I suppose it should)...

I don't use initrd/genkernel...using straight /dev/md1 for my root partition now so I'm stepping on unchartered territory...

----------

## doublehp

loads personalities, detects drives ... the "can't moint root". No other failure.

raw kernel without initrd) works with root=/dev/md3 . Still don't work with root=LABEL=Gentoo

in some cases, root=/dev/md5 does not work. I just think that usig LABELs is some times more secure.

----------

## meyerm

When you use genkernel --disklabel is your friend.

----------

