Commit Graph

2596 Commits

Author SHA1 Message Date
Eelco Dolstra
e2dbfbdcf4 * Use writeback caching for virtual disks instead of writethrough
caching.  This makes a huge performance difference (e.g. from 4 MB/s
  `dd' throughput to 140 MB/s on the Hydra machines).  As the QEMU
  manual says: "Some block drivers perform badly with
  ‘cache=writethrough’, most notably, qcow2."

svn path=/nixos/branches/boot-order/; revision=22248
2010-06-13 23:36:55 +00:00
Eelco Dolstra
03f77ca82b * PostgreSQL / MySQL: depend on the "filesystem" event.
svn path=/nixos/branches/boot-order/; revision=22247
2010-06-13 20:59:49 +00:00
Lluís Batlle i Rossell
b1b73f3c08 Noting the booted-system as a gcroot
svn path=/nixos/trunk/; revision=22228
2010-06-12 08:44:51 +00:00
Lluís Batlle i Rossell
b25771532a Fixing the postfix start/stop (through an upstart job script code that will
monitor the life of postfix)

Adding an assert to upstart jobs, so those with preStop will always need an exec or
script, otherwise the preStop will not be run.


svn path=/nixos/trunk/; revision=22225
2010-06-11 21:44:06 +00:00
Eelco Dolstra
a5c433696c * Put all of /var/run (not just /var/run/nscd) on a tmpfs to simplify
shutdown.  (Portmap and statd are needed during shutdown to unmount
  NFS volumes but have open files in /var/run.)
* In the shutdown job, don't kill PIDs belonging to Upstart jobs that
  are still running.  If they don't stop on the "starting shutdown"
  event, then they're needed during shutdown (such as portmap and
  statd).
* NFS test: test whether the shutdown quickly unmounts NFS volumes
  (i.e. whether portmap and statd are still running).

svn path=/nixos/branches/boot-order/; revision=22204
2010-06-09 22:29:06 +00:00
Eelco Dolstra
e519b0652a * Test whether locks survive a reboot of the server.
svn path=/nixos/branches/boot-order/; revision=22201
2010-06-09 15:11:46 +00:00
Eelco Dolstra
483c322a62 * mustFail -> fail.
* Added a function to crash a VM.

svn path=/nixos/branches/boot-order/; revision=22200
2010-06-09 13:46:52 +00:00
Eelco Dolstra
b56b4c22d5 * Test whether clients release their locks when they reboot.
svn path=/nixos/branches/boot-order/; revision=22199
2010-06-09 13:46:18 +00:00
Eelco Dolstra
94088e9b48 * Daemonise mountd/statd.
svn path=/nixos/branches/boot-order/; revision=22198
2010-06-09 13:45:51 +00:00
Eelco Dolstra
6e27ce8e8e * Test whether distributed locking works on NFS.
svn path=/nixos/branches/boot-order/; revision=22197
2010-06-09 13:18:49 +00:00
Eelco Dolstra
645ed8d3b4 * Start NFS daemons in the right order as described in the nfs-utils
README (i.e. for the server: exportfs, mountd, statd, nfsd,
  sm-notify; for the client: statd / sm-notify before mountall).  This
  is important to allow locking to work correctly.

svn path=/nixos/branches/boot-order/; revision=22196
2010-06-09 13:18:01 +00:00
Eelco Dolstra
156ba2def2 * Don't use the "kvm-clock" clock source because it's unreliable.
When starting multiple VMs, some will have perfectly synchronised
  clocks, while others will have their clocks run much slower (say, a
  factor of 5).

svn path=/nixos/branches/boot-order/; revision=22195
2010-06-09 13:15:15 +00:00
Eelco Dolstra
d837ae4914 * portmap: don't use the -f flag to ensure that when the job reaches
the "started" state, portmap is actually up.

svn path=/nixos/branches/boot-order/; revision=22192
2010-06-09 11:15:25 +00:00
Eelco Dolstra
c1ecdf708f * Put the hostname of the VM in the window title.
svn path=/nixos/branches/boot-order/; revision=22191
2010-06-09 10:51:05 +00:00
Eelco Dolstra
5ddaf9b963 * Set `services.nfsKernel.client.enable' automatically if there is a
filesystem with type "nfs" or "nfs4".

svn path=/nixos/branches/boot-order/; revision=22189
2010-06-08 16:14:41 +00:00
Eelco Dolstra
2678f947fb * Add a test for the NFS server/client.
svn path=/nixos/branches/boot-order/; revision=22188
2010-06-08 16:02:22 +00:00
Eelco Dolstra
a9e8bf6491 * nfsd: run rpc.nfsd from the pre-start script since it's not actually
a daemon (it just starts some kernel threads).  In the post-stop
  script, stop the kernel threads.
* exportfs: fix the createMountPoints option.
* Mount the nfsd filesystem on /proc/fs/nfsd because mountd prefers
  this.

svn path=/nixos/branches/boot-order/; revision=22187
2010-06-08 16:01:31 +00:00
Eelco Dolstra
3eac003800 * Maintain /var/log/wtmp correctly during boot/shutdown.
svn path=/nixos/branches/boot-order/; revision=22182
2010-06-08 12:48:16 +00:00
Eelco Dolstra
7c3ae9e716 * During shutdown, warn explicitly about filesystems that could not be
unmounted or remounted read-only.
* Don't try to unmount / or /nix/store.

svn path=/nixos/branches/boot-order/; revision=22181
2010-06-08 11:52:16 +00:00
Eelco Dolstra
23cc979f61 * Run `swapoff -a' during shutdown. Otherwise filesystems containing
swapfiles cannot be unmounted or even remounted read-only.
* In the remount, pass `-t none' to get a more informative error
  message if the filesystem is in use.

svn path=/nixos/branches/boot-order/; revision=22179
2010-06-08 10:06:00 +00:00
Lluís Batlle i Rossell
dadd6d63e7 oops. Fixing the cupsd path. How to set a single path there in the job? I don't know.
svn path=/nixos/trunk/; revision=22174
2010-06-07 21:44:06 +00:00
Lluís Batlle i Rossell
9e275ffa58 Trying to improve the cups expression a bit, so it can print also with local usb printers.
(Thank you Oleksandr)


svn path=/nixos/trunk/; revision=22173
2010-06-07 21:09:27 +00:00
Eelco Dolstra
4b3a76f3fc * Fix coverage analysis of the kernel.
svn path=/nixos/trunk/; revision=22168
2010-06-07 13:54:15 +00:00
Eelco Dolstra
48fdc931a4 * Run udevtrigger in a separate job. This speeds up booting because
it allows the `mountall' task to start mounting filesystems as soon
  as udev is running and devices become available (i.e. it doesn't
  have to wait for all devices).  This means that some jobs should
  depend on "stopped udevtrigger" instead of "started udev".

svn path=/nixos/branches/boot-order/; revision=22167
2010-06-07 12:39:50 +00:00
Eelco Dolstra
085a47c88a * Bind mounts should have filesystem type "none" to prevent an
invocation of "fsck.auto" at boot time.

svn path=/nixos/branches/boot-order/; revision=22166
2010-06-07 12:16:59 +00:00
Eelco Dolstra
6290788247 * If mountall fails to mount all filesystems, start an emergency shell
to allow the user to fix or ignore the problem.

svn path=/nixos/branches/boot-order/; revision=22165
2010-06-07 12:15:55 +00:00
Eelco Dolstra
5702557a65 * Put e2fsprogs etc. in mountall's $PATH so that fsck works.
svn path=/nixos/branches/boot-order/; revision=22151
2010-06-04 15:35:32 +00:00
Eelco Dolstra
dbadf6e9c2 * Use mountall to mount all filesystems and activate all swap devices
during boot.  Mountall ensures that these are done in the right
  order.  It's informed by udev about devices becoming available.  It
  emits some Upstart events upon reaching certain states, in
  particular ‘local-filesystems’ after all local filesystems have been
  mounted successfully, ‘remote-filesystems’ after all network
  filesystems have been mounted, and ‘filesystem’ (sic) when all
  filesystems have been mounted.

  Currently, if a filesystem fails to mount or doesn't exist, then the
  mingettys won't start and the boot will appear to hang.  This is
  because mountall doesn't emit an event for failing filesystems and
  waits indefinitely for the filesystems to become available.

* The ‘filesystems’ and ‘swap’ Upstart jobs are gone.  (Support for
  encrypted swap devices is temporarily gone.)
  
* Generate a proper /etc/fstab from the ‘fileSystems’ and
  ‘swapDevices’ options.

svn path=/nixos/branches/boot-order/; revision=22148
2010-06-04 14:22:11 +00:00
Eelco Dolstra
5316059442 * Revert an unintended commit.
svn path=/nixos/trunk/; revision=22145
2010-06-04 14:00:56 +00:00
Rob Vermaas
de8d0c3e14 added some debugging
svn path=/nixos/trunk/; revision=22142
2010-06-04 13:18:19 +00:00
Eelco Dolstra
7f41d2bb86 svn path=/nixos/trunk/; revision=22126 2010-06-03 14:32:23 +00:00
Eelco Dolstra
6676bbe61d svn path=/nixos/trunk/; revision=22111 2010-06-02 23:02:09 +00:00
Eelco Dolstra
48255afa61 * This passwd doesn't have a --stdin flag.
svn path=/nixos/trunk/; revision=22110
2010-06-02 21:59:19 +00:00
Eelco Dolstra
0cdce12006 * Rename the pwdutils' module to shadow'.
svn path=/nixos/trunk/; revision=22109
2010-06-02 21:16:27 +00:00
Eelco Dolstra
c089738bdc * Use the shadow' package instead of pwdutils', `pam_login' and
`su'.
* The `usermod' from `shadow' allows setting a supplementary group
  equal to the user's primary group, so the special hack for the
  `nixbld' group is no longer needed.
* Removed /etc/default/passwd since it's not used by the new passwd.
  The hash is configured in pam_unix.
* Move some values for `security.setuidPrograms' and
  `security.pam.services' to the appropriate modules.

svn path=/nixos/trunk/; revision=22107
2010-06-02 21:10:48 +00:00
Eelco Dolstra
876954d15d * Use pam_unix (from the PAM package) instead of pam_unix2. All the
functionality we needed from pam_unix2 (more secure hashes, and,
  uh...) has been merged into pam_unix.

svn path=/nixos/trunk/; revision=22106
2010-06-02 19:59:44 +00:00
Eelco Dolstra
8b308272df * We don't use pam_console anymore.
svn path=/nixos/trunk/; revision=22104
2010-06-02 17:11:20 +00:00
Eelco Dolstra
d67e6e6285 * Remove some `stopOn = "ip-down"' declarations since they probably
don't do the right thing (e.g. they don't distinguish between
  network interfaces).

