Commit graph

136 commits

Author SHA1 Message Date
Eelco Dolstra
0432766399 * Fall back to the kernel modules used at boot time if the modules in
the current configuration don't match the running kernel.  This
  ensures that modprobe still works after a "nixos-rebuild switch" to
  a configuration that has a different kernel version.

svn path=/nixos/trunk/; revision=19696
2010-01-26 21:45:13 +00:00
Marc Weber
aad3d21ceb upstart: quote environment vars. John Altobelli hit the case TZ=New York
svn path=/nixos/trunk/; revision=19633
2010-01-23 22:38:30 +00:00
Eelco Dolstra
12a0a68749 * Initialise the Nix database in the VM.
* Set the hostname at startup.
* Mount the ephemeral data disk (/dev/sda2).


svn path=/nixos/trunk/; revision=19619
2010-01-22 17:31:23 +00:00
Eelco Dolstra
6d21e00776 * Some hacks to support running NixOS on Amazon EC2 (and other hosting
environment where you don't get to run stage 1 of the boot).

svn path=/nixos/trunk/; revision=19579
2010-01-20 18:06:33 +00:00
Michael Raskin
6502806689 Allow turning off VESA framebuffer
svn path=/nixos/trunk/; revision=19473
2010-01-15 21:55:51 +00:00
Lluís Batlle i Rossell
13ee735395 Making nixos work well with the new names 'linuxPackages' in stdenv-updates, additionally
to the nixpkgs trunk 'kernelPackages'.
Seeing a strange kernelPackages mentioned in installation-cd-rescue (2.6.31_something) I
update that to 2.6.32.


svn path=/nixos/trunk/; revision=19443
2010-01-14 19:50:49 +00:00
Eelco Dolstra
ee005424bf * Doh, subtle race condition: STARTUP must be cleared after "udevadm
settle".  Otherwise some rules may be processed with STARTUP
  cleared, causing LVM devices not to be created.

svn path=/nixos/trunk/; revision=19341
2010-01-10 20:08:35 +00:00
Eelco Dolstra
ac8a2ae577 * Use the LVM udev rules in stage 1. This makes
/dev/disk/by-{label,uuid} paths available for LVM volumes.

svn path=/nixos/trunk/; revision=19334
2010-01-10 19:00:29 +00:00
Eelco Dolstra
e50a7e5f32 * Removed the boot.initrd.lvm option for simplicity.
svn path=/nixos/trunk/; revision=19330
2010-01-10 16:32:30 +00:00
Eelco Dolstra
39796e26b4 * Removed the boot.isLiveCD option. Moved the code for mounting a
tmpfs on top of the CD to iso-image.nix.

svn path=/nixos/trunk/; revision=19318
2010-01-09 15:13:06 +00:00
Lluís Batlle i Rossell
b59cfde311 Making /dev/pts files have group owner 'tty', so 'mesg y' will work.
svn path=/nixos/trunk/; revision=19317
2010-01-09 14:23:20 +00:00
Eelco Dolstra
0595b7f89d * devicemapper -> lvm2.
svn path=/nixos/trunk/; revision=19294
2010-01-07 16:14:50 +00:00
Marc Weber
fdc63c54e4 enhance phpIni documentation
readd r19267 (the issue should be fixed now)

Eelco Dolstra and Nicolas Pierron both kept asking me to pay attention
to the rendered manual. There is one catch: example settings such as
pkgs.kernelPackages_2_6_25 are correct however they don't render
properly. Moreover you don't want those examples to be evaluated (maybe
compiling a kernel ?) when building the manual only.
So use Strings and add a copy & paste note.
This is still a hacky. Maybe a kind of typed "verbatim" expression
should be added (?)

svn path=/nixos/trunk/; revision=19281
2010-01-07 09:01:40 +00:00
Eelco Dolstra
c9e4b46d48 * Ugly hack: for CIFS mounts, retry the mount a few times (just as in
pkgs/build-support/vm).  This should make the NixOS regression tests
  more robust on heavily loaded systems, where they now frequently
  fail:

  server# mounting //10.0.2.4/qemu on /hostfs...
  server# [    8.233991] Slow work thread pool: Starting up
  server# [    8.234721] Slow work thread pool: Ready
  server# [   23.271708]  CIFS VFS: No response for cmd 114 mid 1
  server# [   23.272443]  CIFS VFS: cifs_mount failed w/return code = -112
  server# mount: Host is down
  server# [   23.275188] Kernel panic - not syncing: Attempted to kill init!

  Maybe there is a configurable timeout somewhere, which would be much
  nicer...

svn path=/nixos/trunk/; revision=19248
2010-01-06 00:25:14 +00:00
Eelco Dolstra
9889d9f9f8 * Remove most default kernel options since they have no effect. Also,
don't put them in a default, so that they can easily be added to.

svn path=/nixos/trunk/; revision=19232
2010-01-05 13:11:12 +00:00
Eelco Dolstra
170331be30 * Don't use /hostfs to signal the test driver that a VM is up, but
write some magic string to ttyS0.  This removes the dependency on
  having a CIFS mount.
