2006-12-17 00:50:10 +01:00
|
|
|
*** Building the installation CD ***
|
2006-11-24 01:04:29 +01:00
|
|
|
|
2006-12-17 00:50:10 +01:00
|
|
|
- Make sure that you have a very recent Nix.
|
2006-11-24 01:04:29 +01:00
|
|
|
|
2006-12-17 00:50:10 +01:00
|
|
|
- Pull from the Nixpkgs channel to speed up building.
|
2006-11-24 01:04:29 +01:00
|
|
|
|
2006-12-17 00:50:10 +01:00
|
|
|
- Check out https://svn.cs.uu.nl:12443/repos/trace/nixos/trunk/.
|
2006-11-23 23:53:25 +01:00
|
|
|
|
2006-12-18 01:12:45 +01:00
|
|
|
- make a symbolic link called "pkgs" to the location of Nixpkgs
|
|
|
|
|
2006-12-17 00:50:10 +01:00
|
|
|
- Build the ISO image:
|
2006-11-23 23:53:25 +01:00
|
|
|
|
2006-12-17 00:50:10 +01:00
|
|
|
$ nix-build instances/rescue-cd.nix -A rescueCD
|
|
|
|
|
|
|
|
This gives you an image in result/iso/nixos.iso.
|
|
|
|
|
|
|
|
- Burn the ISO image or attach it to a CD-ROM drive in VMware.
|
|
|
|
|
|
|
|
|
|
|
|
*** Installation ***
|
|
|
|
|
|
|
|
- Boot from the CD.
|
|
|
|
|
|
|
|
- The CD contains a pretty complete NixOS installation. When it's
|
|
|
|
finished booting, it should have detected most of your hardware and
|
|
|
|
brought up networking (check ifconfig). Networking is necessary for
|
|
|
|
the installer. It's best if you have a DHCP server on your
|
|
|
|
network. Otherwise configure manually.
|
|
|
|
|
|
|
|
- Login as "root", empty password.
|
|
|
|
|
|
|
|
- The NixOS installer doesn't do any partitioning or formatting yet,
|
2006-12-25 20:55:40 +01:00
|
|
|
so you need to that yourself. Use "fdisk", "mkfs.ext2" and "tune2fs".
|
2006-12-17 00:50:10 +01:00
|
|
|
|
|
|
|
- Unpack the NixOS and Nixpkgs sources:
|
|
|
|
|
|
|
|
$ tar xf /nixos.tar.bz2
|
|
|
|
$ tar xf /nixpkgs.tar.bz2
|
|
|
|
$ ln -s nixpkgs-*/pkgs .
|
|
|
|
|
|
|
|
(TODO: do this automatically.)
|
|
|
|
|
|
|
|
- The installation is declarative; you need to make a description of
|
|
|
|
the configuration that is to be built and activated. The
|
|
|
|
configuration is specified in a Nix expression. See
|
|
|
|
instances/examples for example machine configurations. You can copy
|
|
|
|
and edit one of those (e.g., instances/examples/basic.nix to
|
|
|
|
my-config.nix). See configuration/options.nix for available
|
|
|
|
configuration settings. The text editor "nano" is available.
|
2006-11-23 23:53:25 +01:00
|
|
|
|
2006-12-17 00:50:10 +01:00
|
|
|
In particular you need to specify boot.rootDevice and
|
|
|
|
boot.grubDevice for the devices where the OS and Grub are to be
|
|
|
|
installed, respectively.
|
2006-11-23 23:53:25 +01:00
|
|
|
|
2006-12-17 00:50:10 +01:00
|
|
|
- Do the installation:
|
2006-11-23 23:53:25 +01:00
|
|
|
|
2006-12-17 00:50:10 +01:00
|
|
|
$ nixos-installer.sh /dev/TARGET . my-config.nix
|
2006-11-23 23:53:25 +01:00
|
|
|
|
2006-12-17 00:50:10 +01:00
|
|
|
where TARGET matched boot.rootDevice in your configuration. (TODO:
|
|
|
|
this should be extracted automatically.)
|
|
|
|
|
|
|
|
- If everything went well:
|
|
|
|
|
|
|
|
$ reboot
|
|
|
|
|
|
|
|
You should now be able to boot into the installed NixOS.
|
|
|
|
|
|
|
|
|
|
|
|
*** Troubleshooting ***
|
|
|
|
|
|
|
|
|
|
|
|
To get a Stage 1 shell:
|
|
|
|
|
|
|
|
- Add "debug1" to the kernel command line.
|
|
|
|
|
|
|
|
|
|
|
|
To switch to maintenance mode:
|
|
|
|
|
|
|
|
$ shutdown now
|
|
|
|
|
|
|
|
To get out of maintenance mode:
|
2006-11-23 23:53:25 +01:00
|
|
|
|
2006-12-17 00:50:10 +01:00
|
|
|
$ initctl emit startup
|