svn path=/nixos/trunk/; revision=22102
2010-06-02 16:19:48 +00:00
Eelco Dolstra
d317d83ba8 * Remove `stopOn = "shutdown"' which doesn't work.
svn path=/nixos/trunk/; revision=22101
2010-06-02 16:05:09 +00:00
Eelco Dolstra
8519e72ccc * Don't stop tty-backgrounds during shutdown.
svn path=/nixos/trunk/; revision=22100
2010-06-02 16:04:30 +00:00
Eelco Dolstra
ad93acc295 * Make all Upstart jobs shut down on the `starting shutdown' event.
This ensures that they're gone by the time the shutdown job runs, so
  it doesn't have to stop them itself.
* Don't respawn tasks, as it doesn't seem useful (if they fail they're
  likely to fail again if they're restarted).

svn path=/nixos/trunk/; revision=22099
2010-06-02 16:04:08 +00:00
Eelco Dolstra
b135e38bea * atd's postStop action should be unnecessary.
svn path=/nixos/trunk/; revision=22095
2010-06-01 20:42:33 +00:00
Eelco Dolstra
94b2268192 * Start "exec" jobs using the "script" stanza to allow redirects in
the job's "exec" to work properly.

svn path=/nixos/trunk/; revision=22094
2010-06-01 20:41:59 +00:00
Eelco Dolstra
95a9c5dd77 * Log the standard output/error of Upstart jobs to
/var/log/upstart/<jobname> rather than spamming the console with it.

svn path=/nixos/trunk/; revision=22093
2010-06-01 19:44:23 +00:00
Eelco Dolstra
e450e4551f * tty-backgrounds: don't do a setcfg action on the console if the
current theme is the same.  This prevents the console from being
  blanked during boot.

svn path=/nixos/trunk/; revision=22092
2010-06-01 18:30:17 +00:00
Eelco Dolstra
18fd0a61de * Add `sleep' to the initrd.
svn path=/nixos/trunk/; revision=22089
2010-06-01 17:09:34 +00:00
Eelco Dolstra
9c900ee15c * Updates for the dynamically linked splash helper.
svn path=/nixos/trunk/; revision=22087
2010-06-01 16:38:42 +00:00
Eelco Dolstra
dc49a0ce3f * Don't use klibc in the initrd. It's simpler (and slightly smaller)
to use the standard (coreutils) tools.
* Use util-linux's `switch_root' to switch over to the target root
  FS.  It automatically moves over the /dev, /proc and /sys from stage
  1, so stage 2 doesn't need to set them up again.

svn path=/nixos/trunk/; revision=22085
2010-06-01 15:53:24 +00:00
Eelco Dolstra
eb4c33eeca * Added an option to enable support for 32-bit binaries (such as Wine
or Google Earth) on 64-bit NixOS on NVIDIA hardware.  The 32-bit
  OpenGL library is symlinked from /var/run/opengl-driver-32, which is
  added to the LD_LIBRARY_PATH so that 32-bit binaries can find it.

svn path=/nixos/trunk/; revision=22062
2010-05-30 22:00:52 +00:00
Eelco Dolstra
540c673364 * Enable the `chfn' program. Note that by default non-root users are
still not permitted to change their account information, as
  specified in login.defs.

svn path=/nixos/trunk/; revision=22049
2010-05-28 14:59:34 +00:00