Currently, if blkid returns multiple devices for root based on LABEL (LABEL=abc is a valid input for real_root), genkernel code gets confused and concludes there is no root available. Some RAID0 volumes do return both the participants in RAID0 as the root device. The attached patch makes sure that the genkernel does break in this scenario.
Created attachment 218479 [details, diff] Support multiple root device returned from blkid
What's up folks? 6months and no action. "Patches just lie there and nobody pays attention" = "signs of a dead project!"
Still no news? Seems good this patch.
PS: Adding keyword "Inclusion" to better show this bug's nature in searches...
I have applied your patch after some local experiments. Emerge genkernel-99999 (five nines) to get it to your system. This is the testing I did: ==================================================== # mkdir raid-0-test # cd raid-0-test # for i in one two ; do touch $i ; truncate --size $((1024*1024*100)) $i ; sudo losetup -f $i ; done # sudo losetup -a /dev/loop0: [fe06]:4337414 ([..]/raid-0-test/one) /dev/loop1: [fe06]:4337415 ([..]/raid-0-test/two) # sudo mdadm --create /dev/md0 --level=0 --raid-devices=2 --assume-clean /dev/loop0 /dev/loop1 mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md0 started. # sudo /sbin/blkid | fgrep /dev/loop /dev/loop0: UUID="76d25f06-[..]-4a036839aaef" UUID_SUB="2f6bcd52-[..]-81478c90a685" LABEL="sevendust:0" TYPE="linux_raid_member" /dev/loop1: UUID="76d25f06-[..]-4a036839aaef" UUID_SUB="575fa001-[..]-299f64bc7e78" LABEL="sevendust:0" TYPE="linux_raid_member" # sudo /sbin/blkid -t LABEL=sevendust:0 | cut -d ":" -f 1 2>/dev/null /dev/loop0 /dev/loop1 # sudo /sbin/blkid -l -t LABEL=sevendust:0 | cut -d ":" -f 1 2>/dev/null /dev/loop0 ====================================================
*** Bug 290603 has been marked as a duplicate of this bug. ***