Commit Graph

3658 Commits

Author SHA1 Message Date
Eelco Dolstra
3495a773f9 * Improved Upstart job handling in switch-to-configuration. It no
longer compares the current configuration to the previous
  configuration, but instead compares the current Upstart state to the
  intended state.  Thus, if the switch script is interrupted, running
  nixos-rebuild again will resume starting/stopping Upstart jobs where
  the previous run left off.

  We determine if an Upstart job has changed by having the pre-start
  script of each Upstart job put a symlink to its .conf file in
  /var/run/upstart-jobs.  So if this symlink differs from the target
  of /etc/init/<job>.conf, then the job has changed.  This also
  prevents multiple restarts of dependent jobs.  E.g., if job B has
  "start on started A" and "stop on stopping A", then restarting A
  will cause B to be restarted, so B shouldn't B restarted a second
  time.

  We only start jobs that are not running if 1) they're tasks that
  have been previously run (like mountall); or 2) they're jobs that
  have a "start on" condition.  This seems a reasonable heuristic.

svn path=/nixos/trunk/; revision=33222
2012-03-18 01:53:35 +00:00
Eelco Dolstra
5a98d6d514 * mountall: Don't start the emergency shell if the X server is
running.  The user won't see it, and the "console owner" stanza
  breaks VT switching and causes the X server to go to 100% CPU time.

svn path=/nixos/trunk/; revision=33221
2012-03-18 01:44:20 +00:00
Lluís Batlle i Rossell
876c655e61 Adding a module to get crash dumps using kexec.
svn path=/nixos/trunk/; revision=33219
2012-03-17 22:21:37 +00:00
Eelco Dolstra
ed436179e1 * Improve some job names.
svn path=/nixos/trunk/; revision=33215
2012-03-17 19:22:22 +00:00
Eelco Dolstra
ee6c9bb998 * Provide two utility functions in Upstart jobs: "ensure JOBNAME"
starts the given job and waits until it's running; "stop_check"
  checks that the current job hasn't been asked to stop.

svn path=/nixos/trunk/; revision=33214
2012-03-17 19:12:33 +00:00
Eelco Dolstra
07df536c42 * Fix comment.
svn path=/nixos/trunk/; revision=33213
2012-03-17 18:01:42 +00:00
Eelco Dolstra
53847ef665 * Don't use the non-existent "never" condition in stopOn.
svn path=/nixos/trunk/; revision=33212
2012-03-17 18:00:20 +00:00
Eelco Dolstra
dd693fdc5e * Revert unintended commit.
svn path=/nixos/trunk/; revision=33209
2012-03-17 17:31:08 +00:00
Eelco Dolstra
573877c1ac * Use boot.kernelModules everywhere instead of explicit calls to
modprobe.
* Move the implementation of boot.kernelModules from the udev job to
  the activation script.  This prevents races with the udev job.
* Drop references to the "capability" kernel module, which no longer
  exists.

svn path=/nixos/trunk/; revision=33208
2012-03-17 17:26:17 +00:00
Eelco Dolstra
646d67465c * Upstart stupidly doesn't kill post-start scripts if we do "stop
JOB", but it does kill the job's main process.  So if the post-start
  script if waiting for the job's main process to reach some state, it
  may hang forever.  Thus, the post-start script should monitor
  whether its job has been requested to stop and exit in that case.

svn path=/nixos/trunk/; revision=33176
2012-03-16 21:24:51 +00:00
Eelco Dolstra
67a90c6d6f * Renamed services.nfsKernel to services.nfs. Unfortunately
rename.nix doesn't allow renaming sets of options...
* Renamed nfs-kernel.nix to nfsd.nix
* Move NFS client stuff from nfsd.nix to filesystems/nfs.nix.

svn path=/nixos/trunk/; revision=33174
2012-03-16 20:41:49 +00:00
Eelco Dolstra
e963fe2b2c * Forgot to commit.
svn path=/nixos/trunk/; revision=33173
2012-03-16 20:23:45 +00:00
Eelco Dolstra
a395e46192 * Fix the NFS Upstart dependencies. Mountd is now started before
nfsd, as suggested by the nfs-utils README.

  Also, rather than relying on Upstart events (which have all sorts of
  problems, especially if you have jobs that have multiple
  dependencies), we know just let jobs start their on prerequisites.
  That is, nfsd starts mountd in its preStart script; mountd starts
  statd; statd starts portmap.  Likewise, mountall starts statd to
  ensure that it can mount NFS filesystems.  This means that doing
  something like "start nfsd" from the command line will Do The Right
  Thing and start the dependencies of nfsd.

