[PATCH rhel7/master] Allow swapping discs when doing inst.dd (#1066784)

Will Woods wwoods at redhat.com
Tue Mar 4 15:53:53 UTC 2014


So. Apparently there are Super Important Workflows that need to:

  1) eject the installer DVD
  2) insert a Driver Update Disc
  3) load drivers
  4) possibly repeat 2-3
  5) re-insert installer DVD and continue with install

And they need this *desperately* and *immediately*. So we need a quick fix.

This patch set basically just adds a 'r'efresh menu item to the menu that
appears when 'inst.dd' is in the boot arguments. At that point, you can eject
the DVD and insert your DUD, refresh the screen, and then load drivers from
the newly-found driver disc. You can continue to do so until you are
satisfied, then replace the installer media, hit 'c' to continue and anaconda
should start up as usual.

NOTE: You'll need to remember to replace the installer DVD after you're
finished - we don't check for that before you hit 'c' to continue. In theory,
if you forget, dracut should wait 30 seconds for you to insert the correct
disk, but there's no prompt for that or anything.

That should get fixed sometime soon, but this should satisfy the immediate
requirement.

Anyway, there's three refactoring patches and three patches that add new
behavior:

Patch 1 refactors the code to allow new options in the menu.

Patch 2 refactors the "load drivers, look for new OEMDRV devices, and load
them too" loop into its own function.

Patch 3 cleans up handling of dd_skip vs. dd_finished so we can more clearly
see the difference between what we're skipping vs. what we're finished with.

Patch 4 adds the 'refresh' item to the menu, patch 5 uses the 'DoRefresh'
return value to actually implement the refresh, and patch 6 adds a loop to the
interactive portion so we don't exit until the user chooses to 'c'ontinue.

Total changes:

 dracut/driver-updates | 105 ++++++++++++++++++++++++++++++++++----------------
 1 file changed, 71 insertions(+), 34 deletions(-)

-w



More information about the anaconda-patches mailing list