Merge pull request #3949 from wkennington/master.grub
grub2: Add localizations
This commit is contained in:
commit
65ef435d7b
|
@ -11,7 +11,7 @@ let
|
||||||
# The Grub image.
|
# The Grub image.
|
||||||
grubImage = pkgs.runCommand "grub_eltorito" {}
|
grubImage = pkgs.runCommand "grub_eltorito" {}
|
||||||
''
|
''
|
||||||
${pkgs.grub2}/bin/grub-mkimage -O i386-pc -o tmp biosdisk iso9660 help linux linux16 chain png jpeg echo gfxmenu reboot
|
${pkgs.grub2}/bin/grub-mkimage -p /boot/grub -O i386-pc -o tmp biosdisk iso9660 help linux linux16 chain png jpeg echo gfxmenu reboot
|
||||||
cat ${pkgs.grub2}/lib/grub/*/cdboot.img tmp > $out
|
cat ${pkgs.grub2}/lib/grub/*/cdboot.img tmp > $out
|
||||||
''; # */
|
''; # */
|
||||||
|
|
||||||
|
|
|
@ -122,7 +122,7 @@ sub GrubFs {
|
||||||
# Based on the type pull in the identifier from the system
|
# Based on the type pull in the identifier from the system
|
||||||
my ($status, @devInfo) = runCommand("blkid -o export @{[$fs->device]}");
|
my ($status, @devInfo) = runCommand("blkid -o export @{[$fs->device]}");
|
||||||
if ($status != 0) {
|
if ($status != 0) {
|
||||||
die "Failed to get blkid info for @{[$fs->device]}";
|
die "Failed to get blkid info for @{[$fs->mount]} on @{[$fs->device]}";
|
||||||
}
|
}
|
||||||
my @matches = join("", @devInfo) =~ m/@{[uc $fsIdentifier]}=([^\n]*)/;
|
my @matches = join("", @devInfo) =~ m/@{[uc $fsIdentifier]}=([^\n]*)/;
|
||||||
if ($#matches != 0) {
|
if ($#matches != 0) {
|
||||||
|
@ -164,8 +164,7 @@ sub GrubFs {
|
||||||
return Grub->new(path => $path, search => $search);
|
return Grub->new(path => $path, search => $search);
|
||||||
}
|
}
|
||||||
my $grubBoot = GrubFs("/boot");
|
my $grubBoot = GrubFs("/boot");
|
||||||
# FIXME: Should be /nix/store, but this fails in the installer
|
my $grubStore = GrubFs("/nix/store");
|
||||||
my $grubStore = GrubFs("/nix");
|
|
||||||
|
|
||||||
# Generate the header.
|
# Generate the header.
|
||||||
my $conf .= "# Automatically generated. DO NOT EDIT THIS FILE!\n";
|
my $conf .= "# Automatically generated. DO NOT EDIT THIS FILE!\n";
|
||||||
|
@ -244,7 +243,7 @@ mkpath("/boot/kernels", 0, 0755) if $copyKernels;
|
||||||
|
|
||||||
sub copyToKernelsDir {
|
sub copyToKernelsDir {
|
||||||
my ($path) = @_;
|
my ($path) = @_;
|
||||||
return $grubStore->path . substr($path, length("/nix")) unless $copyKernels;
|
return $grubStore->path . substr($path, length("/nix/store")) unless $copyKernels;
|
||||||
$path =~ /\/nix\/store\/(.*)/ or die;
|
$path =~ /\/nix\/store\/(.*)/ or die;
|
||||||
my $name = $1; $name =~ s/\//-/g;
|
my $name = $1; $name =~ s/\//-/g;
|
||||||
my $dst = "/boot/kernels/$name";
|
my $dst = "/boot/kernels/$name";
|
||||||
|
|
|
@ -22,6 +22,13 @@ let
|
||||||
url = "http://unifoundry.com/unifont-5.1.20080820.bdf.gz";
|
url = "http://unifoundry.com/unifont-5.1.20080820.bdf.gz";
|
||||||
sha256 = "0s0qfff6n6282q28nwwblp5x295zd6n71kl43xj40vgvdqxv0fxx";
|
sha256 = "0s0qfff6n6282q28nwwblp5x295zd6n71kl43xj40vgvdqxv0fxx";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
po_src = fetchurl {
|
||||||
|
name = "grub-2.02-beta2.tar.gz";
|
||||||
|
url = "http://alpha.gnu.org/gnu/grub/grub-2.02~beta2.tar.gz";
|
||||||
|
sha256 = "1lr9h3xcx0wwrnkxdnkfjwy08j7g7mdlmmbdip2db4zfgi69h0rm";
|
||||||
|
};
|
||||||
|
|
||||||
in (
|
in (
|
||||||
|
|
||||||
assert efiSupport -> canEfi;
|
assert efiSupport -> canEfi;
|
||||||
|
@ -61,7 +68,10 @@ stdenv.mkDerivation rec {
|
||||||
'';
|
'';
|
||||||
|
|
||||||
prePatch =
|
prePatch =
|
||||||
'' sh autogen.sh
|
'' tar zxf ${po_src} grub-2.02~beta2/po
|
||||||
|
rm -rf po
|
||||||
|
mv grub-2.02~beta2/po po
|
||||||
|
sh autogen.sh
|
||||||
gunzip < "${unifont_bdf}" > "unifont.bdf"
|
gunzip < "${unifont_bdf}" > "unifont.bdf"
|
||||||
sed -i "configure" \
|
sed -i "configure" \
|
||||||
-e "s|/usr/src/unifont.bdf|$PWD/unifont.bdf|g"
|
-e "s|/usr/src/unifont.bdf|$PWD/unifont.bdf|g"
|
||||||
|
|
Loading…
Reference in New Issue