From 67daf811e1f9a77affe5531c5dc2f0f08d3695c9 Mon Sep 17 00:00:00 2001 From: Pascal Rigaux Date: Fri, 13 Feb 2004 15:42:53 +0000 Subject: create read_grub_device_map() --- perl-install/bootloader.pm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'perl-install/bootloader.pm') diff --git a/perl-install/bootloader.pm b/perl-install/bootloader.pm index 5d5356a96..3b741825f 100644 --- a/perl-install/bootloader.pm +++ b/perl-install/bootloader.pm @@ -1045,13 +1045,18 @@ sub dev2grub { "($grub" . ($3 && "," . ($3 - 1)) . ")"; } +sub read_grub_device_map() { + my %grub2dev = map { m!\((.*)\) /dev/(.*)$! } cat_("$::prefix/boot/grub/device.map"); + \%grub2dev; +} + sub grub2dev { my ($device, $o_block_device) = @_; my ($dev, $part) = ($1 . ")", $2) if $device =~ s/(\([^,]*?)(?:,(.*))?\)//; undef $part if $o_block_device; $part++ if defined $part; # grub wants "(hdX,Y)" where lilo just want "hdY+1" $dev =~ s/,[^)]*//; - my $new_dev = +{ map { chomp; s/()//g; split(/\s+/, $_, 2) } cat_("$::prefix/boot/grub/device.map") }->{$dev} . $part; + my $new_dev = '/dev/' . read_grub_device_map()->{$dev} . $part; wantarray() ? ($device, $new_dev) : $new_dev; } -- cgit v1.2.1