* Use a thread to process the stdout/stderr of each QEMU instance.
* Add a kernel command line parameter "stage1panic" to tell stage 1 to
  panic if an error occurs.  This is faster than waiting until
  connect() times out.

svn path=/nixos/trunk/; revision=19212
2010-01-04 18:04:57 +00:00
Eelco Dolstra
01491abbfa * Handle the case where initScriptBuilder is not set.
svn path=/nixos/trunk/; revision=19014
2009-12-17 12:35:58 +00:00
Marc Weber
4ff6821a03 module creating /sbin/init
svn path=/nixos/trunk/; revision=19009
2009-12-17 06:04:36 +00:00
Lluís Batlle i Rossell
483ee6219e Fixing the shutdown script, for the not-that-strange case of having
/nix bind mounted from a fs not rootfs.

As niksnut found, if the sources of bind mounted directories are
umounted before remounting them as "ro", a "mount -o remount,ro" on the
bind targets will not leave the filesystem properly umounted, the same
way as a "-o remount,ro" would do on a usual filesystem.

So, the trick of always remounting as 'ro' before attempting an umount seems
to fix the problem.

svn path=/nixos/trunk/; revision=19008
2009-12-16 23:59:05 +00:00
Lluís Batlle i Rossell
eea026d321 Enabling back the i8042 module loading at initrd. Otherwise, some
may not get any keyboard driver loaded (as I experienced).

svn path=/nixos/trunk/; revision=19006
2009-12-16 23:45:10 +00:00
Eelco Dolstra
8d588424d2 * switch-to-configuration: force a reinstallation of GRUB whenever the
GRUB version changes.  (That's the complete version from the name
  attribute, not the boot.loader.grub.version attribute.)  The current
  version is recorded in /boot/grub/version.  This is required to
  prevent massive breakage when we change the default value of
  boot.loader.grub.version to "2".

svn path=/nixos/trunk/; revision=18997
2009-12-16 18:11:26 +00:00
Eelco Dolstra
daa814980e * At the end of stage 1, reset /proc/sys/kernel/modprobe to
/sbin/modprobe because the sactivation script in stage 2 expects it
  to be so.

