Commit graph

3532 commits

Author SHA1 Message Date
Eelco Dolstra
533448ae37 * udev: don't set the STARTUP flag anymore, since LVM no longer uses
it.
* Don't call "vgscan" anymore; VG scans are supposed to be automatic.

svn path=/nixos/trunk/; revision=33275
2012-03-19 19:10:27 +00:00
Lluís Batlle i Rossell
81655b7247 Have a more featured initrd and crashDump for the pc system tarball.
svn path=/nixos/trunk/; revision=33274
2012-03-19 19:01:52 +00:00
Eelco Dolstra
f546837cdf * Don't use replaceChars. It's slow.
svn path=/nixos/trunk/; revision=33270
2012-03-19 18:07:28 +00:00
Eelco Dolstra
fcc2e985a2 * Handle jobs that fail while a post-start script is waiting for them.
svn path=/nixos/trunk/; revision=33269
2012-03-19 18:07:05 +00:00
Eelco Dolstra
31c93522d5 * Support PostgreSQL versions >= 8.4, which have a slightly different
pg_hba.conf format.

svn path=/nixos/trunk/; revision=33268
2012-03-19 18:06:18 +00:00
Shea Levy
fac0fef5d8 Whoops
svn path=/nixos/trunk/; revision=33264
2012-03-19 17:25:50 +00:00
Shea Levy
842239f5af all-hardware.nix: Apple users may want to be able to type something at a debug2 prompt
svn path=/nixos/trunk/; revision=33263
2012-03-19 17:23:24 +00:00
Eelco Dolstra
f12950b8e0 * Improve the Postgres Upstart job: don't use pg_ctl, let Upstart
monitor the postgres process directly (so that it can be restarted
  if necessary), let Upstart send SIGTERM to postgres to shut it down
  gracefully.  Also drop the Mediawiki references.

svn path=/nixos/trunk/; revision=33262
2012-03-19 16:49:13 +00:00
Eelco Dolstra
ebc6d7f435 * Attempt to fix the random "udevadm settle - timeout of 120 seconds
reached, the event queue contains: /sys/devices/virtual/tty/hvc1" VM
  failures.

svn path=/nixos/trunk/; revision=33259
2012-03-19 15:10:39 +00:00
Eelco Dolstra
dde8453a09 * Initialise $LOCALE_ARCHIVE earlier in /etc/profile to prevent the
warning

    -bash: warning: setlocale: LC_TIME: cannot change locale (en_GB.UTF8): No such file or directory

  when $LC_TIME is set in environment.shellInit.

svn path=/nixos/trunk/; revision=33248
2012-03-19 02:53:58 +00:00
Eelco Dolstra
bcbe2dce4c * Don't source /etc/profile in interactive non-login shells, unless it
wasn't sourced in a parent shell (as determined by the environment
  variable __ETC_PROFILE_DONE).  This prevents overriden values of
  environment variables such as $PATH from being clobbered in
  subshells.
* Move all aliases to /etc/bashrc (since those are for interactive
  use).

svn path=/nixos/trunk/; revision=33246
2012-03-19 02:35:17 +00:00
Eelco Dolstra
b1fd71038e * Slight speedup. It's amazing how quickly shell scripts become
slow: calling basename in a loop somewhere has a noticable impact on
  performance.  We really shouldn't use bash scripts.

svn path=/nixos/trunk/; revision=33242
2012-03-18 19:05:44 +00:00
Shea Levy
53580d514a You cant modprobe efivars from within the chroot, so modprobe efivars when booting an efi-compatible install CD
svn path=/nixos/trunk/; revision=33241
2012-03-18 18:55:47 +00:00
Eelco Dolstra
8ca2aff772 * Get rid of some grep hackery on the Upstart jobs.
svn path=/nixos/trunk/; revision=33240
2012-03-18 18:53:50 +00:00
Eelco Dolstra
9ba5f09e44 * More tasks that shouldn't be restarted (though they're harmless).
svn path=/nixos/trunk/; revision=33238
2012-03-18 18:09:17 +00:00
Eelco Dolstra
4acc48fc2d * Mark tasks such as mount-failed as not to be restarted.
svn path=/nixos/trunk/; revision=33237
2012-03-18 18:04:49 +00:00
Eelco Dolstra
362d1389d3 * mountall: make the "console output" Upstart stanza do its work. We
were redirecting output to /var/log/upstart/<job>, so it didn't work
  properly.
* mountall-ip-up: send the USR1 signal to the mountall process by
  looking up its PID, rather than doing "pkill -USR1 mountall".  This
  prevents a very subtle race condition where USR1 is delivered to a
  child process of mountall (such as fsck), if pkill sees the child
  just before its execve().  There is actually still a race condition
  because mountall installs its USR1 handler *after* daemonising, so
  mountall-ip-up could accidentally kill mountall.  Should report this
  to upstream.

svn path=/nixos/trunk/; revision=33236
2012-03-18 17:48:19 +00:00
Shea Levy
b82c253b24 Add a kernel patch for the efi boot stub to read a config file when booted without arguments, and base removable media booting off of that patch
The patch is currently being discussed on LKML and hopefully will be included
in mainline in some form in the future. Note that booting from the livecd has
to do a lot of work before anything is output to the console, so if the drive
is still busy don't assume the boot has hanged

svn path=/nixos/trunk/; revision=33235
2012-03-18 17:14:52 +00:00
Eelco Dolstra
2cc8d0363e * Move the implementation of boot.kernelModules to udev's postStart.
It needs udevd to be running because the modules may require
  firmware.  Thanks to Mathijs and Arie for pointing this out.

svn path=/nixos/trunk/; revision=33234
2012-03-18 14:03:42 +00:00
Lluís Batlle i Rossell
b78ac9e108 Fixing the mkOverride for the kernelPackages in crashdump (I misunderstood
mkOverride in the prev commit).

Adding an option on kernelParams for the postcrash kernel.


svn path=/nixos/trunk/; revision=33230
2012-03-18 10:02:58 +00:00
Mathijs Kwik
c5a8d53d95 fixed intel microcode loading during boot
svn path=/nixos/trunk/; revision=33226
2012-03-18 08:10:32 +00:00
Eelco Dolstra
21393eed1e * Use the --quiet flag.
svn path=/nixos/trunk/; revision=33225
2012-03-18 02:36:44 +00:00
Eelco Dolstra
83f5d26a85 * Ignore the "No soundcards found" error.
svn path=/nixos/trunk/; revision=33224
2012-03-18 02:36:21 +00:00
Eelco Dolstra
86d8d62d16 * Allow Upstart jobs to declare that they shouldn't be restarted by
switch-to-configuration.  E.g. the X server shouldn't be restarted
  because that kills all the X clients.

svn path=/nixos/trunk/; revision=33223
2012-03-18 02:10:39 +00:00
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