From 26ed5623d48ed5096e1928a04fd0655671777d3a Mon Sep 17 00:00:00 2001 From: Thierry Vignaud Date: Sat, 6 Apr 2013 04:55:24 +0000 Subject: offer to pick the distro to rescue when there's more than one --- rescue/NEWS | 1 + rescue/guessmounts | 16 +++++++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) (limited to 'rescue') diff --git a/rescue/NEWS b/rescue/NEWS index aeb6346aa..0722c5328 100644 --- a/rescue/NEWS +++ b/rescue/NEWS @@ -2,6 +2,7 @@ - drop our "use modprobe instead" insmod since we've kmod one for free - include libdevmapper-event-*.so - include persistant storage udev rules needed to see new uuids +- offer to pick the distro to rescue when there's more than one - /var/run/utmp is on tmpfs now Version 1.40 - 6 March 2013 by Thierry Vignaud diff --git a/rescue/guessmounts b/rescue/guessmounts index 67ef6c536..9b592f07e 100755 --- a/rescue/guessmounts +++ b/rescue/guessmounts @@ -85,7 +85,21 @@ if (@roots) { @roots = sort { $b->{version} cmp $a->{version} } @roots; # Then pick mga over mdv: @roots = map { @$_ } partition { $_->{release} =~ /Mageia/ } @roots; - my $selected = first(@roots); + + my $selected; + if (@roots == 1) { + $selected = first(@roots); + } else { + print "\n\nWhich system do you want to rescue?\n"; + each_index { print $::i + 1, ": $_->{pretty_name}\n" } @roots; + my $res; + while ($res < 1 || $res > @roots) { + print "what is your choice (type the number of your selection or C^c to abort)?\n"; + $res = <>; + } + $selected = $roots[$res-1]; + } + $root = $selected->{dev}; $fs = $selected->{fs}; @fstab = @{$selected->{fstab}}; -- cgit v1.2.1