From 5262467c1206558e55d891c49b9e6c643fb47c6a Mon Sep 17 00:00:00 2001 From: Christophe Fergeau Date: Wed, 10 Feb 2010 16:58:23 +0000 Subject: fix generation of grub md5 password on 64 bit installs we can't directly run grub-md5-crypt in 64 bit installs since it will run grub which is a 32 bit binary, and the install root fs doesn't have 32 bit user-land support. chroot into the target system if ::prefix is set to have proper 32 bit support if needed. --- perl-install/bootloader.pm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/perl-install/bootloader.pm b/perl-install/bootloader.pm index c7944a377..84bca9173 100644 --- a/perl-install/bootloader.pm +++ b/perl-install/bootloader.pm @@ -1676,7 +1676,9 @@ sub crypt_grub_password { require IPC::Open2; local $ENV{LC_ALL} = 'C'; my ($his_out, $his_in); - my $pid = IPC::Open2::open2($his_out, $his_in, "$::prefix/sbin/grub-md5-crypt", $::prefix ? "--grub-shell=$::prefix/sbin/grub" : ()); + my $cmd = ($::prefix ? "chroot $::prefix " : "") . "/sbin/grub-md5-crypt"; + + my $pid = IPC::Open2::open2($his_out, $his_in, $cmd); my ($line, $res); while (sysread($his_out, $line, 100)) { -- cgit v1.2.1