dinfo "*** Including modules done ***"
+get_persistent_dev() {
+ local i _tmp
+ local _dev=${1##*/}
+
+ for i in /dev/disk/by-id/*; do
+ _tmp=$(readlink $i)
+ [ "${_tmp##*/}" = "$_dev" ] && echo $i && return
+ done
+}
+
+## save host_devs which we need bring up
+for _dev in ${host_devs[@]}; do
+ _pdev=$(get_persistent_dev $_dev)
+ [ -n "$_pdev" ] && echo $_pdev >> $initdir/etc/host_devs
+done
+
## final stuff that has to happen
if [[ $no_kernel != yes ]]; then
install() {
[ -f /etc/fstab.sys ] && inst_simple /etc/fstab.sys
inst_hook pre-pivot 00 "$moddir/mount-sys.sh"
- inst_hook cmdline 00 "$moddir/wait-mount-dev.sh"
}
+++ /dev/null
-#!/bin/sh
-# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
-# ex: ts=8 sw=4 sts=4 et filetype=sh
-
-type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh
-type det_fs >/dev/null 2>&1 || . /lib/fs-lib.sh
-
-fstab_wait_dev() {
- local _dev _mp _fs _opts _dump _pass _rest
- test -e "$1" || return 1
- while read _dev _mp _fs _opts _dump _pass _rest; do
- [ -z "${_dev%%#*}" ] && continue # Skip comment lines
- case "$_dev" in
- /dev/?*)
- wait_for_dev $_dev;;
- *) ;;
- esac
- done < $1
- return 0
-}
-
-[ -f /etc/fstab ] && fstab_wait_dev /etc/fstab
dracut_install switch_root || dfatal "Failed to install switch_root"
inst_simple "$moddir/dracut-lib.sh" "/lib/dracut-lib.sh"
+ inst_hook cmdline 00 "$moddir/wait-host-devs.sh"
inst_hook cmdline 10 "$moddir/parse-root-opts.sh"
mkdir -p "${initdir}/var"
[ -x /lib/systemd/systemd-timestamp ] && inst /lib/systemd/systemd-timestamp
--- /dev/null
+#!/bin/sh
+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
+# ex: ts=8 sw=4 sts=4 et filetype=sh
+
+type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh
+
+wait_host_devs() {
+ local _dev
+
+ while read _dev; do
+ case "$_dev" in
+ /dev/?*)
+ wait_for_dev $_dev
+ ;;
+ *) ;;
+ esac
+ done < $1
+}
+
+[ -f /etc/host_devs ] && wait_host_devs /etc/host_devs