Author: viric
Date: Mon Apr 2 17:19:21 2012
New Revision: 33539
URL: https://nixos.org/websvn/nix/?rev=33539&sc=1
Log:
Adding a module for memtest86+, so if enabled, will appear in the grub menu.
To enable it:
boot.loader.grub.memtest86 = true;
Added:
nixos/trunk/modules/installer/grub/memtest.nix
Modified:
nixos/trunk/modules/installer/grub/grub-menu-builder.sh
nixos/trunk/modules/installer/grub/grub.nix
nixos/trunk/modules/module-list.nix
Modified: nixos/trunk/modules/installer/grub/grub-menu-builder.sh
==============================================================================
--- nixos/trunk/modules/installer/grub/grub-menu-builder.sh Mon Apr 2
15:19:05 2012 (r33538)
+++ nixos/trunk/modules/installer/grub/grub-menu-builder.sh Mon Apr 2
17:19:21 2012 (r33539)
@@ -240,6 +240,7 @@
mkdir -p /boot/kernels
fi
+@extraPrepareConfig@
# Additional entries specified verbatim by the configuration.
extraEntries=`cat <<EOF
Modified: nixos/trunk/modules/installer/grub/grub.nix
==============================================================================
--- nixos/trunk/modules/installer/grub/grub.nix Mon Apr 2 15:19:05 2012
(r33538)
+++ nixos/trunk/modules/installer/grub/grub.nix Mon Apr 2 17:19:21 2012
(r33539)
@@ -12,7 +12,7 @@
inherit grub;
inherit (pkgs) bash;
path = [pkgs.coreutils pkgs.gnused pkgs.gnugrep];
- inherit (config.boot.loader.grub) copyKernels
+ inherit (config.boot.loader.grub) copyKernels extraPrepareConfig
extraConfig extraEntries extraEntriesBeforeNixOS extraPerEntryConfig
splashImage configurationLimit version default timeout;
};
@@ -85,6 +85,14 @@
'';
};
+ extraPrepareConfig = mkOption {
+ default = "";
+ description = ''
+ Additional bash commands to be run at the script that
+ prepares the grub menu entries.
+ '';
+ };
+
extraConfig = mkOption {
default = "";
example = "serial; terminal_output.serial";
Added: nixos/trunk/modules/installer/grub/memtest.nix
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ nixos/trunk/modules/installer/grub/memtest.nix Mon Apr 2 17:19:21
2012 (r33539)
@@ -0,0 +1,33 @@
+# This module adds Memtest86 to the Grub boot menu on the CD. !!! It
+# would be nice if this also worked for normal configurations.
+
+{config, pkgs, ...}:
+
+with pkgs.lib;
+let
+ isEnabled = config.boot.loader.grub.memtest86;
+in
+{
+ options = {
+ boot.loader.grub.memtest86 = mkOption {
+ default = false;
+ type = types.bool;
+ description = ''
+ Add a menu entry in grub for memtest86+
+ '';
+ };
+ };
+
+ config.boot.loader.grub = mkIf isEnabled {
+ extraEntries =
+ ''
+ menuentry "Memtest86+" {
+ linux16 $bootRoot/memtest.bin
+ }
+ '';
+ extraPrepareConfig =
+ ''
+ cp ${pkgs.memtest86}/memtest.bin /boot/memtest.bin;
+ '';
+ };
+}
Modified: nixos/trunk/modules/module-list.nix
==============================================================================
--- nixos/trunk/modules/module-list.nix Mon Apr 2 15:19:05 2012 (r33538)
+++ nixos/trunk/modules/module-list.nix Mon Apr 2 17:19:21 2012 (r33539)
@@ -25,6 +25,7 @@
./installer/efi-boot-stub/efi-boot-stub.nix
./installer/generations-dir/generations-dir.nix
./installer/grub/grub.nix
+ ./installer/grub/memtest.nix
./installer/init-script/init-script.nix
./installer/tools/nixos-checkout.nix
./installer/tools/tools.nix
_______________________________________________
nix-commits mailing list
[email protected]
http://lists.science.uu.nl/mailman/listinfo/nix-commits