# Distributed under the GPL v2
# $Id$
+ 13 Oct 2012; Robin H. Johnson <robbat2@gentoo.org> arch/alpha/modules_load,
+ arch/arm/modules_load, arch/ia64/modules_load, arch/mips/modules_load,
+ arch/parisc/modules_load, arch/parisc64/modules_load, arch/ppc/modules_load,
+ arch/ppc64/modules_load, arch/sparc/modules_load, arch/sparc64/modules_load,
+ arch/um/modules_load, arch/x86/modules_load, arch/x86_64/modules_load,
+ defaults/initrd.scripts, defaults/linuxrc, defaults/modules_load,
+ gen_configkernel.sh, gen_initramfs.sh:
+ Bug #286187: Complete multipath support.
+
13 Oct 2012; Robin H. Johnson <robbat2@gentoo.org> defaults/initrd.defaults,
defaults/initrd.scripts, defaults/linuxrc, doc/genkernel.8.txt:
Bug #351873: More livecd control, and initramfs livecd argument
MODULES_DMRAID="dm-mod dm-mirror"
MODULES_LVM="dm-mod dm-snapshot dm-mirror dm-bbr dm-bufio dm-crypt dm-delay dm-flakey dm-log dm-log-userspace dm-multipath dm-queue-length dm-raid dm-region-hash dm-round-robin dm-service-time dm-thin-pool dm-persistent-data libcrc32c dm-zero"
MODULES_MDADM="dm-mod dm-snapshot dm-mirror dm-bbr dm-raid dm-crypt raid0 raid1 raid456 raid5 raid6 raid10 linear multipath"
+MODULES_MULTIPATH="dm-mod dm-multipath dm-round-robin dm-rdac dm-queue-length dm-service-time"
# Hardware (IDE/SCSI/SATA)
MODULES_PATA="pata_mpiix pata_pdc2027x pata_radisys pata_sil680 pata_rz1000 pata_efar pata_cmd64x pata_hpt366 pata_hpt37x pata_hpt3x3 pata_hpt3x2n pata_optidma pata_it821x pata_artop pata_oldpiix pata_cypress pata_platform pata_serverworks pata_legacy pata_ns87410 pata_ns87415 pata_pcmcia pata_isapnp pata_it8213 pata_ali pata_amd pata_opti pata_atiixp pata_triflex pata_pdc202xx_old pata_sc1200 pata_qdi pata_netcell pata_sis pata_hpt3x2n pata_marvell pata_jmicron pata_via pata_cs5520 pata_cs5530 pata_cs5535 pata_sl82c105 libata"
MODULES_DMRAID="dm-mod dm-mirror"
MODULES_LVM="dm-mod dm-snapshot dm-mirror dm-bbr dm-bufio dm-crypt dm-delay dm-flakey dm-log dm-log-userspace dm-multipath dm-queue-length dm-raid dm-region-hash dm-round-robin dm-service-time dm-thin-pool dm-persistent-data libcrc32c dm-zero"
MODULES_MDADM="dm-mod dm-snapshot dm-mirror dm-bbr dm-raid dm-crypt raid0 raid1 raid456 raid5 raid6 raid10 linear multipath"
+MODULES_MULTIPATH="dm-mod dm-multipath dm-round-robin dm-rdac dm-queue-length dm-service-time"
# Hardware (IDE/SCSI/SATA)
MODULES_PATA="pata_mpiix pata_pdc2027x pata_radisys pata_sil680 pata_rz1000 pata_efar pata_cmd64x pata_hpt366 pata_hpt37x pata_hpt3x3 pata_hpt3x2n pata_optidma pata_it821x pata_artop pata_oldpiix pata_cypress pata_platform pata_serverworks pata_legacy pata_ns87410 pata_ns87415 pata_pcmcia pata_isapnp pata_it8213 pata_ali pata_amd pata_opti pata_atiixp pata_triflex pata_pdc202xx_old pata_sc1200 pata_qdi pata_netcell pata_sis pata_hpt3x2n pata_marvell pata_jmicron pata_via pata_cs5520 pata_cs5530 pata_cs5535 pata_sl82c105 libata"
MODULES_DMRAID="dm-mod dm-mirror"
MODULES_LVM="dm-mod dm-snapshot dm-mirror dm-bbr dm-bufio dm-crypt dm-delay dm-flakey dm-log dm-log-userspace dm-multipath dm-queue-length dm-raid dm-region-hash dm-round-robin dm-service-time dm-thin-pool dm-persistent-data libcrc32c dm-zero"
MODULES_MDADM="dm-mod dm-snapshot dm-mirror dm-bbr dm-raid dm-crypt raid0 raid1 raid456 raid5 raid6 raid10 linear multipath"
+MODULES_MULTIPATH="dm-mod dm-multipath dm-round-robin dm-rdac dm-queue-length dm-service-time"
# Hardware (IDE/SCSI/SATA)
MODULES_PATA="pata_mpiix pata_pdc2027x pata_radisys pata_sil680 pata_rz1000 pata_efar pata_cmd64x pata_hpt366 pata_hpt37x pata_hpt3x3 pata_hpt3x2n pata_optidma pata_it821x pata_artop pata_oldpiix pata_cypress pata_platform pata_serverworks pata_legacy pata_ns87410 pata_ns87415 pata_pcmcia pata_isapnp pata_it8213 pata_ali pata_amd pata_opti pata_atiixp pata_triflex pata_pdc202xx_old pata_sc1200 pata_qdi pata_netcell pata_sis pata_hpt3x2n pata_marvell pata_jmicron pata_via pata_cs5520 pata_cs5530 pata_cs5535 pata_sl82c105 libata"
MODULES_DMRAID="dm-mod dm-mirror"
MODULES_LVM="dm-mod dm-snapshot dm-mirror dm-bbr dm-bufio dm-crypt dm-delay dm-flakey dm-log dm-log-userspace dm-multipath dm-queue-length dm-raid dm-region-hash dm-round-robin dm-service-time dm-thin-pool dm-persistent-data libcrc32c dm-zero"
MODULES_MDADM="dm-mod dm-snapshot dm-mirror dm-bbr dm-raid dm-crypt raid0 raid1 raid456 raid5 raid6 raid10 linear multipath"
+MODULES_MULTIPATH="dm-mod dm-multipath dm-round-robin dm-rdac dm-queue-length dm-service-time"
# Hardware (IDE/SCSI/SATA)
MODULES_PATA="pata_mpiix pata_pdc2027x pata_radisys pata_sil680 pata_rz1000 pata_efar pata_cmd64x pata_hpt366 pata_hpt37x pata_hpt3x3 pata_hpt3x2n pata_optidma pata_it821x pata_artop pata_oldpiix pata_cypress pata_platform pata_serverworks pata_legacy pata_ns87410 pata_ns87415 pata_pcmcia pata_isapnp pata_it8213 pata_ali pata_amd pata_opti pata_atiixp pata_triflex pata_pdc202xx_old pata_sc1200 pata_qdi pata_netcell pata_sis pata_hpt3x2n pata_marvell pata_jmicron pata_via pata_cs5520 pata_cs5530 pata_cs5535 pata_sl82c105 libata"
MODULES_DMRAID="dm-mod dm-mirror"
MODULES_LVM="dm-mod dm-snapshot dm-mirror dm-bbr dm-bufio dm-crypt dm-delay dm-flakey dm-log dm-log-userspace dm-multipath dm-queue-length dm-raid dm-region-hash dm-round-robin dm-service-time dm-thin-pool dm-persistent-data libcrc32c dm-zero"
MODULES_MDADM="dm-mod dm-snapshot dm-mirror dm-bbr dm-raid dm-crypt raid0 raid1 raid456 raid5 raid6 raid10 linear multipath"
+MODULES_MULTIPATH="dm-mod dm-multipath dm-round-robin dm-rdac dm-queue-length dm-service-time"
# Hardware (IDE/SCSI/SATA)
MODULES_PATA="pata_mpiix pata_pdc2027x pata_radisys pata_sil680 pata_rz1000 pata_efar pata_cmd64x pata_hpt366 pata_hpt37x pata_hpt3x3 pata_hpt3x2n pata_optidma pata_it821x pata_artop pata_oldpiix pata_cypress pata_platform pata_serverworks pata_legacy pata_ns87410 pata_ns87415 pata_pcmcia pata_isapnp pata_it8213 pata_ali pata_amd pata_opti pata_atiixp pata_triflex pata_pdc202xx_old pata_sc1200 pata_qdi pata_netcell pata_sis pata_hpt3x2n pata_marvell pata_jmicron pata_via pata_cs5520 pata_cs5530 pata_cs5535 pata_sl82c105 libata"
MODULES_DMRAID="dm-mod dm-mirror"
MODULES_LVM="dm-mod dm-snapshot dm-mirror dm-bbr dm-bufio dm-crypt dm-delay dm-flakey dm-log dm-log-userspace dm-multipath dm-queue-length dm-raid dm-region-hash dm-round-robin dm-service-time dm-thin-pool dm-persistent-data libcrc32c dm-zero"
MODULES_MDADM="dm-mod dm-snapshot dm-mirror dm-bbr dm-raid dm-crypt raid0 raid1 raid456 raid5 raid6 raid10 linear multipath"
+MODULES_MULTIPATH="dm-mod dm-multipath dm-round-robin dm-rdac dm-queue-length dm-service-time"
# Hardware (IDE/SCSI/SATA)
MODULES_PATA="pata_mpiix pata_pdc2027x pata_radisys pata_sil680 pata_rz1000 pata_efar pata_cmd64x pata_hpt366 pata_hpt37x pata_hpt3x3 pata_hpt3x2n pata_optidma pata_it821x pata_artop pata_oldpiix pata_cypress pata_platform pata_serverworks pata_legacy pata_ns87410 pata_ns87415 pata_pcmcia pata_isapnp pata_it8213 pata_ali pata_amd pata_opti pata_atiixp pata_triflex pata_pdc202xx_old pata_sc1200 pata_qdi pata_netcell pata_sis pata_hpt3x2n pata_marvell pata_jmicron pata_via pata_cs5520 pata_cs5530 pata_cs5535 pata_sl82c105 libata"
MODULES_DMRAID="dm-mod dm-mirror"
MODULES_LVM="dm-mod dm-snapshot dm-mirror dm-bbr dm-bufio dm-crypt dm-delay dm-flakey dm-log dm-log-userspace dm-multipath dm-queue-length dm-raid dm-region-hash dm-round-robin dm-service-time dm-thin-pool dm-persistent-data libcrc32c dm-zero"
MODULES_MDADM="dm-mod dm-snapshot dm-mirror dm-bbr dm-raid dm-crypt raid0 raid1 raid456 raid5 raid6 raid10 linear multipath"
+MODULES_MULTIPATH="dm-mod dm-multipath dm-round-robin dm-rdac dm-queue-length dm-service-time"
# Hardware (IDE/SCSI/SATA)
MODULES_PATA="pata_mpiix pata_pdc2027x pata_radisys pata_sil680 pata_rz1000 pata_efar pata_cmd64x pata_hpt366 pata_hpt37x pata_hpt3x3 pata_hpt3x2n pata_optidma pata_it821x pata_artop pata_oldpiix pata_cypress pata_platform pata_serverworks pata_legacy pata_ns87410 pata_ns87415 pata_pcmcia pata_isapnp pata_it8213 pata_ali pata_amd pata_opti pata_atiixp pata_triflex pata_pdc202xx_old pata_sc1200 pata_qdi pata_netcell pata_sis pata_hpt3x2n pata_marvell pata_jmicron pata_via pata_cs5520 pata_cs5530 pata_cs5535 pata_sl82c105 libata"
MODULES_DMRAID="dm-mod dm-mirror"
MODULES_LVM="dm-mod dm-snapshot dm-mirror dm-bbr dm-bufio dm-crypt dm-delay dm-flakey dm-log dm-log-userspace dm-multipath dm-queue-length dm-raid dm-region-hash dm-round-robin dm-service-time dm-thin-pool dm-persistent-data libcrc32c dm-zero"
MODULES_MDADM="dm-mod dm-snapshot dm-mirror dm-bbr dm-raid dm-crypt raid0 raid1 raid456 raid5 raid6 raid10 linear multipath"
+MODULES_MULTIPATH="dm-mod dm-multipath dm-round-robin dm-rdac dm-queue-length dm-service-time"
# Hardware (IDE/SCSI/SATA)
MODULES_PATA="pata_mpiix pata_pdc2027x pata_radisys pata_sil680 pata_rz1000 pata_efar pata_cmd64x pata_hpt366 pata_hpt37x pata_hpt3x3 pata_hpt3x2n pata_optidma pata_it821x pata_artop pata_oldpiix pata_cypress pata_platform pata_serverworks pata_legacy pata_ns87410 pata_ns87415 pata_pcmcia pata_isapnp pata_it8213 pata_ali pata_amd pata_opti pata_atiixp pata_triflex pata_pdc202xx_old pata_sc1200 pata_qdi pata_netcell pata_sis pata_hpt3x2n pata_marvell pata_jmicron pata_via pata_cs5520 pata_cs5530 pata_cs5535 pata_sl82c105 libata"
MODULES_DMRAID="dm-mod dm-mirror"
MODULES_LVM="dm-mod dm-snapshot dm-mirror dm-bbr dm-bufio dm-crypt dm-delay dm-flakey dm-log dm-log-userspace dm-multipath dm-queue-length dm-raid dm-region-hash dm-round-robin dm-service-time dm-thin-pool dm-persistent-data libcrc32c dm-zero"
MODULES_MDADM="dm-mod dm-snapshot dm-mirror dm-bbr dm-raid dm-crypt raid0 raid1 raid456 raid5 raid6 raid10 linear multipath"
+MODULES_MULTIPATH="dm-mod dm-multipath dm-round-robin dm-rdac dm-queue-length dm-service-time"
# Hardware (IDE/SCSI/SATA)
MODULES_PATA="pata_mpiix pata_pdc2027x pata_radisys pata_sil680 pata_rz1000 pata_efar pata_cmd64x pata_hpt366 pata_hpt37x pata_hpt3x3 pata_hpt3x2n pata_optidma pata_it821x pata_artop pata_oldpiix pata_cypress pata_platform pata_serverworks pata_legacy pata_ns87410 pata_ns87415 pata_pcmcia pata_isapnp pata_it8213 pata_ali pata_amd pata_opti pata_atiixp pata_triflex pata_pdc202xx_old pata_sc1200 pata_qdi pata_netcell pata_sis pata_hpt3x2n pata_marvell pata_jmicron pata_via pata_cs5520 pata_cs5530 pata_cs5535 pata_sl82c105 libata"
MODULES_DMRAID="dm-mod dm-mirror"
MODULES_LVM="dm-mod dm-snapshot dm-mirror dm-bbr dm-bufio dm-crypt dm-delay dm-flakey dm-log dm-log-userspace dm-multipath dm-queue-length dm-raid dm-region-hash dm-round-robin dm-service-time dm-thin-pool dm-persistent-data libcrc32c dm-zero"
MODULES_MDADM="dm-mod dm-snapshot dm-mirror dm-bbr dm-raid dm-crypt raid0 raid1 raid456 raid5 raid6 raid10 linear multipath"
+MODULES_MULTIPATH="dm-mod dm-multipath dm-round-robin dm-rdac dm-queue-length dm-service-time"
# Hardware (IDE/SCSI/SATA)
MODULES_PATA="pata_mpiix pata_pdc2027x pata_radisys pata_sil680 pata_rz1000 pata_efar pata_cmd64x pata_hpt366 pata_hpt37x pata_hpt3x3 pata_hpt3x2n pata_optidma pata_it821x pata_artop pata_oldpiix pata_cypress pata_platform pata_serverworks pata_legacy pata_ns87410 pata_ns87415 pata_pcmcia pata_isapnp pata_it8213 pata_ali pata_amd pata_opti pata_atiixp pata_triflex pata_pdc202xx_old pata_sc1200 pata_qdi pata_netcell pata_sis pata_hpt3x2n pata_marvell pata_jmicron pata_via pata_cs5520 pata_cs5530 pata_cs5535 pata_sl82c105 libata"
MODULES_DMRAID="dm-mod dm-mirror"
MODULES_LVM="dm-mod dm-snapshot dm-mirror dm-bbr dm-bufio dm-crypt dm-delay dm-flakey dm-log dm-log-userspace dm-multipath dm-queue-length dm-raid dm-region-hash dm-round-robin dm-service-time dm-thin-pool dm-persistent-data libcrc32c dm-zero"
MODULES_MDADM="dm-mod dm-snapshot dm-mirror dm-bbr dm-raid dm-crypt raid0 raid1 raid456 raid5 raid6 raid10 linear multipath"
+MODULES_MULTIPATH="dm-mod dm-multipath dm-round-robin dm-rdac dm-queue-length dm-service-time"
# Hardware (IDE/SCSI/SATA)
MODULES_PATA="pata_mpiix pata_pdc2027x pata_radisys pata_sil680 pata_rz1000 pata_efar pata_cmd64x pata_hpt366 pata_hpt37x pata_hpt3x3 pata_hpt3x2n pata_optidma pata_it821x pata_artop pata_oldpiix pata_cypress pata_platform pata_serverworks pata_legacy pata_ns87410 pata_ns87415 pata_pcmcia pata_isapnp pata_it8213 pata_ali pata_amd pata_opti pata_atiixp pata_triflex pata_pdc202xx_old pata_sc1200 pata_qdi pata_netcell pata_sis pata_hpt3x2n pata_marvell pata_jmicron pata_via pata_cs5520 pata_cs5530 pata_cs5535 pata_sl82c105 libata"
MODULES_DMRAID="dm-mod dm-mirror dm-crypt"
MODULES_LVM="dm-mod dm-snapshot dm-mirror dm-bbr dm-bufio dm-crypt dm-delay dm-flakey dm-log dm-log-userspace dm-multipath dm-queue-length dm-raid dm-region-hash dm-round-robin dm-service-time dm-thin-pool dm-persistent-data libcrc32c dm-zero"
MODULES_MDADM="dm-mod dm-snapshot dm-mirror dm-bbr dm-raid dm-crypt raid0 raid1 raid456 raid5 raid6 raid10 linear multipath"
+MODULES_MULTIPATH="dm-mod dm-multipath dm-round-robin dm-rdac dm-queue-length dm-service-time"
# Hardware (IDE/SCSI/SATA)
MODULES_PATA="pata_mpiix pata_pdc2027x pata_radisys pata_sil680 pata_rz1000 pata_efar pata_cmd64x pata_hpt366 pata_hpt37x pata_hpt3x3 pata_hpt3x2n pata_optidma pata_it821x pata_artop pata_oldpiix pata_cypress pata_platform pata_serverworks pata_legacy pata_ns87410 pata_ns87415 pata_pcmcia pata_isapnp pata_it8213 pata_ali pata_amd pata_opti pata_atiixp pata_triflex pata_pdc202xx_old pata_sc1200 pata_qdi pata_netcell pata_sis pata_hpt3x2n pata_marvell pata_jmicron pata_via pata_cs5520 pata_cs5530 pata_cs5535 pata_sl82c105 libata"
MODULES_DMRAID="dm-mod dm-mirror dm-crypt"
MODULES_LVM="dm-mod dm-snapshot dm-mirror dm-bbr dm-bufio dm-crypt dm-delay dm-flakey dm-log dm-log-userspace dm-multipath dm-queue-length dm-raid dm-region-hash dm-round-robin dm-service-time dm-thin-pool dm-persistent-data libcrc32c dm-zero"
MODULES_MDADM="dm-mod dm-snapshot dm-mirror dm-bbr dm-raid dm-crypt raid0 raid1 raid456 raid5 raid6 raid10 linear multipath"
+MODULES_MULTIPATH="dm-mod dm-multipath dm-round-robin dm-rdac dm-queue-length dm-service-time"
# Hardware (IDE/SCSI/SATA)
MODULES_PATA="pata_mpiix pata_pdc2027x pata_radisys pata_sil680 pata_rz1000 pata_efar pata_cmd64x pata_hpt366 pata_hpt37x pata_hpt3x3 pata_hpt3x2n pata_optidma pata_it821x pata_artop pata_oldpiix pata_cypress pata_platform pata_serverworks pata_legacy pata_ns87410 pata_ns87415 pata_pcmcia pata_isapnp pata_it8213 pata_ali pata_amd pata_opti pata_atiixp pata_triflex pata_pdc202xx_old pata_sc1200 pata_qdi pata_netcell pata_sis pata_hpt3x2n pata_marvell pata_jmicron pata_via pata_cs5520 pata_cs5530 pata_cs5535 pata_sl82c105 libata"
fi
fi
+ if [ "${USE_MULTIPATH_NORMAL}" = '1' ]
+ then
+ good_msg "Scanning for multipath devices"
+ /sbin/multipath -v 0
+ sleep 2
+ good_msg "Activating multipath devices"
+ /sbin/dmsetup ls --target multipath --exec "/sbin/kpartx -a -v"
+ #for MULTIPATH_VOLUMES in /dev/mapper/*; do kpartx -a $MULTIPATH_VOLUMES; done
+ fi
+
if [ "${USE_DMRAID_NORMAL}" = '1' ]
then
if [ -e '/sbin/dmraid' ]
DMRAID_OPTS=${x#*=}
USE_DMRAID_NORMAL=1
;;
+ domultipath)
+ good_msg "Booting with multipath activated."
+ USE_MULTIPATH_NORMAL=1
+ ;;
dozfs*)
USE_ZFS=1
MODULES_DMRAID="dm-mod dm-mirror"
MODULES_LVM="dm-mod dm-snapshot dm-mirror dm-bbr dm-bufio dm-crypt dm-delay dm-flakey dm-log dm-log-userspace dm-multipath dm-queue-length dm-raid dm-region-hash dm-round-robin dm-service-time dm-thin-pool dm-zero"
MODULES_MDADM="dm-mod dm-snapshot dm-mirror dm-bbr dm-raid dm-crypt raid0 raid1 raid456 raid5 raid6 raid10 linear multipath"
+MODULES_MULTIPATH="dm-mod dm-multipath dm-round-robin dm-rdac dm-queue-length dm-service-time"
# Hardware (IDE/SCSI/SATA)
MODULES_PATA="pata_mpiix pata_pdc2027x pata_radisys pata_sil680 pata_rz1000 pata_efar pata_cmd64x pata_hpt366 pata_hpt37x pata_hpt3x3 pata_hpt3x2n pata_optidma pata_it821x pata_artop pata_oldpiix pata_cypress pata_platform pata_serverworks pata_legacy pata_ns87410 pata_ns87415 pata_pcmcia pata_isapnp pata_it8213 pata_ali pata_amd pata_opti pata_atiixp pata_triflex pata_pdc202xx_old pata_sc1200 pata_qdi pata_netcell pata_sis pata_hpt3x2n pata_marvell pata_jmicron pata_via pata_cs5520 pata_cs5530 pata_cs5535 pata_sl82c105 libata"
Scan for bootable ZFS pools on bootup. Optionally force import if
necessary.
+*domultipath*::
+ Activate Multipath on bootup
+
*doscsi*::
Activate SCSI devices on bootup, necessary when SCSI support is
compiled as modules and you're using SCSI or SATA devices.
sed -i ${KERNEL_OUTPUTDIR}/.config -e 's/#\? \?CONFIG_DM_MIRROR is.*/CONFIG_DM_MIRROR=m/g'
fi
+ # Multipath
+ if isTrue ${CMD_MULTIPATH}
+ then
+ sed -i ${KERNEL_DIR}/.config -e 's/#\? \?CONFIG_BLK_DEV_DM is.*/CONFIG_BLK_DEV_DM=m/g'
+ sed -i ${KERNEL_DIR}/.config -e 's/#\? \?CONFIG_DM_MULTIPATH is.*/CONFIG_DM_MULTIPATH=m/g'
+ sed -i ${KERNEL_DIR}/.config -e 's/#\? \?CONFIG_DM_MULTIPATH_RDAC is.*/CONFIG_DM_MULTIPATH_RDAC=m/g'
+ fi
+
# Make sure dmraid modules are on if --dmraid
if isTrue ${CMD_DMRAID}
then
mkdir -p "${TEMP}"/initramfs-multipath-temp/{bin,etc,sbin,lib}/
# Copy files
- copy_binaries "${TEMP}/initramfs-multipath-temp" /sbin/{multipath,kpartx,mpath_prio_*,devmap_name,dmsetup} /lib64/udev/scsi_id /bin/mountpoint
+ copy_binaries "${TEMP}/initramfs-multipath-temp" \
+ /bin/mountpoint \
+ /sbin/{multipath,kpartx,mpath_prio_*,devmap_name,dmsetup} \
+ /{lib,lib64}/{udev/scsi_id,multipath/*so}
if [ -x /sbin/multipath ]
then