diff options
author | Joachim Fasting <joachifm@fastmail.fm> | 2018-06-07 14:23:37 +0200 |
---|---|---|
committer | Joachim Fasting <joachifm@fastmail.fm> | 2018-06-07 14:24:59 +0200 |
commit | 2be28b1df547fde6c5f12d840e7564d239545eef (patch) | |
tree | 6a5965b66751008f4d3dea7f40988e0f1381493f /nixos/modules/system/boot/loader/grub/install-grub.pl | |
parent | 01040d9c27cce96a095dffe8225e220fb8e8dbcc (diff) | |
download | nixlib-2be28b1df547fde6c5f12d840e7564d239545eef.tar nixlib-2be28b1df547fde6c5f12d840e7564d239545eef.tar.gz nixlib-2be28b1df547fde6c5f12d840e7564d239545eef.tar.bz2 nixlib-2be28b1df547fde6c5f12d840e7564d239545eef.tar.lz nixlib-2be28b1df547fde6c5f12d840e7564d239545eef.tar.xz nixlib-2be28b1df547fde6c5f12d840e7564d239545eef.tar.zst nixlib-2be28b1df547fde6c5f12d840e7564d239545eef.zip |
Revert "Merge pull request #38263 from lopsided98/grub-initrd-secrets"
This reverts commit c06d7950f1b97abf510bc70bd2a2b0445e8d36f2, reversing changes made to 4c25fbe338212f498a34d2a9b4c2072ac96c0e31. See https://github.com/NixOS/nixpkgs/issues/41608
Diffstat (limited to 'nixos/modules/system/boot/loader/grub/install-grub.pl')
-rw-r--r-- | nixos/modules/system/boot/loader/grub/install-grub.pl | 30 |
1 files changed, 13 insertions, 17 deletions
diff --git a/nixos/modules/system/boot/loader/grub/install-grub.pl b/nixos/modules/system/boot/loader/grub/install-grub.pl index ed0210d5645d..872261d0edfa 100644 --- a/nixos/modules/system/boot/loader/grub/install-grub.pl +++ b/nixos/modules/system/boot/loader/grub/install-grub.pl @@ -49,7 +49,7 @@ my $extraPrepareConfig = get("extraPrepareConfig"); my $extraPerEntryConfig = get("extraPerEntryConfig"); my $extraEntries = get("extraEntries"); my $extraEntriesBeforeNixOS = get("extraEntriesBeforeNixOS") eq "true"; -my $initrdSecrets = get("initrdSecrets"); +my $extraInitrd = get("extraInitrd"); my $splashImage = get("splashImage"); my $configurationLimit = int(get("configurationLimit")); my $copyKernels = get("copyKernels") eq "true"; @@ -228,6 +228,13 @@ my $grubStore; if ($copyKernels == 0) { $grubStore = GrubFs($storePath); } +my $extraInitrdPath; +if ($extraInitrd) { + if (! -f $extraInitrd) { + print STDERR "Warning: the specified extraInitrd " . $extraInitrd . " doesn't exist. Your system won't boot without it.\n"; + } + $extraInitrdPath = GrubFs($extraInitrd); +} # Generate the header. my $conf .= "# Automatically generated. DO NOT EDIT THIS FILE!\n"; @@ -347,23 +354,9 @@ sub addEntry { my $kernel = copyToKernelsDir(Cwd::abs_path("$path/kernel")); my $initrd = copyToKernelsDir(Cwd::abs_path("$path/initrd")); - - # Include second initrd with secrets - if ($initrdSecrets) { - # Get last element of path - $initrd =~ /\/([^\/]+)$/; - my $initrdSecretsPath = "$bootPath/kernels/$1-secrets"; - $initrd .= " $initrd-secrets"; - my $oldUmask = umask; - # Make sure initrd is not world readable (won't work if /boot is FAT) - umask 0137; - my $initrdSecretsPathTemp = File::Temp::mktemp("$initrdSecretsPath.XXXXXXXX"); - system("$path/append-initrd-secrets", $initrdSecretsPathTemp) == 0 or die "failed to create initrd secrets\n"; - rename $initrdSecretsPathTemp, $initrdSecretsPath or die "failed to move initrd secrets into place\n"; - umask $oldUmask; - $copied{$initrdSecretsPath} = 1; + if ($extraInitrd) { + $initrd .= " " .$extraInitrdPath->path; } - my $xen = -e "$path/xen.gz" ? copyToKernelsDir(Cwd::abs_path("$path/xen.gz")) : undef; # FIXME: $confName @@ -386,6 +379,9 @@ sub addEntry { if ($copyKernels == 0) { $conf .= $grubStore->search . "\n"; } + if ($extraInitrd) { + $conf .= $extraInitrdPath->search . "\n"; + } $conf .= " $extraPerEntryConfig\n" if $extraPerEntryConfig; $conf .= " multiboot $xen $xenParams\n" if $xen; $conf .= " " . ($xen ? "module" : "linux") . " $kernel $kernelParams\n"; |