svn path=/nixos/trunk/; revision=18977
2009-12-15 18:31:21 +00:00
Eelco Dolstra
6c9059e717 * Added an option `boot.initrd.availableKernelModules' that specifies
modules that should be added to the initrd, but should only be
  loaded on demand (e.g. by the kernel or by udev).  This is
  especially useful in the installation CD, where we now only load the
  modules needed by the hardware.
* Enable automatic modprobing by udev in the initrd.

svn path=/nixos/trunk/; revision=18975
2009-12-15 16:38:20 +00:00
Eelco Dolstra
e8372257a1 * Reformat.
svn path=/nixos/trunk/; revision=18970
2009-12-15 14:10:06 +00:00
Eelco Dolstra
a612fd0d5e * Obsoleted boot.initrd.extraKernelModules (use
boot.initrd.kernelModules instead).

svn path=/nixos/trunk/; revision=18969
2009-12-15 14:05:01 +00:00
Eelco Dolstra
d6108919b1 * The loopback device is in a module now. Since it's not
automatically loaded by the kernel, load it at boot time.
* Put the ext2 module (which used to be built in) in the initrd to
  prevent unexpected breakage.

svn path=/nixos/trunk/; revision=18963
2009-12-15 13:09:06 +00:00
Marc Weber
4d7e344f69 Adding initial version of the nixos cd insallation test script using
qemu_kvm. Installation doesn't take place yet. VM is started
printing a remote controlled "Hello".

This serves as example how to run a vm within a bulid job.

svn path=/nixos/trunk/; revision=18887
2009-12-11 00:51:13 +00:00
Eelco Dolstra
38aeb2fdc8 svn path=/nixos/trunk/; revision=18860 2009-12-09 19:35:59 +00:00
Eelco Dolstra
f26080c5f4 * Clean up the nixos-rebuild output a bit.
svn path=/nixos/trunk/; revision=18859
2009-12-09 18:23:48 +00:00
Nicolas Pierron
82a891dc46 Add support for require attributes inside children configurations.
svn path=/nixos/trunk/; revision=18820
2009-12-05 19:21:57 +00:00
Eelco Dolstra
8e8b3f9313 * Mount /var/run/nscd only once.
svn path=/nixos/branches/upstart-0.6/; revision=18607
2009-11-24 17:25:35 +00:00
Eelco Dolstra
9174b4ab42 * Provide a convience option for commands that must be executed both
when the system boots and when it resumes from suspend.

svn path=/nixos/branches/upstart-0.6/; revision=18354
2009-11-15 12:56:40 +00:00
Eelco Dolstra
d1bbe706a2 * Synced with the trunk.
svn path=/nixos/branches/upstart-0.6/; revision=18297
2009-11-08 21:27:53 +00:00
Lluís Batlle i Rossell
de1713a24f Failing when the top level system expression cannot find the kernel image
svn path=/nixos/trunk/; revision=18291
2009-11-08 18:32:21 +00:00
Eelco Dolstra
37470cccc5 * Blacklist the "evbug" module.
svn path=/nixos/trunk/; revision=18285
2009-11-08 09:08:50 +00:00
Eelco Dolstra
16c2aa734f * Generate /etc/modprobe.conf to allow the setting of module options
and the blacklisting of modules.

svn path=/nixos/trunk/; revision=18284
2009-11-08 09:01:53 +00:00
Eelco Dolstra
9bf8801dc6 * Use a tmpfs for /var/run/nscd to ensure that / or /var can be
unmounted or at least remounted read-only during shutdown.  Upstart
  0.6 apparently uses nscd to do some name lookups, resulting in it
  holding some mmap mappings to deleted files in /var/run/nscd.
  E.g. lsof shows:

    init         1 root  DEL       REG              253,0          1850313 /var/run/nscd/dbyn3Piz
    init         1 root  DEL       REG              253,0          1850312 /var/run/nscd/dbt2e8PH

  See also http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=324900.
  This is a workaround - it would be better if Upstart didn't do this.

svn path=/nixos/branches/upstart-0.6/; revision=18258
2009-11-07 15:29:46 +00:00
Eelco Dolstra
2353e53c5f * /var/run/safemode isn't used anywhere.
svn path=/nixos/branches/upstart-0.6/; revision=18257
2009-11-07 15:24:59 +00:00
Eelco Dolstra
b7c519456e * Updated switch-to-configuration for Upstart 0.6.
svn path=/nixos/branches/upstart-0.6/; revision=18237
2009-11-07 01:17:56 +00:00
Eelco Dolstra
d7342c78d4 * Support pre-stop scripts. These are needed to cleanly shutdown
daemons such as Apache or PostgreSQL.

svn path=/nixos/branches/upstart-0.6/; revision=18234
2009-11-06 22:45:19 +00:00
Eelco Dolstra
6b0842ff52 svn path=/nixos/branches/upstart-0.6/; revision=18229 2009-11-06 21:51:28 +00:00
Eelco Dolstra
d545d08461 * In the network-interfaces task, emit an ip-up event if there is a
statically configured interface (i.e. we're not running dhclient).
  Otherwise the ntpd job won't be triggered.
* Use the "-n" flag of "initctl emit" to send the event
  asynchronously.

svn path=/nixos/branches/upstart-0.6/; revision=18227
2009-11-06 21:38:40 +00:00
Eelco Dolstra
4b2ff53ec6 * Don't stop jobs that are already stopped.
svn path=/nixos/branches/upstart-0.6/; revision=18226
2009-11-06 21:17:11 +00:00
Eelco Dolstra
82c3e2aa50 * Updated poweroff/reboot/maintenance mode for Upstart 0.6. Upstart
no longer emits specific events for those.  Instead it emits a
  "runlevel" event.  The "runlevel" task starts the "shutdown" task to
  perform the desired action.
* Upstart 0.6 no longer has a "shutdown" event, so "stop on shutdown"
  no longer works.  Therefore the shutdown task explicitly stops all
  running Upstart jobs, before sending a TERM/KILL signal to all
  remaining processes.
* Do a "chvt 1" at the start of the shutdown task to switch to the
  console.
* Use /dev/console instead of /dev/tty1, since if somebody is logged
  in on tty1, bad things will happen.

svn path=/nixos/branches/upstart-0.6/; revision=18224
2009-11-06 21:08:06 +00:00
Eelco Dolstra
676da4d87d * Updated some more jobs.
svn path=/nixos/branches/upstart-0.6/; revision=18219
2009-11-06 19:20:09 +00:00
Eelco Dolstra
b9bfe7ed43 * Connect Upstart to the system bus.
svn path=/nixos/branches/upstart-0.6/; revision=18213
2009-11-06 15:59:23 +00:00
Eelco Dolstra
9fa2f12cc2 * Do some more jobs.
svn path=/nixos/branches/upstart-0.6/; revision=18212
2009-11-06 15:46:56 +00:00
Eelco Dolstra
903e92bde6 * Use Upstart's "export fork" feature to properly detect when a daemon
is "ready".  This prevents ugly race conditions, e.g. HAL failing to
  start because dbus hasn't finished starting yet.
* Support post-start scripts.  These are executed after the job's main
  process has started but before the job's "started" event is
  emitted.  For instance, the udev job uses this to perform "udevadm
  trigger / settle" to create all devices.  Previously this had to be
  done in the pre-start script, so the daemon had to started in the
  pre-start script as well.

svn path=/nixos/branches/upstart-0.6/; revision=18211
2009-11-06 15:23:16 +00:00
Eelco Dolstra
7011a9315f * Use Upstart 0.6. Jobs are now in /etc/init instead of /etc/event.d.
svn path=/nixos/branches/upstart-0.6/; revision=18192
2009-11-06 10:43:38 +00:00
Eelco Dolstra
b581a56d79 * Define the Upstart package to use in one place.
svn path=/nixos/branches/upstart-0.6/; revision=18187
2009-11-06 09:36:35 +00:00