Commit Graph

3442 Commits

Author SHA1 Message Date
Eelco Dolstra
2cccff268d * Pass the path of the stage 2 init script to stage 1 init through the
kernel command line, instead of having a /init symlink.  This allows
  us to switch between configurations.
* Some debug support: adding `debug' to the kernel command line gives
  a stage 1 shell.

svn path=/nixu/trunk/; revision=7107
2006-11-24 00:04:29 +00:00
Eelco Dolstra
1fb01e46c5 * Put the date of each configuration in the Grub menu.
svn path=/nixu/trunk/; revision=7106
2006-11-24 00:00:32 +00:00
Eelco Dolstra
34acdf1f22 * Generate a Grub boot menu that contains all generations of the
system profile.

svn path=/nixu/trunk/; revision=7105
2006-11-23 23:22:43 +00:00
Eelco Dolstra
84b1cafe4b * Fill in /etc/mtab with something sensible.
svn path=/nixu/trunk/; revision=7104
2006-11-23 22:58:25 +00:00
Eelco Dolstra
f1a46db43b * Notes.
svn path=/nixu/trunk/; revision=7103
2006-11-23 22:53:25 +00:00
Eelco Dolstra
843aa8505c * Handle reboot properly.
svn path=/nixu/trunk/; revision=7102
2006-11-23 22:53:16 +00:00
Eelco Dolstra
498bb32c82 * Doh.
svn path=/nixu/trunk/; revision=7101
2006-11-23 22:52:15 +00:00
Eelco Dolstra
bd62a8273e * Quick hack to allow localhost to be looked up (NIXOS-41).
svn path=/nixu/trunk/; revision=7100
2006-11-23 22:16:59 +00:00
Eelco Dolstra
3bf7001325 * Oops.
svn path=/nixu/trunk/; revision=7099
2006-11-23 21:59:25 +00:00
Eelco Dolstra
0db7e06e7f * Oops.
svn path=/nixu/trunk/; revision=7098
2006-11-23 17:51:03 +00:00
Eelco Dolstra
5e8d54eef7 * Remove /etc/mtab on boot.
* Start an emergency shell if we can't remount / read-writable.

svn path=/nixu/trunk/; revision=7097
2006-11-23 17:46:55 +00:00
Eelco Dolstra
e6ebe2e2aa * Add an Upstart job for sshd. The start script automatically creates
an sshd user, a host key, etc.

svn path=/nixu/trunk/; revision=7096
2006-11-23 17:43:28 +00:00
Eelco Dolstra
a0821fbd49 * /dev should always be a ramdisk.
svn path=/nixu/trunk/; revision=7095
2006-11-23 17:32:09 +00:00
Eelco Dolstra
c8c62dba0b * Remove /etc/mtab.
svn path=/nixu/trunk/; revision=7094
2006-11-23 17:27:43 +00:00
Eelco Dolstra
183ed7a5ea * Create a symlink to /nix/var/nix/profiles from
/nix/var/nix/gcroots/, otherwise garbage collection will end
  tragically.

svn path=/nixu/trunk/; revision=7093
2006-11-23 16:46:23 +00:00
Eelco Dolstra
e6d2d50779 * Bring in /etc/profile.local.
svn path=/nixu/trunk/; revision=7092
2006-11-23 16:00:23 +00:00
Eelco Dolstra
16d28b3552 * New Nixpkgs.
svn path=/nixu/trunk/; revision=7091
2006-11-23 15:25:29 +00:00
Eelco Dolstra
7e97935e17 * Doh.
svn path=/nixu/trunk/; revision=7085
2006-11-20 21:20:04 +00:00
Eelco Dolstra
54f6e4fc71 * Unmount file systems.
svn path=/nixu/trunk/; revision=7084
2006-11-20 21:19:34 +00:00
Eelco Dolstra
49b2a218b5 * Support entering maintenance mode ("shutdown now") and powering off
the system ("halt").

svn path=/nixu/trunk/; revision=7083
2006-11-20 20:50:52 +00:00
Eelco Dolstra
7bba427e93 * Put the PCI module probing in an Upstart task. We now have
more-or-less "asynchronous" booting: the login prompt appears almost
  immediately, before the hardware and the network are started.

svn path=/nixu/trunk/; revision=7082
2006-11-20 17:28:08 +00:00
Eelco Dolstra
962b1df3aa * Some more upstartification.
svn path=/nixu/trunk/; revision=7081
2006-11-20 17:06:44 +00:00
Eelco Dolstra
369b48eadf * Start dhclient as an Upstart job.
svn path=/nixu/trunk/; revision=7078
2006-11-19 22:05:49 +00:00
Eelco Dolstra
70aca5974c * Simplification.
svn path=/nixu/trunk/; revision=7076
2006-11-19 21:03:22 +00:00
Eelco Dolstra
fb4ab4bc8e * Nixify the Upstart jobs.
svn path=/nixu/trunk/; revision=7075
2006-11-19 20:07:45 +00:00
Eelco Dolstra
d191615e96 * Use Upstart instead of sysvinit.
svn path=/nixu/trunk/; revision=7074
2006-11-19 18:16:29 +00:00
Eelco Dolstra
29d9b88aa9 * Doh.
svn path=/nixu/trunk/; revision=7068
2006-11-17 16:41:02 +00:00
Eelco Dolstra
4798d7a4d2 * Use the same Nix consistently.
svn path=/nixu/trunk/; revision=7067
2006-11-17 16:38:24 +00:00
Eelco Dolstra
e1e386cba6 * Clear the inittab.
svn path=/nixu/trunk/; revision=7066
2006-11-17 16:29:31 +00:00
Eelco Dolstra
6ae45d46ed * Put Nixpkgs and the NixOS expressions on the installation CD (the
installer needs them).

svn path=/nixu/trunk/; revision=7065
2006-11-17 15:27:31 +00:00
Eelco Dolstra
78b2ed263e * Use exportReferencesGraph everywhere.
svn path=/nixu/trunk/; revision=7063
2006-11-17 14:13:21 +00:00
Eelco Dolstra
82ce465751 * Use `exportReferencesGraph' to register the references of the
initial Nix installation correctly.

