nixos/install-grub: Correct store path for search

This commit is contained in:
William A. Kennington III 2014-09-03 09:29:22 -07:00
parent 1b63a1b75e
commit eee8fd89b3

View File

@ -122,7 +122,7 @@ sub GrubFs {
# Based on the type pull in the identifier from the system
my ($status, @devInfo) = runCommand("blkid -o export @{[$fs->device]}");
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]*)/;
if ($#matches != 0) {
@ -164,8 +164,7 @@ sub GrubFs {
return Grub->new(path => $path, search => $search);
}
my $grubBoot = GrubFs("/boot");
# FIXME: Should be /nix/store, but this fails in the installer
my $grubStore = GrubFs("/nix");
my $grubStore = GrubFs("/nix/store");
# Generate the header.
my $conf .= "# Automatically generated. DO NOT EDIT THIS FILE!\n";
@ -244,7 +243,7 @@ mkpath("/boot/kernels", 0, 0755) if $copyKernels;
sub copyToKernelsDir {
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;
my $name = $1; $name =~ s/\//-/g;
my $dst = "/boot/kernels/$name";