boots into stage 1 (kernel+initrd) succesfully.
`system-configuration.nix' contains the definition of the
configuration to be installed. The attribute systemConfiguration is
installed into the profile /nix/var/nix/profiles/system. Then the
program /nix/var/nix/profiles/system/bin/switch-to-configuration is
called to finalise the installation. This program (generated by
system-configuration.sh) installs Grub on the drive with a menu that
contains the entry for the desired kernel and initrd.
In principle this allows us to do rollbacks to previous system
configurations by doing `nix-env --rollback' and then calling
switch-to-configuration to update Grub. Ideally this should be done
in a single command (and we should consider the obvious risk of
garbage collecting the current kernel etc. to which the current Grub
menu points...).
Maybe the responsibility for generating the Grub menu should be
placed somewhere else. For instance, we could generate a Grub menu
automatically out of all the generations in the `system' profile.
svn path=/nixu/trunk/; revision=7009
* make-initrd.nix: builds a initial RAM disk. The resulting initrd
will contain just a Nix store containing the specified lists of
packages, with a symlink `/init' to the actual init program in the
Nix store.
* make-iso9660-image.nix: builds a bootable ISO image.
* rescue-system.nix: builds a bootable ISO image (using the two
function above) that boots into a very minimal Linux environment
containing (at the moment) the dietlibc-based bash and coreutils,
loaded from the initrd. Eventually this should become a two-stage
boot (load kernel modules from the initrd, mount the actual root
file system (e.g., the installation CD), call the real init).
The rescue system (probably a misnomer) should become the minimal
environment necessary for the installer (on CD) and the boot process
of an installed NixOS (on HD).
svn path=/nixu/trunk/; revision=6926