svn path=/nixos/trunk/; revision=33172
2012-03-16 20:10:14 +00:00
Eelco Dolstra
823471a100 * portmap: add a postStart action that ensures that portmap is
actually listening.  Otherwise we have a race condition during boot
  where statd's start can be delayed, causing NFSv3 mounting to fail.

svn path=/nixos/trunk/; revision=33171
2012-03-16 19:49:47 +00:00
Eelco Dolstra
5a36c25e9f * nfsd and statd do not need to be stopped when portmap stops.
svn path=/nixos/trunk/; revision=33167
2012-03-16 17:43:18 +00:00
Shea Levy
097c656361 iso-image: Make efi-bootable cds actually bootable.
The image passed to genisofs needs to be a FAT image with the right filesystem
layout, not an EFI executable image

svn path=/nixos/trunk/; revision=33162
2012-03-16 16:45:40 +00:00
Eelco Dolstra
c5ca681c06 * Drop the unnecessary "nfs-kernel-" prefix from the job names.
svn path=/nixos/trunk/; revision=33159
2012-03-16 13:56:51 +00:00
Shea Levy
4716ccf1b1 nixosBootStub: Hide noisy efibootmgr output
svn path=/nixos/trunk/; revision=33157
2012-03-16 13:40:03 +00:00
Eelco Dolstra
0c1ec805fc * In fact get rid of the whole nfs-kernel-exports job.
svn path=/nixos/trunk/; revision=33156
2012-03-16 13:40:02 +00:00
Eelco Dolstra
d2b3c2cda4 * Start fixing the NFS mess. It was completely broken because the
exportfs job didn't work at all (so /var/lib/nfs/etab didn't get
  initialised).

svn path=/nixos/trunk/; revision=33153
2012-03-16 13:00:27 +00:00
Shea Levy
fa73514260 Build the efi-bootable cd on hydra
svn path=/nixos/trunk/; revision=33152
2012-03-16 12:24:29 +00:00
Shea Levy
8ad872ca03 Revert r33139
I didn't end up needing it and there's a better way to do what I wanted if I
did.

svn path=/nixos/trunk/; revision=33150
2012-03-16 12:01:08 +00:00
Shea Levy
d9e28e909c Move NixosBootPkg into NixOS
svn path=/nixos/trunk/; revision=33149
2012-03-16 11:53:50 +00:00
Shea Levy
c61d919941 Typographical conventions
svn path=/nixos/trunk/; revision=33148
2012-03-16 11:31:33 +00:00
Shea Levy
358b699c20 installation-cd-efi: Only build a minimal cd
svn path=/nixos/trunk/; revision=33147
2012-03-16 11:25:09 +00:00
Shea Levy
a315eefca1 Restore old installation-cd-new-kernel.nix and create a new installation-cd-efi.nix
svn path=/nixos/trunk/; revision=33146
2012-03-16 11:22:05 +00:00
Shea Levy
95bec1c001 efiBootStub: Properly handle the removableMediaImage path on different architectures
svn path=/nixos/trunk/; revision=33141
2012-03-16 06:08:55 +00:00
Shea Levy
8efda48496 Enable building an efi-bootable ISO
svn path=/nixos/trunk/; revision=33140
2012-03-16 05:37:24 +00:00
Shea Levy
b89a65e54c Allow multiple definitions of boot.loader.kernelFile as long as they are all the same
svn path=/nixos/trunk/; revision=33139
2012-03-16 03:20:12 +00:00
Shea Levy
1bccbc30cd efiBootStub: Assert that the
kernel has the efiBootStub feature

svn path=/nixos/trunk/; revision=33138
2012-03-16 02:55:17 +00:00
Shea Levy
4caf3560be efiBootStub: Add the installRemovableMediaImage option
svn path=/nixos/trunk/; revision=33135
2012-03-16 02:34:07 +00:00
Eelco Dolstra
f4903be57e * nixos-hardware-scan: detect if we're in a VirtualBox guest and
enable the guest additions in that case.

