nixpkgs/test/system-configuration.nix
Eelco Dolstra 2cccff268d * Pass the path of the stage 2 init script to stage 1 init through the
kernel command line, instead of having a /init symlink.  This allows
  us to switch between configurations.
* Some debug support: adding `debug' to the kernel command line gives
  a stage 1 shell.

svn path=/nixu/trunk/; revision=7107
2006-11-24 00:04:29 +00:00

45 lines
927 B
Nix

let
# The root device.
rootDevice = "/dev/hda1";
# The device on which GRUB should be installed (leave empty if you
# don't want GRUB to be installed).
grubDevice = "/dev/hda";
# Build boot scripts.
bootEnv = import ./boot-environment.nix {
autoDetectRootDevice = false;
inherit rootDevice;
stage2Init = ""; # Passed on the command line via Grub.
readOnlyRoot = false;
};
in
with bootEnv;
rec {
systemConfiguration = pkgs.stdenv.mkDerivation {
name = "system-configuration";
builder = ./system-configuration.sh;
inherit (pkgs) grub coreutils gnused gnugrep diffutils;
inherit grubDevice;
inherit bootStage2;
inherit grubMenuBuilder;
kernel = pkgs.kernel + "/vmlinuz";
initrd = initialRamdisk + "/initrd";
};
grubMenuBuilder = pkgs.genericSubstituter {
src = ./grub-menu-builder.sh;
isExecutable = true;
inherit (pkgs) bash;
};
}