summaryrefslogtreecommitdiffstats
path: root/0013-dracut-functions.sh-inst_multiple-dracut_install.patch
diff options
context:
space:
mode:
Diffstat (limited to '0013-dracut-functions.sh-inst_multiple-dracut_install.patch')
-rw-r--r--0013-dracut-functions.sh-inst_multiple-dracut_install.patch1758
1 files changed, 1758 insertions, 0 deletions
diff --git a/0013-dracut-functions.sh-inst_multiple-dracut_install.patch b/0013-dracut-functions.sh-inst_multiple-dracut_install.patch
new file mode 100644
index 0000000..843ecd3
--- /dev/null
+++ b/0013-dracut-functions.sh-inst_multiple-dracut_install.patch
@@ -0,0 +1,1758 @@
+From af11946054193dbb13eec70cb62e6b0963c5fb41 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald@redhat.com>
+Date: Mon, 5 Aug 2013 12:10:12 +0200
+Subject: [PATCH] dracut-functions.sh: inst_multiple == dracut_install
+
+---
+ dracut-functions.sh | 12 +++++++----
+ dracut.asc | 2 +-
+ dracut.sh | 6 +++---
+ modules.d/00bootchart/module-setup.sh | 2 +-
+ modules.d/00systemd-bootchart/module-setup.sh | 2 +-
+ modules.d/01fips/module-setup.sh | 4 ++--
+ modules.d/03rescue/module-setup.sh | 2 +-
+ modules.d/04watchdog/module-setup.sh | 2 +-
+ modules.d/10i18n/module-setup.sh | 8 ++++----
+ modules.d/30convertfs/module-setup.sh | 2 +-
+ modules.d/40network/module-setup.sh | 8 ++++----
+ modules.d/45url-lib/module-setup.sh | 2 +-
+ modules.d/50gensplash/module-setup.sh | 2 +-
+ modules.d/50plymouth/module-setup.sh | 2 +-
+ modules.d/50plymouth/plymouth-populate-initrd.sh | 6 +++---
+ modules.d/80cms/module-setup.sh | 2 +-
+ modules.d/90bcache/module-setup.sh | 2 +-
+ modules.d/90btrfs/module-setup.sh | 2 +-
+ modules.d/90crypt/module-setup.sh | 4 ++--
+ modules.d/90dm/module-setup.sh | 4 ++--
+ modules.d/90dmraid/module-setup.sh | 4 ++--
+ modules.d/90dmsquash-live/module-setup.sh | 4 ++--
+ modules.d/90kernel-modules/module-setup.sh | 4 ++--
+ modules.d/90lvm/module-setup.sh | 2 +-
+ modules.d/90mdraid/module-setup.sh | 4 ++--
+ modules.d/90multipath/module-setup.sh | 4 ++--
+ modules.d/91crypt-gpg/module-setup.sh | 2 +-
+ modules.d/91crypt-loop/module-setup.sh | 2 +-
+ modules.d/95cifs/module-setup.sh | 4 ++--
+ modules.d/95dasd/module-setup.sh | 2 +-
+ modules.d/95dasd_mod/module-setup.sh | 2 +-
+ modules.d/95debug/module-setup.sh | 2 +-
+ modules.d/95fcoe/module-setup.sh | 2 +-
+ modules.d/95iscsi/module-setup.sh | 4 ++--
+ modules.d/95nfs/module-setup.sh | 6 +++---
+ modules.d/95rootfs-block/module-setup.sh | 4 ++--
+ modules.d/95ssh-client/module-setup.sh | 2 +-
+ modules.d/95udev-rules/module-setup.sh | 6 +++---
+ modules.d/95zfcp/module-setup.sh | 2 +-
+ modules.d/95znet/module-setup.sh | 2 +-
+ modules.d/97biosdevname/module-setup.sh | 2 +-
+ modules.d/97masterkey/module-setup.sh | 2 +-
+ modules.d/98selinux/module-setup.sh | 2 +-
+ modules.d/98syslog/module-setup.sh | 2 +-
+ modules.d/98systemd/module-setup.sh | 8 ++++----
+ modules.d/99base/module-setup.sh | 10 ++++-----
+ modules.d/99fs-lib/module-setup.sh | 2 +-
+ modules.d/99img-lib/module-setup.sh | 4 ++--
+ modules.d/99shutdown/module-setup.sh | 4 ++--
+ test/TEST-01-BASIC/test.sh | 12 +++++------
+ test/TEST-02-SYSTEMD/test.sh | 12 +++++------
+ test/TEST-03-USR-MOUNT/test.sh | 12 +++++------
+ test/TEST-04-FULL-SYSTEMD/test.sh | 26 ++++++++++++------------
+ test/TEST-10-RAID/test.sh | 14 ++++++-------
+ test/TEST-11-LVM/test.sh | 12 +++++------
+ test/TEST-12-RAID-DEG/test.sh | 12 +++++------
+ test/TEST-13-ENC-RAID-LVM/test.sh | 12 +++++------
+ test/TEST-15-BTRFSRAID/test.sh | 12 +++++------
+ test/TEST-16-DMSQUASH/test.sh | 10 ++++-----
+ test/TEST-20-NFS/test.sh | 22 ++++++++++----------
+ test/TEST-30-ISCSI/test.sh | 20 +++++++++---------
+ test/TEST-40-NBD/test.sh | 20 +++++++++---------
+ test/TEST-50-MULTINIC/test.sh | 24 +++++++++++-----------
+ test/old.TEST-14-IMSM/test.sh | 12 +++++------
+ 64 files changed, 206 insertions(+), 202 deletions(-)
+
+diff --git a/dracut-functions.sh b/dracut-functions.sh
+index c0a12cd..fbe0633 100755
+--- a/dracut-functions.sh
++++ b/dracut-functions.sh
+@@ -622,7 +622,7 @@ inst_symlink() {
+ (($? != 0)) && derror $DRACUT_INSTALL ${initdir+-D "$initdir"} ${DRACUT_RESOLVE_DEPS+-l} ${DRACUT_FIPS_MODE+-H} "$@" || :
+ }
+
+-dracut_install() {
++inst_multiple() {
+ local ret
+ #dinfo "initdir=$initdir $DRACUT_INSTALL -l $@"
+ $DRACUT_INSTALL ${initdir+-D "$initdir"} -a ${DRACUT_RESOLVE_DEPS+-l} ${DRACUT_FIPS_MODE+-H} "$@"
+@@ -631,6 +631,10 @@ dracut_install() {
+ return $ret
+ }
+
++dracut_install() {
++ inst_multiple "$@"
++}
++
+ inst_library() {
+ [[ -e ${initdir}/"${2:-$1}" ]] && return 0 # already there
+ [[ -e $1 ]] || return 1 # no source
+@@ -689,7 +693,7 @@ inst_rule_programs() {
+ }
+ fi
+
+- [[ $_bin ]] && dracut_install "$_bin"
++ [[ $_bin ]] && inst_binary "$_bin"
+ done
+ fi
+ if grep -qE 'RUN[+=]=?"[^ "]+' "$1"; then
+@@ -704,7 +708,7 @@ inst_rule_programs() {
+ }
+ fi
+
+- [[ $_bin ]] && dracut_install "$_bin"
++ [[ $_bin ]] && inst_binary "$_bin"
+ done
+ fi
+ if grep -qE 'IMPORT\{program\}==?"[^ "]+' "$1"; then
+@@ -878,7 +882,7 @@ inst_libdir_file() {
+ done
+ done
+ fi
+- [[ $_files ]] && dracut_install $_files
++ [[ $_files ]] && inst_multiple $_files
+ }
+
+
+diff --git a/dracut.asc b/dracut.asc
+index dfad67e..e0431dc 100644
+--- a/dracut.asc
++++ b/dracut.asc
+@@ -967,7 +967,7 @@ depends on.
+
+ === install()
+
+-dracut_install
++inst_multiple
+
+ inst
+
+diff --git a/dracut.sh b/dracut.sh
+index c35d771..e119bd2 100755
+--- a/dracut.sh
++++ b/dracut.sh
+@@ -1107,7 +1107,7 @@ if [[ $no_kernel != yes ]]; then
+ fi
+
+ if [[ $kernel_only != yes ]]; then
+- (( ${#install_items[@]} > 0 )) && dracut_install ${install_items[@]}
++ (( ${#install_items[@]} > 0 )) && inst_multiple ${install_items[@]}
+
+ [[ $kernel_cmdline ]] && printf "%s\n" "$kernel_cmdline" >> "${initdir}/etc/cmdline.d/01-default.conf"
+
+@@ -1182,10 +1182,10 @@ PRELINK_BIN="$(command -v prelink)"
+ if [[ $UID = 0 ]] && [[ $PRELINK_BIN ]]; then
+ if [[ $DRACUT_FIPS_MODE ]]; then
+ dinfo "*** Installing prelink files ***"
+- dracut_install -o prelink /etc/prelink.conf /etc/prelink.conf.d/*.conf /etc/prelink.cache
++ inst_multiple -o prelink /etc/prelink.conf /etc/prelink.conf.d/*.conf /etc/prelink.cache
+ else
+ dinfo "*** Pre-linking files ***"
+- dracut_install -o prelink /etc/prelink.conf /etc/prelink.conf.d/*.conf
++ inst_multiple -o prelink /etc/prelink.conf /etc/prelink.conf.d/*.conf
+ chroot "$initdir" "$PRELINK_BIN" -a
+ rm -f -- "$initdir/$PRELINK_BIN"
+ rm -fr -- "$initdir"/etc/prelink.*
+diff --git a/modules.d/00bootchart/module-setup.sh b/modules.d/00bootchart/module-setup.sh
+index 8a9f470..72b6063 100755
+--- a/modules.d/00bootchart/module-setup.sh
++++ b/modules.d/00bootchart/module-setup.sh
+@@ -16,7 +16,7 @@ install() {
+ inst_symlink /init /sbin/init
+ inst_dir /lib/bootchart/tmpfs
+
+- dracut_install bootchartd bash \
++ inst_multiple bootchartd bash \
+ /lib/bootchart/bootchart-collector /etc/bootchartd.conf \
+ accton \
+ echo \
+diff --git a/modules.d/00systemd-bootchart/module-setup.sh b/modules.d/00systemd-bootchart/module-setup.sh
+index 74935a9..3eb4de1 100755
+--- a/modules.d/00systemd-bootchart/module-setup.sh
++++ b/modules.d/00systemd-bootchart/module-setup.sh
+@@ -14,5 +14,5 @@ depends() {
+
+ install() {
+ inst_symlink /init /sbin/init
+- dracut_install $systemdutildir/systemd-bootchart
++ inst_multiple $systemdutildir/systemd-bootchart
+ }
+diff --git a/modules.d/01fips/module-setup.sh b/modules.d/01fips/module-setup.sh
+index 6013318..d08e3f7 100755
+--- a/modules.d/01fips/module-setup.sh
++++ b/modules.d/01fips/module-setup.sh
+@@ -34,12 +34,12 @@ install() {
+ inst_hook pre-pivot 01 "$moddir/fips-noboot.sh"
+ inst_script "$moddir/fips.sh" /sbin/fips.sh
+
+- dracut_install sha512hmac rmmod insmod mount uname umount fipscheck
++ inst_multiple sha512hmac rmmod insmod mount uname umount fipscheck
+
+ inst_libdir_file libsoftokn3.so libsoftokn3.so \
+ libsoftokn3.chk libfreebl3.so libfreebl3.chk \
+ libssl.so 'hmaccalc/sha512hmac.hmac' libssl.so.10
+
+- dracut_install -o prelink
++ inst_multiple -o prelink
+ }
+
+diff --git a/modules.d/03rescue/module-setup.sh b/modules.d/03rescue/module-setup.sh
+index 3f10b7c..72a4287 100755
+--- a/modules.d/03rescue/module-setup.sh
++++ b/modules.d/03rescue/module-setup.sh
+@@ -12,7 +12,7 @@ depends() {
+ }
+
+ install() {
+- dracut_install -o ps grep more cat rm strace free showmount \
++ inst_multiple -o ps grep more cat rm strace free showmount \
+ ping netstat rpcinfo vi scp ping6 ssh \
+ fsck fsck.ext2 fsck.ext4 fsck.ext3 fsck.ext4dev fsck.vfat e2fsck
+ }
+diff --git a/modules.d/04watchdog/module-setup.sh b/modules.d/04watchdog/module-setup.sh
+index 5eff390..b7725ef 100755
+--- a/modules.d/04watchdog/module-setup.sh
++++ b/modules.d/04watchdog/module-setup.sh
+@@ -23,6 +23,6 @@ install() {
+ inst_hook cleanup 00 "$moddir/watchdog.sh"
+ inst_hook cleanup 99 "$moddir/watchdog.sh"
+ inst_hook emergency 02 "$moddir/watchdog-stop.sh"
+- dracut_install -o wdctl
++ inst_multiple -o wdctl
+ }
+
+diff --git a/modules.d/10i18n/module-setup.sh b/modules.d/10i18n/module-setup.sh
+index e7e5a1c..be9d90b 100755
+--- a/modules.d/10i18n/module-setup.sh
++++ b/modules.d/10i18n/module-setup.sh
+@@ -21,7 +21,7 @@ install() {
+ [[ $FONT ]] || [[ $KEYMAP ]] || return 0
+ fi
+
+- dracut_install -o $systemdutildir/systemd-vconsole-setup
++ inst_multiple -o $systemdutildir/systemd-vconsole-setup
+ KBDSUBDIRS=consolefonts,consoletrans,keymaps,unimaps
+ DEFAULT_FONT="${i18n_default_font:-LatArCyrHeb-16}"
+ I18N_CONF="/etc/locale.conf"
+@@ -93,7 +93,7 @@ install() {
+ }
+
+ install_base() {
+- dracut_install setfont loadkeys kbd_mode stty
++ inst_multiple setfont loadkeys kbd_mode stty
+
+ if ! dracut_module_included "systemd"; then
+ inst ${moddir}/console_init.sh /lib/udev/console_init
+@@ -115,12 +115,12 @@ install() {
+ find "${initdir}${kbddir}/" -name README\* -delete
+ find "${initdir}${kbddir}/" -name '*.gz' -print -quit \
+ | while read line; do
+- dracut_install gzip
++ inst_multiple gzip
+ done
+
+ find "${initdir}${kbddir}/" -name '*.bz2' -print -quit \
+ | while read line; do
+- dracut_install bzip2
++ inst_multiple bzip2
+ done
+ }
+
+diff --git a/modules.d/30convertfs/module-setup.sh b/modules.d/30convertfs/module-setup.sh
+index d87e935..9efd5dd 100755
+--- a/modules.d/30convertfs/module-setup.sh
++++ b/modules.d/30convertfs/module-setup.sh
+@@ -12,7 +12,7 @@ depends() {
+ }
+
+ install() {
+- dracut_install bash find ldconfig mv rm cp ln
++ inst_multiple bash find ldconfig mv rm cp ln
+ inst_hook pre-pivot 99 "$moddir/do-convertfs.sh"
+ inst_script "$moddir/convertfs.sh" /usr/bin/convertfs
+ }
+diff --git a/modules.d/40network/module-setup.sh b/modules.d/40network/module-setup.sh
+index bd2542d..a5f635d 100755
+--- a/modules.d/40network/module-setup.sh
++++ b/modules.d/40network/module-setup.sh
+@@ -70,10 +70,10 @@ installkernel() {
+
+ install() {
+ local _arch _i _dir
+- dracut_install ip arping dhclient sed
+- dracut_install -o ping ping6
+- dracut_install -o brctl
+- dracut_install -o teamd teamdctl teamnl
++ inst_multiple ip arping dhclient sed
++ inst_multiple -o ping ping6
++ inst_multiple -o brctl
++ inst_multiple -o teamd teamdctl teamnl
+ inst_simple /etc/libnl/classid
+ inst_script "$moddir/ifup.sh" "/sbin/ifup"
+ inst_script "$moddir/netroot.sh" "/sbin/netroot"
+diff --git a/modules.d/45url-lib/module-setup.sh b/modules.d/45url-lib/module-setup.sh
+index 3e82548..b5cf36f 100755
+--- a/modules.d/45url-lib/module-setup.sh
++++ b/modules.d/45url-lib/module-setup.sh
+@@ -14,7 +14,7 @@ depends() {
+ install() {
+ local _dir _crt _found _lib
+ inst_simple "$moddir/url-lib.sh" "/lib/url-lib.sh"
+- dracut_install curl
++ inst_multiple curl
+ # also install libs for curl https
+ inst_libdir_file "libnsspem.so*"
+ inst_libdir_file "libnsssysinit.so*"
+diff --git a/modules.d/50gensplash/module-setup.sh b/modules.d/50gensplash/module-setup.sh
+index 29b93cd..cfee55a 100755
+--- a/modules.d/50gensplash/module-setup.sh
++++ b/modules.d/50gensplash/module-setup.sh
+@@ -71,7 +71,7 @@ install() {
+ mv dev.old dev
+ popd >/dev/null
+
+- dracut_install chvt
++ inst_multiple chvt
+ inst /usr/share/splashutils/initrd.splash /lib/gensplash-lib.sh
+ inst_hook pre-pivot 90 "${moddir}"/gensplash-newroot.sh
+ inst_hook pre-trigger 10 "${moddir}"/gensplash-pretrigger.sh
+diff --git a/modules.d/50plymouth/module-setup.sh b/modules.d/50plymouth/module-setup.sh
+index ae35b11..e0e6936 100755
+--- a/modules.d/50plymouth/module-setup.sh
++++ b/modules.d/50plymouth/module-setup.sh
+@@ -22,7 +22,7 @@ install() {
+
+ inst_hook emergency 50 "$moddir"/plymouth-emergency.sh
+
+- dracut_install readlink
++ inst_multiple readlink
+
+ if ! dracut_module_included "systemd"; then
+ inst_hook pre-trigger 10 "$moddir"/plymouth-pretrigger.sh
+diff --git a/modules.d/50plymouth/plymouth-populate-initrd.sh b/modules.d/50plymouth/plymouth-populate-initrd.sh
+index 6e0f561..f8ef519 100755
+--- a/modules.d/50plymouth/plymouth-populate-initrd.sh
++++ b/modules.d/50plymouth/plymouth-populate-initrd.sh
+@@ -4,7 +4,7 @@
+ PLYMOUTH_LOGO_FILE="/usr/share/pixmaps/system-logo-white.png"
+ PLYMOUTH_THEME=$(plymouth-set-default-theme)
+
+-dracut_install plymouthd plymouth \
++inst_multiple plymouthd plymouth \
+ "${PLYMOUTH_LOGO_FILE}" \
+ /etc/system-release
+
+@@ -13,7 +13,7 @@ mkdir -m 0755 -p "${initdir}/usr/share/plymouth"
+ inst_libdir_file "plymouth/text.so" "plymouth/details.so"
+
+ if [[ $hostonly ]]; then
+- dracut_install \
++ inst_multiple \
+ "/usr/share/plymouth/themes/details/details.plymouth" \
+ "/usr/share/plymouth/themes/text/text.plymouth" \
+
+@@ -35,7 +35,7 @@ else
+ [[ -f "$x" ]] || continue
+ THEME_DIR=$(dirname "$x")
+ mkdir -m 0755 -p "${initdir}/$THEME_DIR"
+- dracut_install "$x"
++ inst_multiple "$x"
+ done
+ (
+ cd ${initdir}/usr/share/plymouth/themes;
+diff --git a/modules.d/80cms/module-setup.sh b/modules.d/80cms/module-setup.sh
+index dcba4c6..c99f236 100755
+--- a/modules.d/80cms/module-setup.sh
++++ b/modules.d/80cms/module-setup.sh
+@@ -23,7 +23,7 @@ install() {
+ inst_hook pre-trigger 30 "$moddir/cmssetup.sh"
+ inst_hook pre-pivot 95 "$moddir/cms-write-ifcfg.sh"
+ inst_script "$moddir/cmsifup.sh" /sbin/cmsifup
+- dracut_install /etc/cmsfs-fuse/filetypes.conf /etc/udev/rules.d/99-fuse.rules /etc/fuse.conf \
++ inst_multiple /etc/cmsfs-fuse/filetypes.conf /etc/udev/rules.d/99-fuse.rules /etc/fuse.conf \
+ cmsfs-fuse fusermount ulockmgr_server bash insmod rmmod cat normalize_dasd_arg sed \
+ $(rpm -ql s390utils-base)
+
+diff --git a/modules.d/90bcache/module-setup.sh b/modules.d/90bcache/module-setup.sh
+index fb881cc..3bb03f4 100755
+--- a/modules.d/90bcache/module-setup.sh
++++ b/modules.d/90bcache/module-setup.sh
+@@ -24,7 +24,7 @@ installkernel() {
+ }
+
+ install() {
+- dracut_install probe-bcache ${udevdir}/bcache-register
++ inst_multiple probe-bcache ${udevdir}/bcache-register
+ inst_rules 61-bcache.rules
+ }
+
+diff --git a/modules.d/90btrfs/module-setup.sh b/modules.d/90btrfs/module-setup.sh
+index e1c8577..638a050 100755
+--- a/modules.d/90btrfs/module-setup.sh
++++ b/modules.d/90btrfs/module-setup.sh
+@@ -43,7 +43,7 @@ install() {
+ /usr/lib/dracut/hooks/initqueue/timeout/btrfs_timeout.sh
+ fi
+
+- dracut_install -o btrfsck btrfs-zero-log
++ inst_multiple -o btrfsck btrfs-zero-log
+ inst $(command -v btrfs) /sbin/btrfs
+ }
+
+diff --git a/modules.d/90crypt/module-setup.sh b/modules.d/90crypt/module-setup.sh
+index 6b32b6a..975f115 100755
+--- a/modules.d/90crypt/module-setup.sh
++++ b/modules.d/90crypt/module-setup.sh
+@@ -48,7 +48,7 @@ install() {
+
+ for_each_host_dev_fs check_crypt
+
+- dracut_install cryptsetup rmdir readlink umount
++ inst_multiple cryptsetup rmdir readlink umount
+ inst_script "$moddir"/cryptroot-ask.sh /sbin/cryptroot-ask
+ inst_script "$moddir"/probe-keydev.sh /sbin/probe-keydev
+ inst_hook cmdline 10 "$moddir/parse-keydev.sh"
+@@ -78,7 +78,7 @@ install() {
+
+ inst_simple "$moddir/crypt-lib.sh" "/lib/dracut-crypt-lib.sh"
+
+- dracut_install -o \
++ inst_multiple -o \
+ $systemdutildir/system-generators/systemd-cryptsetup-generator \
+ $systemdutildir/system-generators/systemd-cryptsetup-generator \
+ $systemdutildir/systemd-cryptsetup \
+diff --git a/modules.d/90dm/module-setup.sh b/modules.d/90dm/module-setup.sh
+index 5576b02..fa38e85 100755
+--- a/modules.d/90dm/module-setup.sh
++++ b/modules.d/90dm/module-setup.sh
+@@ -20,8 +20,8 @@ install() {
+ modinfo -k $kernel dm_mod >/dev/null 2>&1 && \
+ inst_hook pre-udev 30 "$moddir/dm-pre-udev.sh"
+
+- dracut_install dmsetup
+- dracut_install -o dmeventd
++ inst_multiple dmsetup
++ inst_multiple -o dmeventd
+
+ inst_libdir_file "libdevmapper-event.so*"
+
+diff --git a/modules.d/90dmraid/module-setup.sh b/modules.d/90dmraid/module-setup.sh
+index 76daa4a..cea7bd8 100755
+--- a/modules.d/90dmraid/module-setup.sh
++++ b/modules.d/90dmraid/module-setup.sh
+@@ -57,8 +57,8 @@ install() {
+
+ for_each_host_dev_fs check_dmraid
+
+- dracut_install dmraid
+- dracut_install -o kpartx
++ inst_multiple dmraid
++ inst_multiple -o kpartx
+ inst $(command -v partx) /sbin/partx
+
+ inst "$moddir/dmraid.sh" /sbin/dmraid_scan
+diff --git a/modules.d/90dmsquash-live/module-setup.sh b/modules.d/90dmsquash-live/module-setup.sh
+index 5b283d1..c6d1f9d 100755
+--- a/modules.d/90dmsquash-live/module-setup.sh
++++ b/modules.d/90dmsquash-live/module-setup.sh
+@@ -20,8 +20,8 @@ installkernel() {
+ }
+
+ install() {
+- dracut_install umount dmsetup blkid dd losetup grep blockdev
+- dracut_install -o checkisomd5
++ inst_multiple umount dmsetup blkid dd losetup grep blockdev
++ inst_multiple -o checkisomd5
+ inst_hook cmdline 30 "$moddir/parse-dmsquash-live.sh"
+ inst_hook cmdline 31 "$moddir/parse-iso-scan.sh"
+ inst_hook pre-udev 30 "$moddir/dmsquash-live-genrules.sh"
+diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh
+index 0e7a9a1..e7e2ca0 100755
+--- a/modules.d/90kernel-modules/module-setup.sh
++++ b/modules.d/90kernel-modules/module-setup.sh
+@@ -74,8 +74,8 @@ installkernel() {
+ }
+
+ install() {
+- dracut_install -o /lib/modprobe.d/*.conf
+- [[ $hostonly ]] && dracut_install -o /etc/modprobe.d/*.conf /etc/modprobe.conf
++ inst_multiple -o /lib/modprobe.d/*.conf
++ [[ $hostonly ]] && inst_multiple -o /etc/modprobe.d/*.conf /etc/modprobe.conf
+ if ! dracut_module_included "systemd"; then
+ inst_hook cmdline 01 "$moddir/parse-kernel.sh"
+ fi
+diff --git a/modules.d/90lvm/module-setup.sh b/modules.d/90lvm/module-setup.sh
+index d714c13..00eb66d 100755
+--- a/modules.d/90lvm/module-setup.sh
++++ b/modules.d/90lvm/module-setup.sh
+@@ -74,7 +74,7 @@ install() {
+ inst_libdir_file "libdevmapper-event-lvm*.so"
+
+ if [[ $_needthin ]]; then
+- dracut_install -o thin_dump thin_restore thin_check
++ inst_multiple -o thin_dump thin_restore thin_check
+ fi
+
+ }
+diff --git a/modules.d/90mdraid/module-setup.sh b/modules.d/90mdraid/module-setup.sh
+index 8d63028..b44ce50 100755
+--- a/modules.d/90mdraid/module-setup.sh
++++ b/modules.d/90mdraid/module-setup.sh
+@@ -27,8 +27,8 @@ installkernel() {
+ }
+
+ install() {
+- dracut_install cat
+- dracut_install -o mdmon
++ inst_multiple cat
++ inst_multiple -o mdmon
+ inst $(command -v partx) /sbin/partx
+ inst $(command -v mdadm) /sbin/mdadm
+
+diff --git a/modules.d/90multipath/module-setup.sh b/modules.d/90multipath/module-setup.sh
+index 28fc48d..6cdc511 100755
+--- a/modules.d/90multipath/module-setup.sh
++++ b/modules.d/90multipath/module-setup.sh
+@@ -69,7 +69,7 @@ installkernel() {
+
+ install() {
+ local _f
+- dracut_install -o \
++ inst_multiple -o \
+ dmsetup \
+ kpartx \
+ mpath_wait \
+@@ -87,7 +87,7 @@ install() {
+ inst_libdir_file "libmultipath*" "multipath/*"
+
+ if dracut_module_included "systemd"; then
+- dracut_install \
++ inst_multiple \
+ $systemdsystemunitdir/multipathd.service
+ mkdir -p "${initdir}${systemdsystemconfdir}/sysinit.target.wants"
+ ln -rfs "${initdir}${systemdsystemunitdir}/multipathd.service" "${initdir}${systemdsystemconfdir}/sysinit.target.wants/multipathd.service"
+diff --git a/modules.d/91crypt-gpg/module-setup.sh b/modules.d/91crypt-gpg/module-setup.sh
+index 3adb3a6..43a5a00 100755
+--- a/modules.d/91crypt-gpg/module-setup.sh
++++ b/modules.d/91crypt-gpg/module-setup.sh
+@@ -14,6 +14,6 @@ depends() {
+ }
+
+ install() {
+- dracut_install gpg
++ inst_multiple gpg
+ inst "$moddir/crypt-gpg-lib.sh" "/lib/dracut-crypt-gpg-lib.sh"
+ }
+diff --git a/modules.d/91crypt-loop/module-setup.sh b/modules.d/91crypt-loop/module-setup.sh
+index 218d27a..c14fd45 100644
+--- a/modules.d/91crypt-loop/module-setup.sh
++++ b/modules.d/91crypt-loop/module-setup.sh
+@@ -13,7 +13,7 @@ installkernel() {
+ }
+
+ install() {
+- dracut_install losetup
++ inst_multiple losetup
+ inst "$moddir/crypt-loop-lib.sh" "/lib/dracut-crypt-loop-lib.sh"
+ dracut_need_initqueue
+ }
+diff --git a/modules.d/95cifs/module-setup.sh b/modules.d/95cifs/module-setup.sh
+index bf0eddf..c17b973 100755
+--- a/modules.d/95cifs/module-setup.sh
++++ b/modules.d/95cifs/module-setup.sh
+@@ -28,8 +28,8 @@ installkernel() {
+ install() {
+ local _i
+ local _nsslibs
+- dracut_install -o mount.cifs
+- dracut_install /etc/services /etc/nsswitch.conf /etc/protocols
++ inst_multiple -o mount.cifs
++ inst_multiple /etc/services /etc/nsswitch.conf /etc/protocols
+
+ inst_libdir_file 'libcap-ng.so*'
+
+diff --git a/modules.d/95dasd/module-setup.sh b/modules.d/95dasd/module-setup.sh
+index 62bf18c..3b8396d 100755
+--- a/modules.d/95dasd/module-setup.sh
++++ b/modules.d/95dasd/module-setup.sh
+@@ -18,7 +18,7 @@ installkernel() {
+
+ install() {
+ inst_hook cmdline 30 "$moddir/parse-dasd.sh"
+- dracut_install dasdinfo dasdconf.sh normalize_dasd_arg
++ inst_multiple dasdinfo dasdconf.sh normalize_dasd_arg
+ if [[ $hostonly ]]; then
+ inst /etc/dasd.conf
+ fi
+diff --git a/modules.d/95dasd_mod/module-setup.sh b/modules.d/95dasd_mod/module-setup.sh
+index 2c98fff..9c9eeea 100755
+--- a/modules.d/95dasd_mod/module-setup.sh
++++ b/modules.d/95dasd_mod/module-setup.sh
+@@ -19,6 +19,6 @@ installkernel() {
+
+ install() {
+ inst_hook cmdline 31 "$moddir/parse-dasd-mod.sh"
+- dracut_install dasd_cio_free grep sed seq
++ inst_multiple dasd_cio_free grep sed seq
+ }
+
+diff --git a/modules.d/95debug/module-setup.sh b/modules.d/95debug/module-setup.sh
+index f8be7a5..1a554c6 100755
+--- a/modules.d/95debug/module-setup.sh
++++ b/modules.d/95debug/module-setup.sh
+@@ -12,7 +12,7 @@ depends() {
+ }
+
+ install() {
+- dracut_install -o ps grep more cat rm strace free showmount \
++ inst_multiple -o ps grep more cat rm strace free showmount \
+ ping netstat rpcinfo vi scp ping6 ssh \
+ fsck fsck.ext2 fsck.ext4 fsck.ext3 fsck.ext4dev fsck.vfat e2fsck
+
+diff --git a/modules.d/95fcoe/module-setup.sh b/modules.d/95fcoe/module-setup.sh
+index 227035f..d3c58cc 100755
+--- a/modules.d/95fcoe/module-setup.sh
++++ b/modules.d/95fcoe/module-setup.sh
+@@ -25,7 +25,7 @@ installkernel() {
+ }
+
+ install() {
+- dracut_install ip dcbtool fipvlan lldpad readlink
++ inst_multiple ip dcbtool fipvlan lldpad readlink
+
+ mkdir -m 0755 -p "$initdir/var/lib/lldpad"
+
+diff --git a/modules.d/95iscsi/module-setup.sh b/modules.d/95iscsi/module-setup.sh
+index a9afefd..3f817ec 100755
+--- a/modules.d/95iscsi/module-setup.sh
++++ b/modules.d/95iscsi/module-setup.sh
+@@ -75,8 +75,8 @@ installkernel() {
+ }
+
+ install() {
+- dracut_install umount iscsistart hostname iscsi-iname
+- dracut_install -o iscsiuio
++ inst_multiple umount iscsistart hostname iscsi-iname
++ inst_multiple -o iscsiuio
+ inst_hook cmdline 90 "$moddir/parse-iscsiroot.sh"
+ inst_hook cleanup 90 "$moddir/cleanup-iscsi.sh"
+ inst "$moddir/iscsiroot.sh" "/sbin/iscsiroot"
+diff --git a/modules.d/95nfs/module-setup.sh b/modules.d/95nfs/module-setup.sh
+index 6d4d412..75beb74 100755
+--- a/modules.d/95nfs/module-setup.sh
++++ b/modules.d/95nfs/module-setup.sh
+@@ -31,12 +31,12 @@ installkernel() {
+ install() {
+ local _i
+ local _nsslibs
+- dracut_install -o portmap rpcbind rpc.statd mount.nfs \
++ inst_multiple -o portmap rpcbind rpc.statd mount.nfs \
+ mount.nfs4 umount rpc.idmapd sed /etc/netconfig
+- dracut_install /etc/services /etc/nsswitch.conf /etc/rpc /etc/protocols /etc/idmapd.conf
++ inst_multiple /etc/services /etc/nsswitch.conf /etc/rpc /etc/protocols /etc/idmapd.conf
+
+ if [ -f /lib/modprobe.d/nfs.conf ]; then
+- dracut_install /lib/modprobe.d/nfs.conf
++ inst_multiple /lib/modprobe.d/nfs.conf
+ else
+ [ -d $initdir/etc/modprobe.d/ ] || mkdir $initdir/etc/modprobe.d
+ echo "alias nfs4 nfs" > $initdir/etc/modprobe.d/nfs.conf
+diff --git a/modules.d/95rootfs-block/module-setup.sh b/modules.d/95rootfs-block/module-setup.sh
+index 6167beb..d2e1019 100755
+--- a/modules.d/95rootfs-block/module-setup.sh
++++ b/modules.d/95rootfs-block/module-setup.sh
+@@ -30,8 +30,8 @@ depends() {
+ }
+
+ install() {
+- dracut_install umount
+- dracut_install tr
++ inst_multiple umount
++ inst_multiple tr
+ if ! dracut_module_included "systemd"; then
+ inst_hook cmdline 95 "$moddir/parse-block.sh"
+ inst_hook pre-udev 30 "$moddir/block-genrules.sh"
+diff --git a/modules.d/95ssh-client/module-setup.sh b/modules.d/95ssh-client/module-setup.sh
+index 536c8d0..66e5307 100755
+--- a/modules.d/95ssh-client/module-setup.sh
++++ b/modules.d/95ssh-client/module-setup.sh
+@@ -47,7 +47,7 @@ inst_sshenv()
+ }
+
+ install() {
+- dracut_install ssh scp
++ inst_multiple ssh scp
+ inst_sshenv
+ }
+
+diff --git a/modules.d/95udev-rules/module-setup.sh b/modules.d/95udev-rules/module-setup.sh
+index 1e9a055..2cdcc1b 100755
+--- a/modules.d/95udev-rules/module-setup.sh
++++ b/modules.d/95udev-rules/module-setup.sh
+@@ -8,7 +8,7 @@ install() {
+ # Fixme: would be nice if we didn't have to know which rules to grab....
+ # ultimately, /lib/initramfs/rules.d or somesuch which includes links/copies
+ # of the rules we want so that we just copy those in would be best
+- dracut_install udevadm cat uname blkid \
++ inst_multiple udevadm cat uname blkid \
+ /etc/udev/udev.conf
+
+ [ -d ${initdir}/$systemdutildir ] || mkdir -p ${initdir}/$systemdutildir
+@@ -54,7 +54,7 @@ install() {
+ done
+ } >> "$initdir/etc/group"
+
+- dracut_install -o \
++ inst_multiple -o \
+ ${udevdir}/ata_id \
+ ${udevdir}/cdrom_id \
+ ${udevdir}/create_floppy_devices \
+@@ -72,7 +72,7 @@ install() {
+ ${udevdir}/pcmcia-socket-startup \
+ ${udevdir}/pcmcia-check-broken-cis
+
+- dracut_install -o /etc/pcmcia/config.opts
++ inst_multiple -o /etc/pcmcia/config.opts
+
+ [ -f /etc/arch-release ] && \
+ inst_script "$moddir/load-modules.sh" /lib/udev/load-modules.sh
+diff --git a/modules.d/95zfcp/module-setup.sh b/modules.d/95zfcp/module-setup.sh
+index fc8f422..9906695 100755
+--- a/modules.d/95zfcp/module-setup.sh
++++ b/modules.d/95zfcp/module-setup.sh
+@@ -22,7 +22,7 @@ installkernel() {
+
+ install() {
+ inst_hook cmdline 30 "$moddir/parse-zfcp.sh"
+- dracut_install zfcp_cio_free grep sed seq
++ inst_multiple zfcp_cio_free grep sed seq
+
+ inst_script /sbin/zfcpconf.sh
+ inst_rules 56-zfcp.rules
+diff --git a/modules.d/95znet/module-setup.sh b/modules.d/95znet/module-setup.sh
+index 406d139..16f8493 100755
+--- a/modules.d/95znet/module-setup.sh
++++ b/modules.d/95znet/module-setup.sh
+@@ -20,6 +20,6 @@ installkernel() {
+ install() {
+ inst_hook cmdline 30 "$moddir/parse-ccw.sh"
+ inst_rules 81-ccw.rules
+- dracut_install znet_cio_free grep sed seq readlink /lib/udev/ccw_init
++ inst_multiple znet_cio_free grep sed seq readlink /lib/udev/ccw_init
+ }
+
+diff --git a/modules.d/97biosdevname/module-setup.sh b/modules.d/97biosdevname/module-setup.sh
+index 4d492a9..4a0b4f4 100755
+--- a/modules.d/97biosdevname/module-setup.sh
++++ b/modules.d/97biosdevname/module-setup.sh
+@@ -13,7 +13,7 @@ depends() {
+ }
+
+ install() {
+- dracut_install biosdevname
++ inst_multiple biosdevname
+ inst_rules 71-biosdevname.rules
+ }
+
+diff --git a/modules.d/97masterkey/module-setup.sh b/modules.d/97masterkey/module-setup.sh
+index fe6d5f4..a94c4f5 100755
+--- a/modules.d/97masterkey/module-setup.sh
++++ b/modules.d/97masterkey/module-setup.sh
+@@ -19,6 +19,6 @@ installkernel() {
+ }
+
+ install() {
+- dracut_install keyctl uname
++ inst_multiple keyctl uname
+ inst_hook pre-pivot 60 "$moddir/masterkey.sh"
+ }
+diff --git a/modules.d/98selinux/module-setup.sh b/modules.d/98selinux/module-setup.sh
+index 78e8cf8..4d5147b 100755
+--- a/modules.d/98selinux/module-setup.sh
++++ b/modules.d/98selinux/module-setup.sh
+@@ -12,6 +12,6 @@ depends() {
+
+ install() {
+ inst_hook pre-pivot 50 "$moddir/selinux-loadpolicy.sh"
+- dracut_install setenforce
++ inst_multiple setenforce
+ }
+
+diff --git a/modules.d/98syslog/module-setup.sh b/modules.d/98syslog/module-setup.sh
+index f73c2c8..daa9021 100755
+--- a/modules.d/98syslog/module-setup.sh
++++ b/modules.d/98syslog/module-setup.sh
+@@ -26,7 +26,7 @@ install() {
+ "is selected to be installed. Please check."
+ fi
+ if [ -n "$_installs" ]; then
+- dracut_install cat $_installs
++ inst_multiple cat $_installs
+ inst_hook cmdline 90 "$moddir/parse-syslog-opts.sh"
+ inst_hook pre-udev 61 "$moddir/syslog-genrules.sh"
+ inst_hook cleanup 99 "$moddir/syslog-cleanup.sh"
+diff --git a/modules.d/98systemd/module-setup.sh b/modules.d/98systemd/module-setup.sh
+index 8775fd2..a5ac2a5 100755
+--- a/modules.d/98systemd/module-setup.sh
++++ b/modules.d/98systemd/module-setup.sh
+@@ -25,7 +25,7 @@ install() {
+ exit 1
+ fi
+
+- dracut_install -o \
++ inst_multiple -o \
+ $systemdutildir/systemd \
+ $systemdutildir/systemd-cgroups-agent \
+ $systemdutildir/systemd-shutdown \
+@@ -111,7 +111,7 @@ install() {
+ \
+ journalctl systemctl echo swapoff systemd-cgls systemd-tmpfiles
+
+- dracut_install -o \
++ inst_multiple -o \
+ /usr/lib/modules-load.d/*.conf \
+ /usr/lib/sysctl.d/*.conf
+
+@@ -136,7 +136,7 @@ install() {
+ [[ $_mods ]] && instmods $_mods
+
+ if [[ $hostonly ]]; then
+- dracut_install -o \
++ inst_multiple -o \
+ /etc/systemd/journald.conf \
+ /etc/systemd/system.conf \
+ /etc/hostname \
+@@ -156,7 +156,7 @@ install() {
+ fi
+
+ # install adm user/group for journald
+- dracut_install nologin
++ inst_multiple nologin
+ egrep '^systemd-journal:' "$initdir/etc/passwd" 2>/dev/null >> "$initdir/etc/passwd"
+ egrep '^systemd-journal:' /etc/group >> "$initdir/etc/group"
+
+diff --git a/modules.d/99base/module-setup.sh b/modules.d/99base/module-setup.sh
+index 842dde6..f217ccb 100755
+--- a/modules.d/99base/module-setup.sh
++++ b/modules.d/99base/module-setup.sh
+@@ -14,14 +14,14 @@ depends() {
+ install() {
+ local _d
+
+- dracut_install mount mknod mkdir sleep chroot \
++ inst_multiple mount mknod mkdir sleep chroot \
+ sed ls flock cp mv dmesg rm ln rmmod mkfifo umount readlink setsid
+ inst $(command -v modprobe) /sbin/modprobe
+
+- dracut_install -o findmnt less kmod
++ inst_multiple -o findmnt less kmod
+
+ if [ ! -e "${initdir}/bin/sh" ]; then
+- dracut_install bash
++ inst_multiple bash
+ (ln -s bash "${initdir}/bin/sh" || :)
+ fi
+
+@@ -41,7 +41,7 @@ install() {
+
+ mkdir -p ${initdir}/tmp
+
+- dracut_install switch_root || dfatal "Failed to install switch_root"
++ inst_multiple switch_root || dfatal "Failed to install switch_root"
+
+ inst_simple "$moddir/dracut-lib.sh" "/lib/dracut-lib.sh"
+
+@@ -52,7 +52,7 @@ install() {
+ mkdir -p "${initdir}/var"
+
+ if ! dracut_module_included "systemd"; then
+- dracut_install -o $systemdutildir/systemd-timestamp
++ inst_multiple -o $systemdutildir/systemd-timestamp
+ fi
+
+ if [[ $realinitpath ]]; then
+diff --git a/modules.d/99fs-lib/module-setup.sh b/modules.d/99fs-lib/module-setup.sh
+index b04b2cb..9539f63 100755
+--- a/modules.d/99fs-lib/module-setup.sh
++++ b/modules.d/99fs-lib/module-setup.sh
+@@ -80,5 +80,5 @@ install() {
+ inst_simple /etc/e2fsck.conf
+ fi
+
+- dracut_install -o $_helpers
++ inst_multiple -o $_helpers
+ }
+diff --git a/modules.d/99img-lib/module-setup.sh b/modules.d/99img-lib/module-setup.sh
+index ebd0436..28bfc2a 100755
+--- a/modules.d/99img-lib/module-setup.sh
++++ b/modules.d/99img-lib/module-setup.sh
+@@ -13,9 +13,9 @@ depends() {
+ }
+
+ install() {
+- dracut_install tar gzip dd bash
++ inst_multiple tar gzip dd bash
+ # TODO: make this conditional on a cmdline flag / config option
+- dracut_install -o cpio xz bzip2
++ inst_multiple -o cpio xz bzip2
+ inst_simple "$moddir/img-lib.sh" "/lib/img-lib.sh"
+ }
+
+diff --git a/modules.d/99shutdown/module-setup.sh b/modules.d/99shutdown/module-setup.sh
+index fb0b7ad..5361936 100755
+--- a/modules.d/99shutdown/module-setup.sh
++++ b/modules.d/99shutdown/module-setup.sh
+@@ -13,8 +13,8 @@ depends() {
+
+ install() {
+ local _d
+- dracut_install umount poweroff reboot halt losetup
+- dracut_install -o kexec
++ inst_multiple umount poweroff reboot halt losetup
++ inst_multiple -o kexec
+ inst "$moddir/shutdown.sh" "$prefix/shutdown"
+ [ -e "${initdir}/lib" ] || mkdir -m 0755 -p ${initdir}/lib
+ mkdir -m 0755 -p ${initdir}/lib/dracut
+diff --git a/test/TEST-01-BASIC/test.sh b/test/TEST-01-BASIC/test.sh
+index 161fcf3..f857fd4 100755
+--- a/test/TEST-01-BASIC/test.sh
++++ b/test/TEST-01-BASIC/test.sh
+@@ -30,19 +30,19 @@ test_setup() {
+ export initdir=$TESTDIR/overlay/source
+ mkdir -p $initdir
+ . $basedir/dracut-functions.sh
+- dracut_install sh df free ls shutdown poweroff stty cat ps ln ip route \
++ inst_multiple sh df free ls shutdown poweroff stty cat ps ln ip route \
+ mount dmesg ifconfig dhclient mkdir cp ping dhclient \
+ umount strace less setsid
+ for _terminfodir in /lib/terminfo /etc/terminfo /usr/share/terminfo; do
+ [ -f ${_terminfodir}/l/linux ] && break
+ done
+- dracut_install -o ${_terminfodir}/l/linux
++ inst_multiple -o ${_terminfodir}/l/linux
+ inst "$basedir/modules.d/40network/dhclient-script.sh" "/sbin/dhclient-script"
+ inst "$basedir/modules.d/40network/ifup.sh" "/sbin/ifup"
+- dracut_install grep
++ inst_multiple grep
+ inst_simple /etc/os-release
+ inst ./test-init.sh /sbin/init
+- find_binary plymouth >/dev/null && dracut_install plymouth
++ find_binary plymouth >/dev/null && inst_multiple plymouth
+ (cd "$initdir"; mkdir -p dev sys proc etc var/run tmp )
+ cp -a /etc/ld.so.conf* $initdir/etc
+ sudo ldconfig -r "$initdir"
+@@ -52,7 +52,7 @@ test_setup() {
+ (
+ export initdir=$TESTDIR/overlay
+ . $basedir/dracut-functions.sh
+- dracut_install sfdisk mkfs.ext3 poweroff cp umount sync
++ inst_multiple sfdisk mkfs.ext3 poweroff cp umount sync
+ inst_hook initqueue 01 ./create-root.sh
+ inst_hook initqueue/finished 01 ./finished-false.sh
+ inst_simple ./99-idesymlinks.rules /etc/udev/rules.d/99-idesymlinks.rules
+@@ -81,7 +81,7 @@ test_setup() {
+ (
+ export initdir=$TESTDIR/overlay
+ . $basedir/dracut-functions.sh
+- dracut_install poweroff shutdown
++ inst_multiple poweroff shutdown
+ inst_hook emergency 000 ./hard-off.sh
+ inst_simple ./99-idesymlinks.rules /etc/udev/rules.d/99-idesymlinks.rules
+ )
+diff --git a/test/TEST-02-SYSTEMD/test.sh b/test/TEST-02-SYSTEMD/test.sh
+index 155982c..cc9da27 100755
+--- a/test/TEST-02-SYSTEMD/test.sh
++++ b/test/TEST-02-SYSTEMD/test.sh
+@@ -26,19 +26,19 @@ test_setup() {
+ export initdir=$TESTDIR/overlay/source
+ mkdir -p $initdir
+ . $basedir/dracut-functions.sh
+- dracut_install sh df free ls shutdown poweroff stty cat ps ln ip route \
++ inst_multiple sh df free ls shutdown poweroff stty cat ps ln ip route \
+ mount dmesg ifconfig dhclient mkdir cp ping dhclient \
+ umount strace less setsid
+ for _terminfodir in /lib/terminfo /etc/terminfo /usr/share/terminfo; do
+ [ -f ${_terminfodir}/l/linux ] && break
+ done
+- dracut_install -o ${_terminfodir}/l/linux
++ inst_multiple -o ${_terminfodir}/l/linux
+ inst "$basedir/modules.d/40network/dhclient-script.sh" "/sbin/dhclient-script"
+ inst "$basedir/modules.d/40network/ifup.sh" "/sbin/ifup"
+- dracut_install grep
++ inst_multiple grep
+ inst_simple /etc/os-release
+ inst ./test-init.sh /sbin/init
+- find_binary plymouth >/dev/null && dracut_install plymouth
++ find_binary plymouth >/dev/null && inst_multiple plymouth
+ (cd "$initdir"; mkdir -p dev sys proc etc var/run tmp )
+ cp -a /etc/ld.so.conf* $initdir/etc
+ sudo ldconfig -r "$initdir"
+@@ -48,7 +48,7 @@ test_setup() {
+ (
+ export initdir=$TESTDIR/overlay
+ . $basedir/dracut-functions.sh
+- dracut_install sfdisk mkfs.ext3 poweroff cp umount
++ inst_multiple sfdisk mkfs.ext3 poweroff cp umount
+ inst_hook initqueue 01 ./create-root.sh
+ inst_hook initqueue/finished 01 ./finished-false.sh
+ inst_simple ./99-idesymlinks.rules /etc/udev/rules.d/99-idesymlinks.rules
+@@ -77,7 +77,7 @@ test_setup() {
+ (
+ export initdir=$TESTDIR/overlay
+ . $basedir/dracut-functions.sh
+- dracut_install poweroff shutdown
++ inst_multiple poweroff shutdown
+ inst_hook emergency 000 ./hard-off.sh
+ inst_simple ./99-idesymlinks.rules /etc/udev/rules.d/99-idesymlinks.rules
+ )
+diff --git a/test/TEST-03-USR-MOUNT/test.sh b/test/TEST-03-USR-MOUNT/test.sh
+index 246fc9a..b3d709e 100755
+--- a/test/TEST-03-USR-MOUNT/test.sh
++++ b/test/TEST-03-USR-MOUNT/test.sh
+@@ -57,20 +57,20 @@ test_setup() {
+ export initdir=$TESTDIR/overlay/source
+ mkdir -p $initdir
+ . $basedir/dracut-functions.sh
+- dracut_install sh df free ls shutdown poweroff stty cat ps ln ip route \
++ inst_multiple sh df free ls shutdown poweroff stty cat ps ln ip route \
+ mount dmesg ifconfig dhclient mkdir cp ping dhclient \
+ umount strace less setsid
+ for _terminfodir in /lib/terminfo /etc/terminfo /usr/share/terminfo; do
+ [ -f ${_terminfodir}/l/linux ] && break
+ done
+- dracut_install -o ${_terminfodir}/l/linux
++ inst_multiple -o ${_terminfodir}/l/linux
+ inst "$basedir/modules.d/40network/dhclient-script.sh" "/sbin/dhclient-script"
+ inst "$basedir/modules.d/40network/ifup.sh" "/sbin/ifup"
+- dracut_install grep
++ inst_multiple grep
+ inst_simple ./fstab /etc/fstab
+ inst_simple /etc/os-release
+ inst ./test-init.sh /sbin/init
+- find_binary plymouth >/dev/null && dracut_install plymouth
++ find_binary plymouth >/dev/null && inst_multiple plymouth
+ (cd "$initdir"; mkdir -p dev sys proc etc var/run tmp )
+ cp -a /etc/ld.so.conf* $initdir/etc
+ sudo ldconfig -r "$initdir"
+@@ -80,7 +80,7 @@ test_setup() {
+ (
+ export initdir=$TESTDIR/overlay
+ . $basedir/dracut-functions.sh
+- dracut_install sfdisk mkfs.btrfs btrfs poweroff cp umount sync
++ inst_multiple sfdisk mkfs.btrfs btrfs poweroff cp umount sync
+ inst_hook initqueue 01 ./create-root.sh
+ inst_hook initqueue/finished 01 ./finished-false.sh
+ inst_simple ./99-idesymlinks.rules /etc/udev/rules.d/99-idesymlinks.rules
+@@ -116,7 +116,7 @@ test_setup() {
+ (
+ export initdir=$TESTDIR/overlay
+ . $basedir/dracut-functions.sh
+- dracut_install poweroff shutdown
++ inst_multiple poweroff shutdown
+ inst_hook emergency 000 ./hard-off.sh
+ inst_simple ./99-idesymlinks.rules /etc/udev/rules.d/99-idesymlinks.rules
+ )
+diff --git a/test/TEST-04-FULL-SYSTEMD/test.sh b/test/TEST-04-FULL-SYSTEMD/test.sh
+index 92c2f8d..d4998d8 100755
+--- a/test/TEST-04-FULL-SYSTEMD/test.sh
++++ b/test/TEST-04-FULL-SYSTEMD/test.sh
+@@ -70,17 +70,17 @@ test_setup() {
+ ln -sfn /run "$initdir/var/run"
+ ln -sfn /run/lock "$initdir/var/lock"
+
+- dracut_install sh df free ls shutdown poweroff stty cat ps ln ip route \
++ inst_multiple sh df free ls shutdown poweroff stty cat ps ln ip route \
+ mount dmesg ifconfig dhclient mkdir cp ping dhclient \
+ umount strace less setsid tree systemctl reset
+
+ for _terminfodir in /lib/terminfo /etc/terminfo /usr/share/terminfo; do
+ [ -f ${_terminfodir}/l/linux ] && break
+ done
+- dracut_install -o ${_terminfodir}/l/linux
++ inst_multiple -o ${_terminfodir}/l/linux
+ inst "$basedir/modules.d/40network/dhclient-script.sh" "/sbin/dhclient-script"
+ inst "$basedir/modules.d/40network/ifup.sh" "/sbin/ifup"
+- dracut_install grep
++ inst_multiple grep
+ inst_simple ./fstab /etc/fstab
+ rpm -ql systemd | xargs -r $DRACUT_INSTALL ${initdir+-D "$initdir"} -o -a -l
+ inst /lib/systemd/system/systemd-remount-fs.service
+@@ -89,13 +89,13 @@ test_setup() {
+ inst /etc/sysconfig/init
+ inst /lib/systemd/system/slices.target
+ inst /lib/systemd/system/system.slice
+- dracut_install -o /lib/systemd/system/dracut*
++ inst_multiple -o /lib/systemd/system/dracut*
+
+ # make a journal directory
+ mkdir -p $initdir/var/log/journal
+
+ # install some basic config files
+- dracut_install -o \
++ inst_multiple -o \
+ /etc/machine-id \
+ /etc/adjtime \
+ /etc/sysconfig/init \
+@@ -149,9 +149,9 @@ EOF
+ # EOF
+
+ # install basic tools needed
+- dracut_install sh bash setsid loadkeys setfont \
++ inst_multiple sh bash setsid loadkeys setfont \
+ login sushell sulogin gzip sleep echo mount umount
+- dracut_install modprobe
++ inst_multiple modprobe
+
+ # install libnss_files for login
+ inst_libdir_file "libnss_files*"
+@@ -164,7 +164,7 @@ EOF
+ /lib64/security \
+ /lib/security -xtype f \
+ | while read file; do
+- dracut_install -o $file
++ inst_multiple -o $file
+ done
+
+ # install dbus socket and service file
+@@ -185,7 +185,7 @@ EOF
+ for _terminfodir in /lib/terminfo /etc/terminfo /usr/share/terminfo; do
+ [ -f ${_terminfodir}/l/linux ] && break
+ done
+- dracut_install -o ${_terminfodir}/l/linux
++ inst_multiple -o ${_terminfodir}/l/linux
+
+ # softlink mtab
+ ln -fs /proc/self/mounts $initdir/etc/mtab
+@@ -194,11 +194,11 @@ EOF
+ egrep -ho '^Exec[^ ]*=[^ ]+' $initdir/lib/systemd/system/*.service \
+ | while read i; do
+ i=${i##Exec*=}; i=${i##-}
+- dracut_install -o $i
++ inst_multiple -o $i
+ done
+
+ # some helper tools for debugging
+- [[ $DEBUGTOOLS ]] && dracut_install $DEBUGTOOLS
++ [[ $DEBUGTOOLS ]] && inst_multiple $DEBUGTOOLS
+
+ # install ld.so.conf* and run ldconfig
+ cp -a /etc/ld.so.conf* $initdir/etc
+@@ -222,7 +222,7 @@ EOF
+ (
+ export initdir=$TESTDIR/overlay
+ . $basedir/dracut-functions.sh
+- dracut_install sfdisk mkfs.btrfs btrfs poweroff cp umount sync
++ inst_multiple sfdisk mkfs.btrfs btrfs poweroff cp umount sync
+ inst_hook initqueue 01 ./create-root.sh
+ inst_hook initqueue/finished 01 ./finished-false.sh
+ inst_simple ./99-idesymlinks.rules /etc/udev/rules.d/99-idesymlinks.rules
+@@ -257,7 +257,7 @@ EOF
+ (
+ export initdir=$TESTDIR/overlay
+ . $basedir/dracut-functions.sh
+- dracut_install poweroff shutdown
++ inst_multiple poweroff shutdown
+ inst_hook emergency 000 ./hard-off.sh
+ inst_simple ./99-idesymlinks.rules /etc/udev/rules.d/99-idesymlinks.rules
+ )
+diff --git a/test/TEST-10-RAID/test.sh b/test/TEST-10-RAID/test.sh
+index b6af703..a2226cd 100755
+--- a/test/TEST-10-RAID/test.sh
++++ b/test/TEST-10-RAID/test.sh
+@@ -29,19 +29,19 @@ test_setup() {
+ export initdir=$TESTDIR/overlay/source
+ (mkdir -p "$initdir"; cd "$initdir"; mkdir -p dev sys proc etc var/run tmp run)
+ . $basedir/dracut-functions.sh
+- dracut_install sh df free ls shutdown poweroff stty cat ps ln ip route \
++ inst_multiple sh df free ls shutdown poweroff stty cat ps ln ip route \
+ mount dmesg ifconfig dhclient mkdir cp ping dhclient
+ for _terminfodir in /lib/terminfo /etc/terminfo /usr/share/terminfo; do
+ [ -f ${_terminfodir}/l/linux ] && break
+ done
+- dracut_install -o ${_terminfodir}/l/linux
++ inst_multiple -o ${_terminfodir}/l/linux
+ inst_simple /etc/os-release
+ inst ./test-init.sh /sbin/init
+ inst "$basedir/modules.d/40network/dhclient-script.sh" "/sbin/dhclient-script"
+ inst "$basedir/modules.d/40network/ifup.sh" "/sbin/ifup"
+- dracut_install grep
+- dracut_install -o /lib/systemd/systemd-shutdown
+- find_binary plymouth >/dev/null && dracut_install plymouth
++ inst_multiple grep
++ inst_multiple -o /lib/systemd/systemd-shutdown
++ find_binary plymouth >/dev/null && inst_multiple plymouth
+ cp -a /etc/ld.so.conf* $initdir/etc
+ sudo ldconfig -r "$initdir"
+ )
+@@ -50,7 +50,7 @@ test_setup() {
+ (
+ export initdir=$TESTDIR/overlay
+ . $basedir/dracut-functions.sh
+- dracut_install sfdisk mke2fs poweroff cp umount
++ inst_multiple sfdisk mke2fs poweroff cp umount
+ inst_hook initqueue 01 ./create-root.sh
+ inst_hook initqueue/finished 01 ./finished-false.sh
+ inst_simple ./99-idesymlinks.rules /etc/udev/rules.d/99-idesymlinks.rules
+@@ -78,7 +78,7 @@ test_setup() {
+ (
+ export initdir=$TESTDIR/overlay
+ . $basedir/dracut-functions.sh
+- dracut_install poweroff shutdown
++ inst_multiple poweroff shutdown
+ inst_hook emergency 000 ./hard-off.sh
+ inst ./cryptroot-ask.sh /sbin/cryptroot-ask
+ mkdir -p $initdir/etc
+diff --git a/test/TEST-11-LVM/test.sh b/test/TEST-11-LVM/test.sh
+index 47761b3..6f2461c 100755
+--- a/test/TEST-11-LVM/test.sh
++++ b/test/TEST-11-LVM/test.sh
+@@ -25,18 +25,18 @@ test_setup() {
+ (
+ export initdir=$TESTDIR/overlay/source
+ . $basedir/dracut-functions.sh
+- dracut_install sh df free ls shutdown poweroff stty cat ps ln ip route \
++ inst_multiple sh df free ls shutdown poweroff stty cat ps ln ip route \
+ mount dmesg ifconfig dhclient mkdir cp ping dhclient
+ for _terminfodir in /lib/terminfo /etc/terminfo /usr/share/terminfo; do
+ [ -f ${_terminfodir}/l/linux ] && break
+ done
+- dracut_install -o ${_terminfodir}/l/linux
++ inst_multiple -o ${_terminfodir}/l/linux
+ inst "$basedir/modules.d/40network/dhclient-script.sh" "/sbin/dhclient-script"
+ inst "$basedir/modules.d/40network/ifup.sh" "/sbin/ifup"
+- dracut_install grep
++ inst_multiple grep
+ inst_simple /etc/os-release
+ inst ./test-init.sh /sbin/init
+- find_binary plymouth >/dev/null && dracut_install plymouth
++ find_binary plymouth >/dev/null && inst_multiple plymouth
+ (cd "$initdir"; mkdir -p dev sys proc etc var/run tmp )
+ cp -a /etc/ld.so.conf* $initdir/etc
+ mkdir $initdir/run
+@@ -47,7 +47,7 @@ test_setup() {
+ (
+ export initdir=$TESTDIR/overlay
+ . $basedir/dracut-functions.sh
+- dracut_install sfdisk mke2fs poweroff cp umount
++ inst_multiple sfdisk mke2fs poweroff cp umount
+ inst_hook initqueue 01 ./create-root.sh
+ inst_hook initqueue/finished 01 ./finished-false.sh
+ inst_simple ./99-idesymlinks.rules /etc/udev/rules.d/99-idesymlinks.rules
+@@ -70,7 +70,7 @@ test_setup() {
+ (
+ export initdir=$TESTDIR/overlay
+ . $basedir/dracut-functions.sh
+- dracut_install poweroff shutdown
++ inst_multiple poweroff shutdown
+ inst_hook emergency 000 ./hard-off.sh
+ inst_simple ./99-idesymlinks.rules /etc/udev/rules.d/99-idesymlinks.rules
+ )
+diff --git a/test/TEST-12-RAID-DEG/test.sh b/test/TEST-12-RAID-DEG/test.sh
+index 3eabbd5..6ddff3f 100755
+--- a/test/TEST-12-RAID-DEG/test.sh
++++ b/test/TEST-12-RAID-DEG/test.sh
+@@ -66,18 +66,18 @@ test_setup() {
+ (
+ export initdir=$TESTDIR/overlay/source
+ . $basedir/dracut-functions.sh
+- dracut_install sh df free ls shutdown poweroff stty cat ps ln ip route \
++ inst_multiple sh df free ls shutdown poweroff stty cat ps ln ip route \
+ mount dmesg ifconfig dhclient mkdir cp ping dhclient
+ for _terminfodir in /lib/terminfo /etc/terminfo /usr/share/terminfo; do
+ [ -f ${_terminfodir}/l/linux ] && break
+ done
+- dracut_install -o ${_terminfodir}/l/linux
++ inst_multiple -o ${_terminfodir}/l/linux
+ inst "$basedir/modules.d/40network/dhclient-script.sh" "/sbin/dhclient-script"
+ inst "$basedir/modules.d/40network/ifup.sh" "/sbin/ifup"
+- dracut_install grep
++ inst_multiple grep
+ inst_simple /etc/os-release
+ inst ./test-init.sh /sbin/init
+- find_binary plymouth >/dev/null && dracut_install plymouth
++ find_binary plymouth >/dev/null && inst_multiple plymouth
+ (cd "$initdir"; mkdir -p dev sys proc etc var/run tmp )
+ cp -a /etc/ld.so.conf* $initdir/etc
+ sudo ldconfig -r "$initdir"
+@@ -87,7 +87,7 @@ test_setup() {
+ (
+ export initdir=$TESTDIR/overlay
+ . $basedir/dracut-functions.sh
+- dracut_install sfdisk mke2fs poweroff cp umount dd grep
++ inst_multiple sfdisk mke2fs poweroff cp umount dd grep
+ inst_hook initqueue 01 ./create-root.sh
+ inst_hook initqueue/finished 01 ./finished-false.sh
+ inst_simple ./99-idesymlinks.rules /etc/udev/rules.d/99-idesymlinks.rules
+@@ -120,7 +120,7 @@ test_setup() {
+ (
+ export initdir=$TESTDIR/overlay
+ . $basedir/dracut-functions.sh
+- dracut_install poweroff shutdown
++ inst_multiple poweroff shutdown
+ inst_hook emergency 000 ./hard-off.sh
+ inst_simple ./99-idesymlinks.rules /etc/udev/rules.d/99-idesymlinks.rules
+ inst ./cryptroot-ask.sh /sbin/cryptroot-ask
+diff --git a/test/TEST-13-ENC-RAID-LVM/test.sh b/test/TEST-13-ENC-RAID-LVM/test.sh
+index d069293..5102142 100755
+--- a/test/TEST-13-ENC-RAID-LVM/test.sh
++++ b/test/TEST-13-ENC-RAID-LVM/test.sh
+@@ -63,18 +63,18 @@ test_setup() {
+ (
+ export initdir=$TESTDIR/overlay/source
+ . $basedir/dracut-functions.sh
+- dracut_install sh df free ls shutdown poweroff stty cat ps ln ip route \
++ inst_multiple sh df free ls shutdown poweroff stty cat ps ln ip route \
+ mount dmesg ifconfig dhclient mkdir cp ping dhclient
+ for _terminfodir in /lib/terminfo /etc/terminfo /usr/share/terminfo; do
+ [ -f ${_terminfodir}/l/linux ] && break
+ done
+- dracut_install -o ${_terminfodir}/l/linux
++ inst_multiple -o ${_terminfodir}/l/linux
+ inst "$basedir/modules.d/40network/dhclient-script.sh" "/sbin/dhclient-script"
+ inst "$basedir/modules.d/40network/ifup.sh" "/sbin/ifup"
+- dracut_install grep
++ inst_multiple grep
+ inst_simple /etc/os-release
+ inst ./test-init.sh /sbin/init
+- find_binary plymouth >/dev/null && dracut_install plymouth
++ find_binary plymouth >/dev/null && inst_multiple plymouth
+ (cd "$initdir"; mkdir -p dev sys proc etc var/run tmp )
+ cp -a /etc/ld.so.conf* $initdir/etc
+ sudo ldconfig -r "$initdir"
+@@ -84,7 +84,7 @@ test_setup() {
+ (
+ export initdir=$TESTDIR/overlay
+ . $basedir/dracut-functions.sh
+- dracut_install sfdisk mke2fs poweroff cp umount grep
++ inst_multiple sfdisk mke2fs poweroff cp umount grep
+ inst_hook initqueue 01 ./create-root.sh
+ inst_hook initqueue/finished 01 ./finished-false.sh
+ inst_simple ./99-idesymlinks.rules /etc/udev/rules.d/99-idesymlinks.rules
+@@ -114,7 +114,7 @@ test_setup() {
+ (
+ export initdir=$TESTDIR/overlay
+ . $basedir/dracut-functions.sh
+- dracut_install poweroff shutdown
++ inst_multiple poweroff shutdown
+ inst_hook emergency 000 ./hard-off.sh
+ inst_simple ./99-idesymlinks.rules /etc/udev/rules.d/99-idesymlinks.rules
+ inst ./cryptroot-ask.sh /sbin/cryptroot-ask
+diff --git a/test/TEST-15-BTRFSRAID/test.sh b/test/TEST-15-BTRFSRAID/test.sh
+index 6f66875..e6ff351 100755
+--- a/test/TEST-15-BTRFSRAID/test.sh
++++ b/test/TEST-15-BTRFSRAID/test.sh
+@@ -27,17 +27,17 @@ test_setup() {
+ (
+ export initdir=$TESTDIR/overlay/source
+ . $basedir/dracut-functions.sh
+- dracut_install sh df free ls shutdown poweroff stty cat ps ln ip route \
++ inst_multiple sh df free ls shutdown poweroff stty cat ps ln ip route \
+ mount dmesg ifconfig dhclient mkdir cp ping dhclient
+ for _terminfodir in /lib/terminfo /etc/terminfo /usr/share/terminfo; do
+ [ -f ${_terminfodir}/l/linux ] && break
+ done
+- dracut_install -o ${_terminfodir}/l/linux
++ inst_multiple -o ${_terminfodir}/l/linux
+ inst "$basedir/modules.d/40network/dhclient-script.sh" "/sbin/dhclient-script"
+ inst "$basedir/modules.d/40network/ifup.sh" "/sbin/ifup"
+- dracut_install grep
++ inst_multiple grep
+ inst ./test-init.sh /sbin/init
+- find_binary plymouth >/dev/null && dracut_install plymouth
++ find_binary plymouth >/dev/null && inst_multiple plymouth
+ (cd "$initdir"; mkdir -p dev sys proc etc var/run tmp )
+ cp -a /etc/ld.so.conf* $initdir/etc
+ sudo ldconfig -r "$initdir"
+@@ -47,7 +47,7 @@ test_setup() {
+ (
+ export initdir=$TESTDIR/overlay
+ . $basedir/dracut-functions.sh
+- dracut_install sfdisk mkfs.btrfs poweroff cp umount
++ inst_multiple sfdisk mkfs.btrfs poweroff cp umount
+ inst_hook initqueue 01 ./create-root.sh
+ inst_hook initqueue/finished 01 ./finished-false.sh
+ inst_simple ./99-idesymlinks.rules /etc/udev/rules.d/99-idesymlinks.rules
+@@ -77,7 +77,7 @@ test_setup() {
+ (
+ export initdir=$TESTDIR/overlay
+ . $basedir/dracut-functions.sh
+- dracut_install poweroff shutdown
++ inst_multiple poweroff shutdown
+ inst_hook emergency 000 ./hard-off.sh
+ inst_simple ./99-idesymlinks.rules /etc/udev/rules.d/99-idesymlinks.rules
+ )
+diff --git a/test/TEST-16-DMSQUASH/test.sh b/test/TEST-16-DMSQUASH/test.sh
+index e9d9655..252e845 100755
+--- a/test/TEST-16-DMSQUASH/test.sh
++++ b/test/TEST-16-DMSQUASH/test.sh
+@@ -31,7 +31,7 @@ test_setup() {
+ (
+ export initdir="$TESTDIR"/overlay
+ . "$basedir"/dracut-functions.sh
+- dracut_install poweroff shutdown
++ inst_multiple poweroff shutdown
+ inst_hook emergency 000 ./hard-off.sh
+ inst_simple ./99-idesymlinks.rules /etc/udev/rules.d/99-idesymlinks.rules
+ )
+@@ -49,16 +49,16 @@ test_setup() {
+ (
+ export initdir="$TESTDIR"/root-source
+ . "$basedir"/dracut-functions.sh
+- dracut_install sh df free ls shutdown poweroff stty cat ps ln ip route \
++ inst_multiple sh df free ls shutdown poweroff stty cat ps ln ip route \
+ mount dmesg ifconfig dhclient mkdir cp ping dhclient \
+ umount strace less
+ for _terminfodir in /lib/terminfo /etc/terminfo /usr/share/terminfo; do
+ [[ -f ${_terminfodir}/l/linux ]] && break
+ done
+- dracut_install -o "${_terminfodir}"/l/linux
++ inst_multiple -o "${_terminfodir}"/l/linux
+ inst "$basedir/modules.d/40network/dhclient-script.sh" "/sbin/dhclient-script"
+ inst "$basedir/modules.d/40network/ifup.sh" "/sbin/ifup"
+- dracut_install grep syslinux isohybrid
++ inst_multiple grep syslinux isohybrid
+ for f in /usr/share/syslinux/*; do
+ inst_simple "$f"
+ done
+@@ -66,7 +66,7 @@ test_setup() {
+ inst ./test-init.sh /sbin/init
+ inst "$TESTDIR"/initramfs.testing "/boot/initramfs-$KVERSION.img"
+ inst /boot/vmlinuz-"$KVERSION"
+- find_binary plymouth >/dev/null && dracut_install plymouth
++ find_binary plymouth >/dev/null && inst_multiple plymouth
+ (cd "$initdir"; mkdir -p -- dev sys proc etc var/run tmp )
+ cp -a -- /etc/ld.so.conf* "$initdir"/etc
+ sudo ldconfig -r -- "$initdir"
+diff --git a/test/TEST-20-NFS/test.sh b/test/TEST-20-NFS/test.sh
+index 2c8ee18..bd3cd3f 100755
+--- a/test/TEST-20-NFS/test.sh
++++ b/test/TEST-20-NFS/test.sh
+@@ -235,18 +235,18 @@ test_setup() {
+ [[ $srcmods/$_f ]] && inst_simple "$srcmods/$_f" "/lib/modules/$kernel/$_f"
+ done
+
+- dracut_install sh ls shutdown poweroff stty cat ps ln ip \
++ inst_multiple sh ls shutdown poweroff stty cat ps ln ip \
+ dmesg mkdir cp ping exportfs \
+ modprobe rpc.nfsd rpc.mountd showmount tcpdump \
+ /etc/services sleep mount chmod
+ for _terminfodir in /lib/terminfo /etc/terminfo /usr/share/terminfo; do
+ [ -f ${_terminfodir}/l/linux ] && break
+ done
+- dracut_install -o ${_terminfodir}/l/linux
+- type -P portmap >/dev/null && dracut_install portmap
+- type -P rpcbind >/dev/null && dracut_install rpcbind
+- [ -f /etc/netconfig ] && dracut_install /etc/netconfig
+- type -P dhcpd >/dev/null && dracut_install dhcpd
++ inst_multiple -o ${_terminfodir}/l/linux
++ type -P portmap >/dev/null && inst_multiple portmap
++ type -P rpcbind >/dev/null && inst_multiple rpcbind
++ [ -f /etc/netconfig ] && inst_multiple /etc/netconfig
++ type -P dhcpd >/dev/null && inst_multiple dhcpd
+ [ -x /usr/sbin/dhcpd3 ] && inst /usr/sbin/dhcpd3 /usr/sbin/dhcpd
+ instmods nfsd sunrpc ipv6 lockd af_packet
+ inst ./server-init.sh /sbin/init
+@@ -254,8 +254,8 @@ test_setup() {
+ inst ./hosts /etc/hosts
+ inst ./exports /etc/exports
+ inst ./dhcpd.conf /etc/dhcpd.conf
+- dracut_install /etc/nsswitch.conf /etc/rpc /etc/protocols
+- dracut_install rpc.idmapd /etc/idmapd.conf
++ inst_multiple /etc/nsswitch.conf /etc/rpc /etc/protocols
++ inst_multiple rpc.idmapd /etc/idmapd.conf
+
+ inst_libdir_file 'libnfsidmap_nsswitch.so*'
+ inst_libdir_file 'libnfsidmap/*.so*'
+@@ -290,12 +290,12 @@ test_setup() {
+ export initdir=$TESTDIR/mnt/nfs/client
+ . $basedir/dracut-functions.sh
+
+- dracut_install sh shutdown poweroff stty cat ps ln ip \
++ inst_multiple sh shutdown poweroff stty cat ps ln ip \
+ mount dmesg mkdir cp ping grep
+ for _terminfodir in /lib/terminfo /etc/terminfo /usr/share/terminfo; do
+ [ -f ${_terminfodir}/l/linux ] && break
+ done
+- dracut_install -o ${_terminfodir}/l/linux
++ inst_multiple -o ${_terminfodir}/l/linux
+ inst ./client-init.sh /sbin/init
+ inst_simple /etc/os-release
+ (
+@@ -334,7 +334,7 @@ test_setup() {
+ export initdir=$TESTDIR/overlay
+ . $basedir/dracut-functions.sh
+ mkdir $TESTDIR/overlay
+- dracut_install poweroff shutdown
++ inst_multiple poweroff shutdown
+ inst_hook emergency 000 ./hard-off.sh
+ inst_simple ./99-idesymlinks.rules /etc/udev/rules.d/99-idesymlinks.rules
+ )
+diff --git a/test/TEST-30-ISCSI/test.sh b/test/TEST-30-ISCSI/test.sh
+index 29c8d0c..4c29956 100755
+--- a/test/TEST-30-ISCSI/test.sh
++++ b/test/TEST-30-ISCSI/test.sh
+@@ -105,12 +105,12 @@ test_setup() {
+ (
+ export initdir=$TESTDIR/overlay/source
+ . $basedir/dracut-functions.sh
+- dracut_install sh shutdown poweroff stty cat ps ln ip \
++ inst_multiple sh shutdown poweroff stty cat ps ln ip \
+ mount dmesg mkdir cp ping grep
+ for _terminfodir in /lib/terminfo /etc/terminfo /usr/share/terminfo; do
+ [ -f ${_terminfodir}/l/linux ] && break
+ done
+- dracut_install -o ${_terminfodir}/l/linux
++ inst_multiple -o ${_terminfodir}/l/linux
+ inst_simple /etc/os-release
+ inst ./client-init.sh /sbin/init
+ (cd "$initdir"; mkdir -p dev sys proc etc var/run tmp )
+@@ -122,7 +122,7 @@ test_setup() {
+ (
+ export initdir=$TESTDIR/overlay
+ . $basedir/dracut-functions.sh
+- dracut_install sfdisk mkfs.ext3 poweroff cp umount
++ inst_multiple sfdisk mkfs.ext3 poweroff cp umount
+ inst_hook initqueue 01 ./create-root.sh
+ inst_hook initqueue/finished 01 ./finished-false.sh
+ inst_simple ./99-idesymlinks.rules /etc/udev/rules.d/99-idesymlinks.rules
+@@ -158,7 +158,7 @@ test_setup() {
+ (
+ export initdir=$TESTDIR/overlay
+ . $basedir/dracut-functions.sh
+- dracut_install poweroff shutdown
++ inst_multiple poweroff shutdown
+ inst_hook emergency 000 ./hard-off.sh
+ inst_simple ./99-idesymlinks.rules /etc/udev/rules.d/99-idesymlinks.rules
+ )
+@@ -183,25 +183,25 @@ test_setup() {
+ mkdir -p dev sys proc etc var/run tmp var/lib/dhcpd /etc/iscsi
+ )
+ inst /etc/passwd /etc/passwd
+- dracut_install sh ls shutdown poweroff stty cat ps ln ip \
++ inst_multiple sh ls shutdown poweroff stty cat ps ln ip \
+ dmesg mkdir cp ping \
+ modprobe tcpdump \
+ /etc/services sleep mount chmod
+- dracut_install /usr/sbin/iscsi-target
++ inst_multiple /usr/sbin/iscsi-target
+ for _terminfodir in /lib/terminfo /etc/terminfo /usr/share/terminfo; do
+ [ -f ${_terminfodir}/l/linux ] && break
+ done
+- dracut_install -o ${_terminfodir}/l/linux
++ inst_multiple -o ${_terminfodir}/l/linux
+ instmods iscsi_tcp crc32c ipv6
+ inst ./targets /etc/iscsi/targets
+- [ -f /etc/netconfig ] && dracut_install /etc/netconfig
+- type -P dhcpd >/dev/null && dracut_install dhcpd
++ [ -f /etc/netconfig ] && inst_multiple /etc/netconfig
++ type -P dhcpd >/dev/null && inst_multiple dhcpd
+ [ -x /usr/sbin/dhcpd3 ] && inst /usr/sbin/dhcpd3 /usr/sbin/dhcpd
+ inst_simple /etc/os-release
+ inst ./server-init.sh /sbin/init
+ inst ./hosts /etc/hosts
+ inst ./dhcpd.conf /etc/dhcpd.conf
+- dracut_install /etc/nsswitch.conf /etc/rpc /etc/protocols
++ inst_multiple /etc/nsswitch.conf /etc/rpc /etc/protocols
+ inst /etc/group /etc/group
+
+ cp -a /etc/ld.so.conf* $initdir/etc
+diff --git a/test/TEST-40-NBD/test.sh b/test/TEST-40-NBD/test.sh
+index 124682a..7cf64b1 100755
+--- a/test/TEST-40-NBD/test.sh
++++ b/test/TEST-40-NBD/test.sh
+@@ -198,15 +198,15 @@ make_encrypted_root() {
+ . $basedir/dracut-functions.sh
+ mkdir -p "$initdir"
+ (cd "$initdir"; mkdir -p dev sys proc etc var/run tmp )
+- dracut_install sh df free ls shutdown poweroff stty cat ps ln ip \
++ inst_multiple sh df free ls shutdown poweroff stty cat ps ln ip \
+ mount dmesg mkdir cp ping
+ for _terminfodir in /lib/terminfo /etc/terminfo /usr/share/terminfo; do
+ [ -f ${_terminfodir}/l/linux ] && break
+ done
+- dracut_install -o ${_terminfodir}/l/linux
++ inst_multiple -o ${_terminfodir}/l/linux
+ inst ./client-init.sh /sbin/init
+ inst_simple /etc/os-release
+- find_binary plymouth >/dev/null && dracut_install plymouth
++ find_binary plymouth >/dev/null && inst_multiple plymouth
+ cp -a /etc/ld.so.conf* $initdir/etc
+ sudo ldconfig -r "$initdir"
+ )
+@@ -215,7 +215,7 @@ make_encrypted_root() {
+ (
+ export initdir=$TESTDIR/overlay
+ . $basedir/dracut-functions.sh
+- dracut_install mke2fs poweroff cp umount tune2fs
++ inst_multiple mke2fs poweroff cp umount tune2fs
+ inst_hook emergency 000 ./hard-off.sh
+ inst_hook initqueue 01 ./create-root.sh
+ inst_hook initqueue/finished 01 ./finished-false.sh
+@@ -256,12 +256,12 @@ make_client_root() {
+ . $basedir/dracut-functions.sh
+ mkdir -p "$initdir"
+ (cd "$initdir"; mkdir -p dev sys proc etc var/run tmp )
+- dracut_install sh ls shutdown poweroff stty cat ps ln ip \
++ inst_multiple sh ls shutdown poweroff stty cat ps ln ip \
+ dmesg mkdir cp ping
+ for _terminfodir in /lib/terminfo /etc/terminfo /usr/share/terminfo; do
+ [ -f ${_terminfodir}/l/linux ] && break
+ done
+- dracut_install -o ${_terminfodir}/l/linux
++ inst_multiple -o ${_terminfodir}/l/linux
+ inst ./client-init.sh /sbin/init
+ inst_simple /etc/os-release
+ inst /etc/nsswitch.conf /etc/nsswitch.conf
+@@ -294,15 +294,15 @@ make_server_root() {
+ cd "$initdir";
+ mkdir -p dev sys proc etc var/run var/lib/dhcpd tmp
+ )
+- dracut_install sh ls shutdown poweroff stty cat ps ln ip \
++ inst_multiple sh ls shutdown poweroff stty cat ps ln ip \
+ dmesg mkdir cp ping grep \
+ sleep nbd-server chmod
+ for _terminfodir in /lib/terminfo /etc/terminfo /usr/share/terminfo; do
+ [ -f ${_terminfodir}/l/linux ] && break
+ done
+- dracut_install -o ${_terminfodir}/l/linux
++ inst_multiple -o ${_terminfodir}/l/linux
+ instmods af_packet
+- type -P dhcpd >/dev/null && dracut_install dhcpd
++ type -P dhcpd >/dev/null && inst_multiple dhcpd
+ [ -x /usr/sbin/dhcpd3 ] && inst /usr/sbin/dhcpd3 /usr/sbin/dhcpd
+ inst ./server-init.sh /sbin/init
+ inst_simple /etc/os-release
+@@ -336,7 +336,7 @@ test_setup() {
+ (
+ export initdir=$TESTDIR/overlay
+ . $basedir/dracut-functions.sh
+- dracut_install poweroff shutdown
++ inst_multiple poweroff shutdown
+ inst_hook emergency 000 ./hard-off.sh
+ inst_simple ./99-idesymlinks.rules /etc/udev/rules.d/99-idesymlinks.rules
+ inst ./cryptroot-ask.sh /sbin/cryptroot-ask
+diff --git a/test/TEST-50-MULTINIC/test.sh b/test/TEST-50-MULTINIC/test.sh
+index 6e991d3..b616e6b 100755
+--- a/test/TEST-50-MULTINIC/test.sh
++++ b/test/TEST-50-MULTINIC/test.sh
+@@ -156,18 +156,18 @@ test_setup() {
+ [[ $srcmods/$_f ]] && inst_simple "$srcmods/$_f" "/lib/modules/$kernel/$_f"
+ done
+
+- dracut_install sh ls shutdown poweroff stty cat ps ln ip \
++ inst_multiple sh ls shutdown poweroff stty cat ps ln ip \
+ dmesg mkdir cp ping exportfs \
+ modprobe rpc.nfsd rpc.mountd showmount tcpdump \
+ /etc/services sleep mount chmod
+ for _terminfodir in /lib/terminfo /etc/terminfo /usr/share/terminfo; do
+ [ -f "${_terminfodir}"/l/linux ] && break
+ done
+- dracut_install -o "${_terminfodir}"/l/linux
+- type -P portmap >/dev/null && dracut_install portmap
+- type -P rpcbind >/dev/null && dracut_install rpcbind
+- [ -f /etc/netconfig ] && dracut_install /etc/netconfig
+- type -P dhcpd >/dev/null && dracut_install dhcpd
++ inst_multiple -o "${_terminfodir}"/l/linux
++ type -P portmap >/dev/null && inst_multiple portmap
++ type -P rpcbind >/dev/null && inst_multiple rpcbind
++ [ -f /etc/netconfig ] && inst_multiple /etc/netconfig
++ type -P dhcpd >/dev/null && inst_multiple dhcpd
+ [ -x /usr/sbin/dhcpd3 ] && inst /usr/sbin/dhcpd3 /usr/sbin/dhcpd
+ instmods nfsd sunrpc ipv6 lockd af_packet
+ inst_simple /etc/os-release
+@@ -175,9 +175,9 @@ test_setup() {
+ inst ./hosts /etc/hosts
+ inst ./exports /etc/exports
+ inst ./dhcpd.conf /etc/dhcpd.conf
+- dracut_install /etc/nsswitch.conf /etc/rpc /etc/protocols
++ inst_multiple /etc/nsswitch.conf /etc/rpc /etc/protocols
+
+- dracut_install rpc.idmapd /etc/idmapd.conf
++ inst_multiple rpc.idmapd /etc/idmapd.conf
+
+ inst_libdir_file 'libnfsidmap_nsswitch.so*'
+ inst_libdir_file 'libnfsidmap/*.so*'
+@@ -203,12 +203,12 @@ test_setup() {
+ (
+ export initdir="$TESTDIR"/mnt/nfs/client
+ . "$basedir"/dracut-functions.sh
+- dracut_install sh shutdown poweroff stty cat ps ln ip \
++ inst_multiple sh shutdown poweroff stty cat ps ln ip \
+ mount dmesg mkdir cp ping grep ls
+ for _terminfodir in /lib/terminfo /etc/terminfo /usr/share/terminfo; do
+ [[ -f ${_terminfodir}/l/linux ]] && break
+ done
+- dracut_install -o "${_terminfodir}"/l/linux
++ inst_multiple -o "${_terminfodir}"/l/linux
+ inst_simple /etc/os-release
+ inst ./client-init.sh /sbin/init
+ (
+@@ -220,7 +220,7 @@ test_setup() {
+ inst /etc/passwd /etc/passwd
+ inst /etc/group /etc/group
+
+- dracut_install rpc.idmapd /etc/idmapd.conf
++ inst_multiple rpc.idmapd /etc/idmapd.conf
+ inst_libdir_file 'libnfsidmap_nsswitch.so*'
+ inst_libdir_file 'libnfsidmap/*.so*'
+ inst_libdir_file 'libnfsidmap*.so*'
+@@ -243,7 +243,7 @@ test_setup() {
+ (
+ export initdir="$TESTDIR"/overlay
+ . "$basedir"/dracut-functions.sh
+- dracut_install poweroff shutdown
++ inst_multiple poweroff shutdown
+ inst_hook emergency 000 ./hard-off.sh
+ inst_simple ./99-idesymlinks.rules /etc/udev/rules.d/99-idesymlinks.rules
+ )
+diff --git a/test/old.TEST-14-IMSM/test.sh b/test/old.TEST-14-IMSM/test.sh
+index fbb459d..434283b 100755
+--- a/test/old.TEST-14-IMSM/test.sh
++++ b/test/old.TEST-14-IMSM/test.sh
+@@ -59,17 +59,17 @@ test_setup() {
+ (
+ export initdir=$TESTDIR/overlay/source
+ . $basedir/dracut-functions.sh
+- dracut_install sh df free ls shutdown poweroff stty cat ps ln ip route \
++ inst_multiple sh df free ls shutdown poweroff stty cat ps ln ip route \
+ mount dmesg ifconfig dhclient mkdir cp ping dhclient
+ for _terminfodir in /lib/terminfo /etc/terminfo /usr/share/terminfo; do
+ [ -f ${_terminfodir}/l/linux ] && break
+ done
+- dracut_install -o ${_terminfodir}/l/linux
++ inst_multiple -o ${_terminfodir}/l/linux
+ inst "$basedir/modules.d/40network/dhclient-script.sh" "/sbin/dhclient-script"
+ inst "$basedir/modules.d/40network/ifup.sh" "/sbin/ifup"
+- dracut_install grep
++ inst_multiple grep
+ inst ./test-init.sh /sbin/init
+- find_binary plymouth >/dev/null && dracut_install plymouth
++ find_binary plymouth >/dev/null && inst_multiple plymouth
+ (cd "$initdir"; mkdir -p dev sys proc etc var/run tmp )
+ cp -a /etc/ld.so.conf* $initdir/etc
+ mkdir $initdir/run
+@@ -80,7 +80,7 @@ test_setup() {
+ (
+ export initdir=$TESTDIR/overlay
+ . $basedir/dracut-functions.sh
+- dracut_install sfdisk mke2fs poweroff cp umount
++ inst_multiple sfdisk mke2fs poweroff cp umount
+ inst_hook initqueue 01 ./create-root.sh
+ inst_simple ./99-idesymlinks.rules /etc/udev/rules.d/99-idesymlinks.rules
+ )
+@@ -106,7 +106,7 @@ test_setup() {
+ (
+ export initdir=$TESTDIR/overlay
+ . $basedir/dracut-functions.sh
+- dracut_install poweroff shutdown
++ inst_multiple poweroff shutdown
+ inst_hook emergency 000 ./hard-off.sh
+ inst_simple ./99-idesymlinks.rules /etc/udev/rules.d/99-idesymlinks.rules
+ )