svn path=/nixos/trunk/; revision=33133
2012-03-16 01:57:23 +00:00
Eelco Dolstra
53bd25c7fa * Automatically start VBoxClient-all when the X session starts. This
allows seamless windows, resizing of the desktop, cut and paster,
  etc.

svn path=/nixos/trunk/; revision=33131
2012-03-16 01:29:51 +00:00
Eelco Dolstra
4adc99f9a5 * Enable the VirtualBox X11 display and mouse drivers.
svn path=/nixos/trunk/; revision=33130
2012-03-16 01:03:09 +00:00
Eelco Dolstra
3ddbe0f9fb * Drop references to activation scriptlets that no longer exist.
svn path=/nixos/trunk/; revision=33110
2012-03-15 14:21:17 +00:00
Eelco Dolstra
6b2dfbda00 * Make the mountall job depend on /etc/fstab so that it gets restarted
when fstab changes.

svn path=/nixos/trunk/; revision=33108
2012-03-15 13:54:23 +00:00
Yury G. Kudryashov
9bb1132525 NM: add IFACE to ip-up
svn path=/nixos/trunk/; revision=33107
2012-03-15 13:51:17 +00:00
Eelco Dolstra
1186167be2 * Fix xserver restart with cfg.driSupport32Bit. Contributed by Kirill
Elagin.

svn path=/nixos/trunk/; revision=33099
2012-03-15 10:26:08 +00:00
Yury G. Kudryashov
339d5b2b48 Add NetworkManager module
It works but it doesn't respect ignoredInterfaces etc.
Probably I forgotten to create some directories (all of them exist on my
laptop). Feel free to fix this module.

svn path=/nixos/trunk/; revision=33097
2012-03-15 07:19:17 +00:00
Yury G. Kudryashov
34c2f2cf58 gtkLibs.gtk moved to gtk
svn path=/nixos/trunk/; revision=33096
2012-03-15 07:19:12 +00:00
Shea Levy
001fcad421 First shot at EFI booting.
Note: This feature is INCOMPLETE. Moreover, when runEfibootmgr is true it will
MODIFY NVRAM and, on Apple systems, possibly brick your firmware. PLEASE be
careful while further testing is performed

svn path=/nixos/trunk/; revision=33047
2012-03-13 19:27:59 +00:00
Eelco Dolstra
db0e7787ce * Add a 32-bit AMI that finally seems to boot reliably.
svn path=/nixos/trunk/; revision=33034
2012-03-13 15:03:41 +00:00
Lluís Batlle i Rossell
dd6eb81797 Adding /etc/mdadm.conf, with the contents supplied at boot.initrd.mdadmConf.
This allows setting a fixed device name per array, thus ensuring that at boot,
the arrays will always be mounted with the same names. I think this allows
solving the problem of grub getting confused about softraid device names
(prefix and root), if the devices always get the same naming at initrd.


svn path=/nixos/trunk/; revision=33033
2012-03-13 13:26:21 +00:00
Eelco Dolstra
b6d43e1aca * Fix Amazon image generation (broken by r32913).
svn path=/nixos/trunk/; revision=33032
2012-03-13 13:17:43 +00:00
Eelco Dolstra
b4d16ef07e * Fix nixos-option.
svn path=/nixos/trunk/; revision=33031
2012-03-13 09:36:41 +00:00
Eelco Dolstra
f2870ea7b5 * tty1 needs to be treated specially because of the emergency-shell
job.

svn path=/nixos/trunk/; revision=33018
2012-03-12 14:42:52 +00:00
Eelco Dolstra
7f72dead3b * Fix the waitOnMounts option. For some reason we lost its
implementation.

svn path=/nixos/trunk/; revision=33017
2012-03-12 14:33:06 +00:00
Ludovic Courtès
5fad465261 BitlBee: Add `job.name'; cleanup white space.
svn path=/nixos/trunk/; revision=33012
2012-03-12 13:10:13 +00:00
Eelco Dolstra
7281a851b3 * Create a /usr/bin/env symlink. This allows scripts from other
distributions with shebang lines such as

    #! /usr/bin/env python

  to work correctly.

svn path=/nixos/trunk/; revision=33011
2012-03-12 10:41:39 +00:00
Lluís Batlle i Rossell
9e980235bd Properly filter a possible lack of "grub.device", in case of using only "grub.devices".
svn path=/nixos/trunk/; revision=33009
2012-03-12 09:42:24 +00:00