initramfs blkid doesn't find /dev/mapper (dmraid)

Questions about Grub, UEFI,the liveCD and the installer
Forum rules
Before you post read how to get help. Topics in this forum are automatically closed 6 months after creation.
Locked
Solipcyst

initramfs blkid doesn't find /dev/mapper (dmraid)

Post by Solipcyst »

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?
Last edited by LockBot on Wed Dec 28, 2022 7:16 am, edited 1 time in total.
Reason: Topic automatically closed 6 months after creation. New replies are no longer allowed.
Solipcyst

Re: initramfs blkid doesn't find /dev/mapper (dmraid)

Post by Solipcyst »

Well, I managed to determine that despite the live dvd having the 'dmraid' package pre-installed and thus aware of and providing support for my array that the Ubiquity installer apparently is not. It's rather misleading that the Ubiquity installer know that /dev/mapper/isw_blahblahblah is, in fact, a disk that can be installed to, yet it is blissfully unable to determine that type "RAID_MEMBER" means the new system being installed should probably include the dmraid package. I don't claim to know much about anything linux related, but I know an oversight when I see one.

Anyway, for anyone else that runs in to this problem, and isn't satisfied with people like the maintainers of Ubuntu who have recently decided that RAID systems like mine are too much of a "minority use case" (https://lists.ubuntu.com/archives/ubunt ... 35675.html) to bother with anymore, here is how I resolved the issue:

Assuming you've completed installation and already tried rebooting without success, you will need to boot back in to your live environment.

Once you are in, do the following commands in a terminal (replace bracketed stuff with the appropriate info for your system):

Code: Select all

sudo mount /dev/mapper/[your_raided_root_partition] /mnt
sudo mount /dev/[your_boot_partition] /mnt/boot
sudo mount --bind /dev /mnt/dev
sudo mount --bind /sys /mnt/sys
sudo mount --bind /proc /mnt/proc
sudo chroot /mnt /bin/bash
sudo apt-get install dmraid
This will hook in to the disk-installed OS and install the missing dmraid package (and dependencies), as well as build a new initrd image and rebuild the grub2 config. That's it. That's all you should have to do. You might run in to complaints that "no host could be found" when you run the "apt-get install" command. You should be able to fix this by copying the contents of your "/etc/resolv.conf" file from the live environment filesystem to the chrooted, disk-installed filesystem.
Locked

Return to “Installation & Boot”