svn path=/nixu/trunk/; revision=7021
2006-11-13 19:01:39 +00:00
Eelco Dolstra
91a66e72dc * rescue-system -> boot-environment.
svn path=/nixu/trunk/; revision=7017
2006-11-13 16:19:57 +00:00
Eelco Dolstra
f9d0c57385 * Set permissions explicitly.
svn path=/nixu/trunk/; revision=7015
2006-11-13 11:42:23 +00:00
Eelco Dolstra
49f8402876 * Boot into a fully functional stage 2.
* Stage 2 init: handle non-read-only roots.

svn path=/nixu/trunk/; revision=7014
2006-11-13 11:41:27 +00:00
Eelco Dolstra
0b26af2188 * The installer now installs a configuration on the target device that
boots into stage 1 (kernel+initrd) succesfully.
  
  `system-configuration.nix' contains the definition of the
  configuration to be installed.  The attribute systemConfiguration is
  installed into the profile /nix/var/nix/profiles/system.  Then the
  program /nix/var/nix/profiles/system/bin/switch-to-configuration is
  called to finalise the installation.  This program (generated by
  system-configuration.sh) installs Grub on the drive with a menu that
  contains the entry for the desired kernel and initrd.

  In principle this allows us to do rollbacks to previous system
  configurations by doing `nix-env --rollback' and then calling
  switch-to-configuration to update Grub.  Ideally this should be done
  in a single command (and we should consider the obvious risk of
  garbage collecting the current kernel etc. to which the current Grub
  menu points...).

  Maybe the responsibility for generating the Grub menu should be
  placed somewhere else.  For instance, we could generate a Grub menu
  automatically out of all the generations in the `system' profile.

svn path=/nixu/trunk/; revision=7009
2006-11-12 23:30:03 +00:00
Eelco Dolstra
0785dfb9f8 * Lots of refactoring; put the CD image generation in rescue-cd.nix.
Support booting from something other than a CD.  Add some parameters
  to specify the root device.

svn path=/nixu/trunk/; revision=7000
2006-11-12 18:48:47 +00:00
Eelco Dolstra
afc05314c4 * The installer now takes a user-specified Nix expression that will be
built in the target Nix store and installed in the "system" user
  environment.  Not quite sure what should go in there, but probably
  the kernel, initrd, the boot scripts and eventually the system
  services.  Maybe grub as well.

svn path=/nixu/trunk/; revision=6993
2006-11-11 22:31:26 +00:00
Eelco Dolstra
b7e8c174a1 * Add Perl to the path (since it was already on the CD as a dependency).
svn path=/nixu/trunk/; revision=6992
2006-11-11 22:29:05 +00:00
Eelco Dolstra
b60dd36c8f * Set up the target file system, copy Nix, do a nix-pull in a chroot,
and do a nix-env to install some packages.

svn path=/nixu/trunk/; revision=6991
2006-11-11 17:59:08 +00:00
Eelco Dolstra
67f3ee3b64 * Probe for the NixOS installation CD.
svn path=/nixu/trunk/; revision=6985
2006-11-10 14:38:15 +00:00
Eelco Dolstra
4b333e0f67 * Add the installer and rsync to the path.
svn path=/nixu/trunk/; revision=6979
2006-11-08 09:31:45 +00:00
Eelco Dolstra
6705045334 * Start of the installer: copy the closure of Nix to the target device
so we can then do nix-env operations in a chroot to do the actual
  installation.

svn path=/nixu/trunk/; revision=6977
2006-11-08 02:34:14 +00:00
Eelco Dolstra
624fe3f2d4 * Automatically bring up the network devices and start dhclient on
them.

svn path=/nixu/trunk/; revision=6976
2006-11-07 22:45:42 +00:00
Eelco Dolstra
da8cec4795 * Use udevtrigger to create device nodes for all known devices.
* Plug and play: load kernel modules for all supported PCI devices
  automatically.

svn path=/nixu/trunk/; revision=6975
2006-11-07 22:05:27 +00:00
Eelco Dolstra
8a43fcd57c * Stage 1: clean up better (unmount /proc and /sys, remount new root
to /).
* Stage 2: use sysvinit to create a bunch of mingetty's on virtual
  consoles 1-6.  Show a nice welcoming message.  Start syslogd and log
  everything to tty10.

svn path=/nixu/trunk/; revision=6963
2006-11-06 22:21:50 +00:00
Eelco Dolstra
1cec62ba5d * Add additional packages to the path of the interactive shell started
at the end of stage 2.
* Stage 2: set MODULE_DIR to point at a full module tree.

svn path=/nixu/trunk/; revision=6954
2006-11-04 13:25:10 +00:00
Eelco Dolstra
2e2af9df0a * Doh x3.
svn path=/nixu/trunk/; revision=6951
2006-11-04 12:08:10 +00:00
Eelco Dolstra
09cdc88291 * Doh x2.
svn path=/nixu/trunk/; revision=6950
2006-11-04 12:08:02 +00:00
Eelco Dolstra
07d2f691f0 * Doh.
svn path=/nixu/trunk/; revision=6949
2006-11-04 12:07:16 +00:00