I have a post on the debian forums as well but it seems to have less traffic than here so I thought I'd try my luck here as well.
I'm trying to install windows 10 and debian and possibly more distros on a fakeraid using UEFI and GPT. So I follow this guide and using dmraid I can successfully partition and install. The partitioning looks like this:
/dev/mapper/isw_dagfijbabd_RAID0SYS
|- Microsoft Recovery
|- EFI / boot
|- Microsoft MRS
|- Windows
|- swap
|- LVM PV
\
|-- VG0
\
|--- LV OS_2
|--- LV debian
|--- LV home
The problem is grub doesn't seem to see the raid when setting the root for the kernel. And I get this error
modprobe: module dm-raid45 not found in module.dep
Gave up waiting for root device. Common problems:
- Boot args (cat /proc/cmdline)
- Check rootdelay= (did the system wait long enough?)
- Check root= (did the system wait for the right device?)
- Missing modules (cat /proc/modules; ls /dev)
ALERT! /dev/mapper/VG0-debian does not exist.
modprobe: module ehci-orion not found in modules.dep
I could use ubuntu live to chroot into the system instead of debian rescue mode and finish the installation steps, apart from actually setting the root for grub.
As far as I can tell it seems to be an issue with grub not using mdadm correctly or at all. So I need to edit initramfs to inklude mdadm somehow, right? But how does that work? I have succesfully mounted the initramfs using like this guide from ducea.com. But how would I continue?
# All work is done in a temporary directory
mkdir /tmp/initrdmount
# Copy the image, uncompress it
cp /boot/initrd.img-2.6.15-1-686-smp /tmp/initrd.img.gz
gunzip -v /tmp/initrd.img.gz
# Extract the content of the cpio archive
cd /tmp/initrdmount
cpio -i < /tmp/initrd.img
EDIT: I'll add some info gathered from the initramfs shell as well:
# this depends ofc on whether I use dmraid or mdadm for kernel boot
(initramfs) cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-3.16.0.4-amd64 root=/dev/mapper/VG0-debian ro {dmraid/mdadm}=true
(initramfs) cat /proc/mdstat # returns nothing
(initramfs) cat /etc/mdadm/mdadm.conf
ARRAY metadata=imsm UUID=xxxx:xxxx:xxxx:xxxx
ARRAY /dev/md/isw_dagfijbabd_RAID0SYS container=xxxxxxxxxxxxxxxx member=0 UUID=xxxxxx:xxxxxx:xxxxxx:xxxxxx
ARRAY /dev/md/isw_dagfijbabd_RAID0RST container=xxxxxxxxxxxxxxxx member=1 UUID=xxxxxx:xxxxxx:xxxxxx:xxxxxx
(initramfs) ls /dev/mapper/
control isw_dagfijbabd_RAID0RST isw_dagfijbabd_RAID0SYS
(initramfs) lvm pvs # returns nothing
This output was practically the same whether I used dmraid or mdadm in kernel boot line. I realized that I could find mdadm in /sbin either way and that the RAID0 disk isw_dagfijbabd_RAID0SYS / dm-0 is detected but not it's content.
I'm wondering if there is some interference with dmraid and mdadm. Should I remove dmraid from initramfs?
grub> ls
I find the (lvm/VG0-debian) volume. And I confirm it contains the usual stuff withgrub> ls (lvm/VG0-debian)/
. I can even usegrub> set root=(lvm/VG0-debian)
without error. But if I trygrub> linux /boot/vmlinuz-3.13.0-29-generic root=/dev/
and hit tab it can't find the mapper folder or any of the usual dm-x volumes or any logical volumes. – mmFooD Jan 28 '17 at 14:18