Commit graph

8 commits

Author SHA1 Message Date
Eelco Dolstra 1691c66673 * Nix expression for stage 2.
* Start stage 2 from stage 1.

svn path=/nixu/trunk/; revision=6945
2006-11-04 00:01:13 +00:00
Eelco Dolstra 14cc7b8828 * Support adding the closure of a set of store paths to the ISO
image (along with an /init symlink for stage 2 of the boot
  process).

svn path=/nixu/trunk/; revision=6944
2006-11-03 23:41:57 +00:00
Eelco Dolstra 1aa35c8267 * Instead of adding all of util-linux to the initd, add just mount
(and nuke its references so that we don't get glibc etc.).  The
  initrd is now 3.2 MB (and that includes the entire staticTools from
  the stdenv bootstrap, most of which we don't actually need).

svn path=/nixu/trunk/; revision=6942
2006-11-03 13:35:02 +00:00
Eelco Dolstra a94dd5c8b1 * Given a kernel build (with modules in $kernel/lib/modules/VERSION),
`modules-closure.nix' produces a module tree in
  $out/lib/modules/VERSION that contains only the modules identified
  by `rootModules', plus their dependencies.  It also generates an
  appropriate modules.dep.  This is useful for initrds, as we
  obviously don't want a copy of the entire kernel module tree in the
  initial RAM disk.

svn path=/nixu/trunk/; revision=6939
2006-11-03 11:47:40 +00:00
Eelco Dolstra 23381ed03f * Add the module tools, util-linux and the kernel modules to the
initrd.  Of course, the next step is to only add the kernel modules
  that we're going to need.

svn path=/nixu/trunk/; revision=6934
2006-11-03 00:36:08 +00:00
Eelco Dolstra 2d31e1b6d6 * A minimal boot script for stage 1 of the boot (loading kernel
modules).  The closure of the boot script is all we need in the
  initrd.

svn path=/nixu/trunk/; revision=6929
2006-11-02 22:48:01 +00:00
Eelco Dolstra 3336325781 * Remove cruft. BTW, to build the rescue ISO image:
$ nix-build ./rescue-system.nix -A rescueCD

  Point VMware at ./result/nixos.iso and voila.

svn path=/nixu/trunk/; revision=6927
2006-11-02 17:58:33 +00:00
Eelco Dolstra fff7011066 Purifying the NixOS build stuff.
* 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
2006-11-02 17:56:50 +00:00