Comment 40 for bug 97655

Revision history for this message
Matti Tiainen (mvtiaine) wrote :

Are you sure the dm-raid45 module is enabled ?

Your kernel config should have at least these lines:
CONFIG_MD_RAID456=m
CONFIG_DM_RAID45=m

For the initramfs, I've added the module to the following files:

/usr/share/initramfs-tools/hooks/dmraid

..snip..
manual_add_modules dm-mirror
manual_add_modules dm-raid4-5
copy_exec /sbin/dmraid sbin
..snip..

/usr/share/initramfs-tools/scripts/local-top/dmraid

..snip..
modprobe -Q dm-mirror
modprobe -Q dm-raid4-5

[ -x /sbin/dmraid ] && /sbin/dmraid -ay
..snip..

The devices and partitions show up in directory /dev/mapper, for example:
/dev/mapper/isw_ibcfibahh_RAID0
/dev/mapper/isw_ibcfibahh_RAID01
/dev/mapper/isw_ibcfibahh_RAID02
/dev/mapper/isw_ibcfibahh_RAID5
/dev/mapper/isw_ibcfibahh_RAID51
/dev/mapper/isw_ibcfibahh_RAID52

RAID0 and RAID5 are the names I've given to the raid volumes in BIOS. So in my case I can run "parted /dev/mapper/isw_ibcfibahh_RAID5" to partition the raid5 volume.

When dm-raid4-5 module is loaded on boot, dmesg should show something like this:
[ 50.928873] raid5: automatically using best checksumming function: generic_sse
[ 50.933003] generic_sse: 8728.000 MB/sec
[ 50.933083] raid5: using function: generic_sse (8728.000 MB/sec)
[ 50.935099] device-mapper: dm-raid45: initialized v0.2337
[ 51.329743] device-mapper: dm-raid45: /dev/sda is raid disk 0
[ 51.329832] device-mapper: dm-raid45: /dev/sdb is raid disk 1
[ 51.329917] device-mapper: dm-raid45: /dev/sdc is raid disk 2
[ 51.330003] device-mapper: dm-raid45: /dev/sdd is raid disk 3
[ 51.330090] device-mapper: dm-raid45: 128/128/256 sectors chunk/io/recovery size, 64 stripes
[ 51.330219] device-mapper: dm-raid45: algorithm "xor_asm", 4 chunks with 8625MB/s
[ 51.330343] device-mapper: dm-raid45: RAID5 (left asymmetric) set with net 3/4 devices
[ 51.330500] device-mapper: dm-raid45: No regions to recover

Steps I use install a custom kernel:
1) patch the sources :)
2) copy the .config file from the current kernel and run 'make oldconfig'
3) compile the kernel with 'make-kpkg clean && fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers'
4) install the generated headers and image .deb files (install should automatically run update-initramfs)
5) finally run 'update-grub'

I also get the "no such file directory" messages with update-initramfs and they should be nothing to worry about.