Go to file
Eelco Dolstra 37c17d7601 * When runtime switching to a new configuration, stop/start/restart
Upstart jobs as appropriate.  I.e., if a job exists in the old but
  not the new configuration, stop it; if it exists in the new but not
  the old, start it; and most interesting, if it exists in both but
  its store paths differ, restart it.  So the purely functional model
  combined cryptographic hashing allows us to precisely identify how
  two configurations differ from each other 

svn path=/nixos/trunk/; revision=7385
2006-12-18 16:27:56 +00:00
boot * activate-configuration.sh: make sure that we're running on a NixOS 2006-12-16 21:48:12 +00:00
configuration * When runtime switching to a new configuration, stop/start/restart 2006-12-18 16:27:56 +00:00
helpers * Use getenv/useradd. 2006-12-18 15:48:29 +00:00
installer * More installer fixes. 2006-12-17 00:10:28 +00:00
instances * Fix the sshd and xserver jobs. 2006-12-18 15:16:20 +00:00
upstart-jobs * Doh. 2006-12-18 15:52:43 +00:00
README add instruction to add symlink to nixpkgs 2006-12-18 00:12:45 +00:00
STABLE * Version number, stable marker. 2006-11-04 11:27:08 +00:00
test.sh * Use the configuration in /etc/nixos/configuration.nix by default. 2006-12-12 00:08:26 +00:00
upgrade.sh * Use nix-env --set. 2006-12-13 12:21:06 +00:00
VERSION * Version number, stable marker. 2006-11-04 11:27:08 +00:00

*** Building the installation CD ***

- Make sure that you have a very recent Nix.

- Pull from the Nixpkgs channel to speed up building.

- Check out https://svn.cs.uu.nl:12443/repos/trace/nixos/trunk/.

- make a symbolic link called "pkgs" to the location of Nixpkgs

- Build the ISO image:

  $ 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,
  so you need to that yourself.  Use "fdisk" and "e2fsck".

- 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.

  In particular you need to specify boot.rootDevice and
  boot.grubDevice for the devices where the OS and Grub are to be
  installed, respectively.

- Do the installation:

  $ nixos-installer.sh /dev/TARGET . my-config.nix

  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:

  $ initctl emit startup