sys-kernel/genkernel-3.4.10.907 does include multipath support when ran with the --multipath option but does not populate /dev/mapper with device files. I found the russian wiki page stated as url and used it to patch genkernel's linuxrc to get it working. Reproducible: Always Steps to Reproduce: 1. Connect server to SAN, create LUN, map LUN to server 2. Boot using live cd 3. Install gentoo on LUN, just like a regular hard drive 4. Include multipath in kernel, compile, run genkernel with --multipath option 5. Configure grub to use genkernel's initramfs and /dev/mapper/whateverLUN as real_root 6. reboot Actual Results: System wont boot, initramfs script is unable to use the specified multipath device (/dev/mapper/LUNp2) as a root file system. I can choose to drop to a shell when prompted to manually select an alternate root file system. In the shell, it is possible to populate /dev/mapper manually using multipath and kpartx. They are included by genkernel and they work. Expected Results: System will boot using a multipath device as a root filesystem: mybox genkernel.d # df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/LUNp2 4.0G 207M 3.6G 6% / udev 10M 220K 9.8M 3% /dev /dev/mapper/LUNp3 9.9G 4.0G 5.4G 43% /usr /dev/mapper/LUNp4 11G 348M 9.6G 4% /var I used the code from the wiki page http://ru.gentoo-wiki.com/wiki/HOWTO_Multipath_boot_support to produce the following patch: --- linuxrc.orig 2010-03-09 17:55:44.000000000 -0500 +++ linuxrc 2010-03-09 18:31:45.000000000 -0500 @@ -98,6 +98,10 @@ DMRAID_OPTS=`parse_opt "${x}"` USE_DMRAID_NORMAL=1 ;; + # Start Multipath options + dompath) + USE_MPATH_NORMAL=1 + ;; doevms) USE_EVMS_NORMAL=1 ;; @@ -298,6 +302,28 @@ # Setup md device nodes if they dont exist setup_md_device +startMultipath() { +if [ "${USE_MPATH_NORMAL}" = '1' ] +then + # Here, we check for /dev/device-mapper, and if it exists, we setup a + # a symlink, which should hopefully fix bug #142775 and bug #147015 + if [ -e /dev/device-mapper ] && [ ! -e /dev/mapper/control ] + then + mkdir -p /dev/mapper + ln -sf /dev/device-mapper /dev/mapper/control + fi + + if [ -e /sbin/multipath ] ; then + good_msg "Activating Multipath devices" + /sbin/multipath -v 0 > /dev/null + for ASDF in /dev/mapper/*; do /sbin/kpartx -a $ASDF; done + fi +fi +} + +# Start multipath +startMultipath + # Scan volumes startVolumes Apply against /usr/share/genkernel/defaults/linuxrc, run genkernel and reboot to fix
Looks like a duplicate of bug #286187. If you disagree please re-open this bug. Please review and test the patch in the other bug if you get a chance. *** This bug has been marked as a duplicate of bug 286187 ***