initramfs blkid doesn't find /dev/mapper (dmraid)
Posted: Fri Mar 08, 2013 12:00 pm
Hi! Here's the short version of my problem:
How can I ensure that my initrd image has the ability to recognize and read my dmraid-managed array so that it can find the root partition that resides within it?
And here's the long version:
I have a number of disks in my system, but the primary set are a striped pair of SSDs I set up with the onboard intel fakeraid. Win 7 is already installed on this array. I've booted in to the the live install environment for Mint and was pleased to find that it had dmraid ready to go and therefore recognized the array straight away. I used GParted to set up root and home partitions. (No swap because these are SSDs and I have plenty of RAM. Plus, I figured I could always add one later if needed.) I also set up a boot partition at the beginning of a separate, non-RAID drive, to avoid any potential hassles with GRUB2 overwriting my existing Win7 bootloader on the RAID array. (I made sure to mark the boot partition as bootable.) Finally, I used synaptic to update to the latest ubiquity and began the installation.
Everything went swimmingly during installation, as far as I could tell. I chose manual partitioning and simply marked the pre-formatted boot (/dev/sdd1), root (/dev/mapper/isw_asdfjkl_ARRAY3) and home (/dev/mapper/isw_asdfjkl_ARRAY4) partitions for use and told the installer not to format them and told it to install GRUB2 to the beginning of the drive where the boot partition is (/dev/sdd). Install finished without a hitch and I rebooted. As expected, because of my BIOS settings, I booted to my RAID array rather than the drive with GRUB2 on it. I set up EasyBCD in Windows 7 to add an entry for Mint pointing to the boot partition drive. Rebooted and chose Mint from the Windows bootloader and it successfully chainloaded GRUB2 on my other non-RAID disk. Yay!
Here's where the problem arises. Choosing the first entry in GRUB2 to boot Mint results in a never-ending splash screen. I reboot and try again but edit the GRUB2 entry to include "rootdelay=90" to make sure it's not just giving up too quickly. No joy. I reboot and try again but edit the entry to remove "quiet splash" and I find that I eventually get kicked out to the initramfs shell with an error stating that it gave up waiting for the root device and that its UUID doesn't seem to exist. Sure enough, blkid does not list my /dev/mapper/isw_asdfjkl_ARRAY. It lists all non-RAID disks as expected. It also lists /dev/sdb with a type of something along the lines of "isw_raid_member" (forgive me, I forget the exact phrase in this instance.) However, it does not list /dev/sda which I know to be the first disk in the RAID array. "ls /dev/mapper" returns only "control". Furthermore, "proc /cat/modules" doesn't list anything along the lines of dmraid. This leads me to believe that my initrd image may not have the proper modules to recognize the dmraid-managed array. SO, my question is: how can I fix that?
How can I ensure that my initrd image has the ability to recognize and read my dmraid-managed array so that it can find the root partition that resides within it?
And here's the long version:
I have a number of disks in my system, but the primary set are a striped pair of SSDs I set up with the onboard intel fakeraid. Win 7 is already installed on this array. I've booted in to the the live install environment for Mint and was pleased to find that it had dmraid ready to go and therefore recognized the array straight away. I used GParted to set up root and home partitions. (No swap because these are SSDs and I have plenty of RAM. Plus, I figured I could always add one later if needed.) I also set up a boot partition at the beginning of a separate, non-RAID drive, to avoid any potential hassles with GRUB2 overwriting my existing Win7 bootloader on the RAID array. (I made sure to mark the boot partition as bootable.) Finally, I used synaptic to update to the latest ubiquity and began the installation.
Everything went swimmingly during installation, as far as I could tell. I chose manual partitioning and simply marked the pre-formatted boot (/dev/sdd1), root (/dev/mapper/isw_asdfjkl_ARRAY3) and home (/dev/mapper/isw_asdfjkl_ARRAY4) partitions for use and told the installer not to format them and told it to install GRUB2 to the beginning of the drive where the boot partition is (/dev/sdd). Install finished without a hitch and I rebooted. As expected, because of my BIOS settings, I booted to my RAID array rather than the drive with GRUB2 on it. I set up EasyBCD in Windows 7 to add an entry for Mint pointing to the boot partition drive. Rebooted and chose Mint from the Windows bootloader and it successfully chainloaded GRUB2 on my other non-RAID disk. Yay!
Here's where the problem arises. Choosing the first entry in GRUB2 to boot Mint results in a never-ending splash screen. I reboot and try again but edit the GRUB2 entry to include "rootdelay=90" to make sure it's not just giving up too quickly. No joy. I reboot and try again but edit the entry to remove "quiet splash" and I find that I eventually get kicked out to the initramfs shell with an error stating that it gave up waiting for the root device and that its UUID doesn't seem to exist. Sure enough, blkid does not list my /dev/mapper/isw_asdfjkl_ARRAY. It lists all non-RAID disks as expected. It also lists /dev/sdb with a type of something along the lines of "isw_raid_member" (forgive me, I forget the exact phrase in this instance.) However, it does not list /dev/sda which I know to be the first disk in the RAID array. "ls /dev/mapper" returns only "control". Furthermore, "proc /cat/modules" doesn't list anything along the lines of dmraid. This leads me to believe that my initrd image may not have the proper modules to recognize the dmraid-managed array. SO, my question is: how can I fix that?