Commit 5d016ef added support for doing cdrom-swapping while doing "inst.ks=cdrom[:...]". But it turns out that if you're slow to swap the discs, we'll hit dracut's retry timeout and it'll drop to the emergency shell.
So, in response to User Requests, we now disable the timeout entirely when using "inst.ks=cdrom[:...]"; dracut will wait forever for the kickstart and/or installer media, and if anything goes wrong you're just stuck and you'll need to reset.
Resolves: rhbz#1168902
Added label: rhel7-branch.
From: Will Woods wwoods@redhat.com
Commit 5d016ef added support for doing cdrom-swapping while doing "inst.ks=cdrom[:...]". But it turns out that if you're slow to swap the discs, we'll hit dracut's retry timeout and it'll drop to the emergency shell.
So, in response to User Requests, we now disable the timeout entirely when using "inst.ks=cdrom[:...]"; dracut will wait forever for the kickstart and/or installer media, and if anything goes wrong you're just stuck and you'll need to reset.
Resolves: rhbz#1168902 --- dracut/kickstart-genrules.sh | 6 ++++++ 1 file changed, 6 insertions(+)
diff --git a/dracut/kickstart-genrules.sh b/dracut/kickstart-genrules.sh index 3b83d6c1..f868f4c 100755 --- a/dracut/kickstart-genrules.sh +++ b/dracut/kickstart-genrules.sh @@ -19,6 +19,12 @@ case "${kickstart%%:*}" in when_diskdev_appears "$ksdev" \ fetch-kickstart-disk $env{DEVNAME} "$kspath" fi + # "cdrom:" also means "wait forever for kickstart" because rhbz#1168902 + if [ "$kstype" = "cdrom" ]; then + # if we reset main_loop to 0 every loop, we never hit the timeout.. + jobfile="$hookdir/initqueue/finished/wait-forever-for-ks-cdrom.sh" + echo "main_loop=0" > "$jobfile" + fi wait_for_kickstart ;; bd) # bd:<dev>:<path> - biospart (TODO... if anyone uses this anymore)
Added label: master.
@@ -19,6 +19,12 @@ case "${kickstart%%:*}" in when_diskdev_appears "$ksdev" \ fetch-kickstart-disk $env{DEVNAME} "$kspath" fi
# "cdrom:" also means "wait forever for kickstart" because rhbz#1168902
if [ "$kstype" = "cdrom" ]; then
# if we reset main_loop to 0 every loop, we never hit the timeout..
jobfile="$hookdir/initqueue/finished/wait-forever-for-ks-cdrom.sh"
echo "main_loop=0" > "$jobfile"
I don't now how exactly the ``finished`` guards work, but where does ``main_loop`` come from and if it is a variable, shouldn't the condition be ``$main_loop=0``? Unless I'm missing some big thing here, the comment needs to be extended a bit.
anaconda-patches@lists.fedorahosted.org