popt-0.16 and cryptsetup-1.4.1 both generated pkgconfig (in contrast
to older versions). The pkgconfig files (popt.pc and cryptsetup.pc)
contain references into the store that are not removed by patchelf and
stage-1 fails with errors like: "output is not allowed to refer to
path `/nix/store/qccjhn063cfv171rcaxvxh0yk96zf7l2-cryptsetup-1.4.1'".
Now, only the cryptsetup binaries and its dependencies are copied,
determined by ldd. In addition the cryptsetup binary and lvm are
tested after patchelf has adjusted the library paths.
Thanks to Peter Simons and Eelco Dolstra for giving the rights hints.
svn path=/nixos/trunk/; revision=31128
After the change from revision 30103, nixos-rebuild suddenly consumed
freaky amounts of memory. I had to abort the process after it had
allocated well in excess of 30GB(!) of RAM. I'm not sure what is causing
this behavior, but undoing that assignment fixes the problem. The other
two commits needed to be revoked, too, because they depend on 30103.
svn path=/nixos/trunk/; revision=30127
possibility that a udevd process survives, preventing udevd from
starting in stage 2:
machine# udevd[1421]: bind failed: Address already in use
machine# udevd[1421]: error binding udev control socket
svn path=/nixos/trunk/; revision=29434
directory. This happened with /etc/polkit-1, which used to be a
symlink to /etc/static/polkit-1, which was itself a symlink but now
is a directory. Not handling this correctly led to /etc/static
being clobbered with symlinks pointing to themselves.
svn path=/nixos/trunk/; revision=29061
was already the case on Linux 2.6.32, but in newer kernels the CFQ
scheduler is built as a module, so all block devices got the ‘none’
scheduler instead.
svn path=/nixos/trunk/; revision=28972
then every unshare(CLONE_NEWNS) system call causes a new entry to be
created in /dev/cgroup/<pid>, which is not removed automatically.
This can cause subsequent calls to unshare() to fail if the PID has
wrapped around. Worse, a large number of entries in /dev/cgroup
causes a very substantial system slowdown: doing 10,000
fork()/unshare(CLONE_NEWNS)/exit() calls took 21s without the "ns"
subsystem, but 2m43s with it, and the system slows down permanently
until the entries in /dev/cgroup are removed (going to a load of > 6
on my laptop).
This is particularly important for Nix because its chroot feature
uses unshare(CLONE_NEWNS). (http://yellowgrass.org/issue/Nix/219)
svn path=/nixos/trunk/; revision=27216
be set when udevd calls external programs. (The udev manpage claims
that udevd passes its own environment variables, but this is not the
case.)
* Get rid of some udev rule hacks that no longer seem needed.
svn path=/nixos/trunk/; revision=25991
problem is that configuration values below a mkIf are evaluated
strictly even if the condition is false. Thus "${luksRoot}" causes
an evaluation error. As a workaround, use the empty string instead
of `null' as the default value. However, we should really fix the
laziness of mkIf. It's likely that NixOS evaluation would be much
faster if it didn't have to evaluate disabled configuration values.
svn path=/nixos/trunk/; revision=24477
in /etc/xen/auto at boot time, to save all running domains during
shutdown, and to restore all saved domains at boot time.
svn path=/nixos/trunk/; revision=24121
init script. This removes the need for the `systemConfig' boot
parameter; `init=<stage-2-init>' is enough. However, the GRUB menu
builder still needs to add `systemConfig' to the kernel command line
for compatibility with old configurations.
svn path=/nixos/trunk/; revision=23775
* Moved some scriptlets to the appropriate modules.
* Put the scriptlet that sets the default path at the start, since it
never makes sense not to have it there. It no longer needs to be
declared as a dependency.
* If a scriptlet has no dependencies, it can be denoted as a plain
string (i.e., `noDepEntry' is not needed anymore).
svn path=/nixos/trunk/; revision=23762
like `build-vm', but boots using the regular boot loader (i.e. GRUB
1 or 2) rather than booting directly from the kernel/initrd. Thus
it allows testing of GRUB.
svn path=/nixos/trunk/; revision=23747
build hook uses this directory to store temporary GC roots. (It
creates it if it doesn't exist, but it's better to do it here as
well to ensure the right ownership and permissions.)
* Clear /nix/var/nix/gcroots/tmp and /nix/var/nix/temproots at boot
time.
svn path=/nixos/trunk/; revision=23417
root=... kernel command line parameter, instead of hard-coding it in
`fileSystems'. This is to allow CD-to-USB converters such as
UNetbootin to rewrite the kernel command line to the label or UUID
of the USB stick.
svn path=/nixos/trunk/; revision=23024
we want to generate the GRUB menu without actually installing GRUB
(because Amazon supplies its own pv-grub), and each menu entry
requires "root (hd0)". For the first, allow boot.loader.grub.device
to be set to "nodev" to indicate that the GRUB menu should be
generated without installing GRUB. For the second, add an option
boot.loader.grub.extraPerEntryConfig to allow commands to be added
to each GRUB menu entry (in this case, "root (hd0)").
svn path=/nixos/trunk/; revision=22712
INFORMATION" SCSI command:
https://bugzilla.redhat.com/show_bug.cgi?id=609049
As a result, `cdrom_id' doesn't print
ID_CDROM_MEDIA_TRACK_COUNT_DATA, which in turn prevents the
/dev/disk/by-label symlinks from being created. We need these in
the NixOS installation CD, so use ID_CDROM_MEDIA in the
corresponding udev rules for now. This was the behaviour in udev <=
154. See also
http://www.spinics.net/lists/hotplug/msg03935.html
svn path=/nixos/trunk/; revision=22691
screws up the X server (CPU usage goes to 100%, switching virtual
consoles no longer works, etc.). TODO: we need some generic way to
mark jobs that shouldn't be started automatically.
svn path=/nixos/trunk/; revision=22608
current namespace). This prevents warnings about the aufs/tmpfs
mounts from the initrd used by the installation CD.
svn path=/nixos/branches/boot-order/; revision=22299
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
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
`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
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
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