iscsi: run iscsiroot even if no network configured
Also inject finished hooks for every iscsiroot netrootmaster
parent
3e35441f18
commit
c3dd68fcf1
|
|
@ -53,6 +53,8 @@ if getargbool 0 rd.iscsi.firmware -d -y iscsi_firmware ; then
|
|||
done
|
||||
|
||||
iscsistart -b $iscsi_param
|
||||
echo 'started' > "/tmp/iscsistarted-iscsi"
|
||||
echo 'started' > "/tmp/iscsistarted-firmware"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
|
|
@ -146,9 +148,6 @@ handle_netroot()
|
|||
echo "iscsi_lun=$iscsi_lun . /bin/mount-lun.sh " > $hookdir/mount/01-$$-iscsi.sh
|
||||
fi
|
||||
|
||||
# inject new exit_if_exists
|
||||
echo 'settle_exit_if_exists="--exit-if-exists=/dev/root"; rm "$job"' > $hookdir/initqueue/iscsi-settle.sh
|
||||
|
||||
# force udevsettle to break
|
||||
> $hookdir/initqueue/work
|
||||
|
||||
|
|
@ -163,6 +162,10 @@ handle_netroot()
|
|||
${iscsi_netdev_name+--param iface.net_ifacename=$iscsi_netdev_name} \
|
||||
${iscsi_param} \
|
||||
|| :
|
||||
|
||||
netroot_enc=$(str_replace "$1" '/' '\2f')
|
||||
echo 'started' > "/tmp/iscsistarted-iscsi:${netroot_enc}"
|
||||
|
||||
}
|
||||
|
||||
# loop over all netroot parameter
|
||||
|
|
|
|||
|
|
@ -62,6 +62,7 @@ if [ -n "$iscsi_firmware" ] ; then
|
|||
netroot=${netroot:-iscsi}
|
||||
modprobe -q iscsi_boot_sysfs 2>/dev/null
|
||||
modprobe -q iscsi_ibft
|
||||
echo "[ -f '/tmp/iscsistarted-firmware' ]" > $hookdir/initqueue/finished/iscsi_firmware_started.sh
|
||||
fi
|
||||
|
||||
# If it's not iscsi we don't continue
|
||||
|
|
@ -83,9 +84,17 @@ if ! [ -e /sys/module/iscsi_tcp ]; then
|
|||
modprobe -q iscsi_tcp || die "iscsiroot requested but kernel/initrd does not support iscsi"
|
||||
fi
|
||||
|
||||
if [ -n "$netroot" ] && [ "$root" != "/dev/root" ] && [ "$root" != "dhcp" ]; then
|
||||
if ! getargbool 1 rd.neednet >/dev/null || ! getarg "ip="; then
|
||||
initqueue --onetime --settled /sbin/iscsiroot dummy "$netroot" "$NEWROOT"
|
||||
fi
|
||||
fi
|
||||
|
||||
netroot_enc=$(str_replace "$netroot" '/' '\2f')
|
||||
echo "[ -f '/tmp/iscsistarted-$netroot_enc' ]" > $hookdir/initqueue/finished/iscsi_started.sh
|
||||
|
||||
# Done, all good!
|
||||
rootok=1
|
||||
|
||||
# Shut up init error check
|
||||
[ -z "$root" ] && root="iscsi"
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue