Commit graph

184 commits

Author SHA1 Message Date
Eelco Dolstra
6eb94a9bfd * Load some modules, mount the install CD.
svn path=/nixu/trunk/; revision=6936
2006-11-03 09:45:06 +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
707dd20538 * Make device nodes in the stage 1 init (copied from ../init.sh).
svn path=/nixu/trunk/; revision=6932
2006-11-02 23:58:06 +00:00
Eelco Dolstra
ae4b6973bb * Oops.
svn path=/nixu/trunk/; revision=6930
2006-11-02 22:50:30 +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
Eelco Dolstra
f546cad4b7 * Some fixes.
svn path=/nixu/trunk/; revision=6923
2006-11-01 12:07:22 +00:00
Eelco Dolstra
2b995a1150 * Turns out that nested backticks (like $(... $(...))) are evil, since
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
2006-10-31 20:28:35 +00:00
Eelco Dolstra
c55460a027 * Use tar 1.15.1 for now (1.16 is buggy).
* Honour $TMPDIR (my /tmp is full).

svn path=/nixu/trunk/; revision=6918
2006-10-31 17:39:55 +00:00
Eelco Dolstra
319489bf8b * Don't use hardcoded /nixpkgs.
svn path=/nixu/trunk/; revision=6914
2006-10-31 12:15:08 +00:00
Eelco Dolstra
89c31b1c2c * Sketch for purely functional NixOS configuration.
svn path=/nixu/trunk/; revision=6694
2006-10-11 11:11:41 +00:00
Armijn Hemel
c8b64ef689 we can safely use the stable version again
svn path=/nixu/trunk/; revision=6680
2006-10-08 22:05:06 +00:00
Armijn Hemel
edcdb69c57 make it easier to relocate the location of nixpkgs.
svn path=/nixu/trunk/; revision=6602
2006-09-24 22:03:33 +00:00
Armijn Hemel
da7b60735b -r, not -q
svn path=/nixu/trunk/; revision=6589
2006-09-23 23:06:28 +00:00
Armijn Hemel
62f61928e7 also copy a statically linked ncurses to the installer, so at least we get all the right terminfo thingies.
svn path=/nixu/trunk/; revision=6326
2006-08-30 00:40:15 +00:00
Armijn Hemel
e876f67580 pass nano. Not that it actually works, because it also needs ncurses for terminal information...
svn path=/nixu/trunk/; revision=6321
2006-08-30 00:15:02 +00:00
Armijn Hemel
964780812d fix NIXOS-38
svn path=/nixu/trunk/; revision=6317
2006-08-29 21:58:33 +00:00
Armijn Hemel
b5bdf9b453 -r, not -q
svn path=/nixu/trunk/; revision=6295
2006-08-28 13:41:41 +00:00
Armijn Hemel
4a8b316cf6 * show installation instructions at install time
* update manual to reflect new method better

svn path=/nixu/trunk/; revision=6285
2006-08-27 22:31:35 +00:00
Armijn Hemel
1323e55ad3 remove the root(hd0,0) line, because it wasn't needed. At least, not in our
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
2006-08-27 22:18:39 +00:00
Armijn Hemel
f7c69397b7 update howto to reflect new changes
svn path=/nixu/trunk/; revision=6274
2006-08-27 15:34:24 +00:00
Armijn Hemel
65742f6eb9 refactor install process:
* 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
2006-08-27 14:14:59 +00:00
Armijn Hemel
65203abef4 make sure /lib/modules exists on the target drive. Whoopsie.
svn path=/nixu/trunk/; revision=6078
2006-08-08 22:35:40 +00:00
Armijn Hemel
297d159c8d make sure /etc/resolv.conf is available in our chroot
svn path=/nixu/trunk/; revision=6077
2006-08-08 21:31:34 +00:00
Armijn Hemel
9626049ec5 first attempt at using network installs
svn path=/nixu/trunk/; revision=6076
2006-08-08 20:24:33 +00:00
Armijn Hemel
ddc27b2313 use "kernelscripts" package to install the kernel and extra modules. This is
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
2006-08-07 19:48:18 +00:00
Armijn Hemel
7e6a7d6418 rewrite to use busybox
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
2006-08-06 23:59:31 +00:00
Armijn Hemel
33940db2dc re-enable the default debugging login shell
svn path=/nixu/trunk/; revision=6048
2006-08-04 23:39:59 +00:00
Armijn Hemel
183b838ed8 script cleanups
svn path=/nixu/trunk/; revision=6041
2006-08-04 09:29:32 +00:00
Armijn Hemel
97690c23da cosmetic change
svn path=/nixu/trunk/; revision=6036
2006-08-03 18:00:32 +00:00
Armijn Hemel
e030a74c87 remove substitutes that point to the installer CD after installation
svn path=/nixu/trunk/; revision=6035
2006-08-03 17:10:08 +00:00
Armijn Hemel
6e030f736c speed up the installation a *lot*, at the price of a bit more diskspace (49 MB currently)
svn path=/nixu/trunk/; revision=6034
2006-08-03 16:19:04 +00:00
Armijn Hemel
fcc3b33cb9 pack Nix packages in a tarball, unpack tarball, don't copy it file for file from CD (== slow)
svn path=/nixu/trunk/; revision=6030
2006-08-03 13:43:44 +00:00
Armijn Hemel
71755c6176 unmount all filesystems properly before unmounting target disk
svn path=/nixu/trunk/; revision=6026
2006-08-02 22:54:44 +00:00
Armijn Hemel
493661f880 This is a major big update for the install process for NixOS. This requires
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
2006-08-02 22:42:56 +00:00
Armijn Hemel
2c87da322d use less packages
svn path=/nixu/trunk/; revision=6024
2006-08-02 22:34:13 +00:00
Armijn Hemel
8c56a19d55 take closure of statically linked bash, this makes it "deterministic" according to eelco ;)
svn path=/nixu/trunk/; revision=6007
2006-07-31 15:16:10 +00:00
Armijn Hemel
95fa5b81b1 remove a dependency on an external coreutils (overlooked)
svn path=/nixu/trunk/; revision=5669
2006-07-09 22:33:01 +00:00
Armijn Hemel
89762236cf it is nice to have a few more ttys available in NixOS, so mknod them
svn path=/nixu/trunk/; revision=5582
2006-07-04 20:38:14 +00:00
Armijn Hemel
afb7f5b950 actually build nix-unstable
svn path=/nixu/trunk/; revision=5577
2006-07-04 18:12:48 +00:00
Armijn Hemel
45a2be1fbe also use our own cpio. Make sure we don't just query nix expressions, but
actually realize them as well. D'oh!

svn path=/nixu/trunk/; revision=5566
2006-07-03 23:16:44 +00:00
Armijn Hemel
8a14c8d886 wel also want to use our own gzip
svn path=/nixu/trunk/; revision=5565
2006-07-03 22:40:56 +00:00
Armijn Hemel
a1bd3698ef also use our own coreutils
svn path=/nixu/trunk/; revision=5564
2006-07-03 22:20:22 +00:00
Armijn Hemel
c984b735bd also use mkisofs from Nixpkgs
svn path=/nixu/trunk/; revision=5563
2006-07-03 09:32:15 +00:00
Armijn Hemel
a60d5c3bdb also use sed and tar from Nixpkgs instead of the host system
svn path=/nixu/trunk/; revision=5562
2006-07-03 08:39:52 +00:00
Armijn Hemel
e76efef0d0 make sure we always have mktemp, by building our own version first using Nix.
This makes it a bit more pure to build the NixOS iso. Still room for improvement though...

svn path=/nixu/trunk/; revision=5559
2006-07-02 22:37:40 +00:00
Armijn Hemel
32c8535c4d reenable e2fsprogs compiled with dietlibc
svn path=/nixu/trunk/; revision=5528
2006-06-25 10:42:17 +00:00
Armijn Hemel
02cf649af6 small cleanups, also move to newer Nix
svn path=/nixu/trunk/; revision=5524
2006-06-24 22:14:43 +00:00
Armijn Hemel
2a304add0b rewrite to new Nixpkgs and new Nix version
svn path=/nixu/trunk/; revision=5233
2006-04-28 12:45:32 +00:00