* 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
bash doesn't check the exit status of the inner commands. Replace
the $(nix-store -r $(nix-instantiate)) calls with nix-build.
* Some of the diet packages are gone now, use the dietlibc stdenv.
svn path=/nixu/trunk/; revision=6920
situation. I don't know how it will it work with something like dual booting
and chain loading, so that is unsupported right now :P
svn path=/nixu/trunk/; revision=6282
* user is dropped into a shell, where the user can run tools like fdisk to partition a disk
* user needs to add a file called "disklayout" where it specifies SWAP, INSTALLDEVICE and TARGETDRIVE
* depending on the values of these the installscript might need to be fixed to get the GRUB configuration right
It's still somewhat inflexible, but it gives the user a bit more control than the old scheme
svn path=/nixu/trunk/; revision=6271
actually bad, because in theory a different kernel could be chosen to be
installed and then we could not load any modules...but even communism
works...in theory!
svn path=/nixu/trunk/; revision=6068
TODO: rewrite some of the tools to use the busybox tools instead of the "normal" utilities during installation, so we can shave off another 15 MB from the
installer
svn path=/nixu/trunk/; revision=6063
the latest patches to Nix itself, which were committed the last few days.
Biggest changes:
make-disk.sh:
* use nix-push to generate NAR files and a manifest
* use only copy a "few" packages (but probably still too many than we want) to the Nix store on the CD
fill-disk.sh:
* use nix-pull to register a manifest with a lot of packages. Only copy and
register as valid the few packages that are in the Nix store on the installer
CD, install the rest via nix-env and other tools (this needs to be reviewed
thoroughly for optimizations).
All in all the install process is a lot cleaner now, the login script is broken
however (but should be relatively easy to fix with some Nix wizardry). NIX_ROOT
is still broken, but we can work around most issues with relative ease now.
svn path=/nixu/trunk/; revision=6025