Eelco Dolstra
891be375b5
Make unitConfig/serviceConfig attribute sets
...
So instead of:
boot.systemd.services."foo".serviceConfig =
''
StartLimitInterval=10
CPUShare=500
'';
you can say:
boot.systemd.services."foo".serviceConfig.StartLimitInterval = 10;
boot.systemd.services."foo".serviceConfig.CPUShare = 500;
This way all unit options are available and users can set/override
options in configuration.nix.
2012-10-01 16:27:42 -04:00
Eelco Dolstra
353522ef79
Remove JoinControllers line because upstream reverted joining cpuset
2012-10-01 14:33:01 -04:00
Eelco Dolstra
3ad370ae0a
Merge remote-tracking branch 'origin/master' into systemd
...
Conflicts:
modules/misc/ids.nix
modules/services/mail/postfix.nix
modules/services/system/nscd.nix
modules/services/x11/desktop-managers/xfce.nix
modules/system/boot/stage-1.nix
2012-09-28 11:35:27 -04:00
Eelco Dolstra
3e6bb7d1de
Move setting ownership of /nix/store to stage-2-init
...
This is necessary because the store might be bind-mounted read-only.
2012-09-28 10:59:58 -04:00
Eelco Dolstra
a139fa14b1
Optionally make the Nix store read-only to enforce immutability
...
This will be the default once Nix 1.2 is released.
2012-09-25 16:33:21 -04:00
Shea Levy
bf116c7876
busyboxKeymap: Support unicode keymaps
2012-09-24 17:15:26 -04:00
Peter Simons
573b6b710f
Merge pull request #26 from aszlig/boottime-keymap
...
stage-1: Add option to load keymap during bootup.
2012-09-24 07:33:03 -07:00
Eelco Dolstra
1ad655bdcf
Don't join the cpuset controller with cpu/cpuacct
...
This works around the problem described here:
http://lists.freedesktop.org/archives/systemd-devel/2012-September/006648.html
2012-09-21 22:56:13 -04:00
Eelco Dolstra
4fa9b4b257
Restart systemd if necessary
2012-09-21 14:58:28 -04:00
Eelco Dolstra
83c6b1cf3a
Set $LOCALE_ARCHIVE in systemd services
...
Systemd sets locale variables like $LANG when running services, so
$LOCALE_ARCHIVE should also be set to prevent warnings like "perl:
warning: Setting locale failed.".
2012-09-18 18:12:39 -04:00
Eelco Dolstra
aac6fe44b6
Merge branch 'master' of github.com:NixOS/nixos into systemd
2012-09-11 10:58:57 -04:00
Mathijs Kwik
bce1cdd59c
fix kernel 3.4+ early cifs mounting (qemu-vm target)
...
kernel 3.4+ needs cifs-utils to mount CIFS filesystems.
the kernel itself (and busybox's cifs mount code) are no longer able
to do this in some/most cases and will error out saying:
"CIFS VFS: connecting to DFS root not implemented yet"
Nixos' qemu-vm target is hurt by this, as it wants to mount /nix/store
via cifs very early in the boot process.
This commit makes sure the initrd for affected kernels is built with
cifs-utils if needed.
2012-08-30 18:31:45 +02:00
Mathijs Kwik
aba9f76105
change permission of /run/lock to allow non-root access to subdirectories
2012-08-26 10:17:22 +02:00
Eelco Dolstra
8adc1ee92e
switch-to-configuration: Stop sockets corresponding to services
...
If a service has a corresponding socket unit, then stop the socket
before stopping the service. This prevents it from being restarted
behind our backs. Also, don't restart the service; it will be
restarted on demand via the socket.
2012-08-23 12:12:58 -04:00
Eelco Dolstra
dfb6e891b9
switch-to-configuration: Don't restart systemd-user-sessions.service
...
Restarting it causes all user sessions to be killed.
2012-08-23 11:11:14 -04:00
Eelco Dolstra
af550048e8
switch-to-configuration: Don't restart the suspend/hibernate targets
...
Restarting them has the side effect of suspending/hibernating the
system again.
2012-08-23 11:11:04 -04:00
Eelco Dolstra
b02c488fde
Automatically append ".service" to the name of service units
2012-08-23 10:25:27 -04:00
Eelco Dolstra
223f04b3ca
Add option ‘boot.systemd.packages’ to use units from the specified packages
2012-08-21 11:28:47 -04:00
Eelco Dolstra
f3def8194e
switch-to-configuration: Restart all active targets
2012-08-20 16:19:03 -04:00
Eelco Dolstra
3f4ffffed7
Fix a Perl warning
2012-08-20 11:32:50 -04:00
Eelco Dolstra
08f14b33c1
Merge branch 'master' of github.com:NixOS/nixos into systemd
2012-08-20 11:27:38 -04:00
Eelco Dolstra
36e05e8dd2
Add some more backward compatibility hacks
2012-08-20 11:21:11 -04:00
Petr Rockai
5dc8bc5f2a
Do not assume that /dev/console can always be written.
2012-08-18 14:29:09 +02:00
Eelco Dolstra
a44e575196
switch-to-configuration: Respect the ‘restartIfChanged’ attribute
2012-08-17 13:14:42 -04:00
Eelco Dolstra
7e99541afe
Fix initrd for the latest lvm2
2012-08-16 15:37:13 -04:00
Eelco Dolstra
d18c2afc6f
Add an ip-up target for services that require IP connectivity
2012-08-15 15:38:52 -04:00
Eelco Dolstra
981347429a
Add support for PartOf dependencies
2012-08-15 15:36:54 -04:00
Eelco Dolstra
a133eb5991
Add some missing targets
...
Also make multi-user.target pull in remote-fs.target to mount remote
filesystems.
2012-08-14 18:14:48 -04:00
Eelco Dolstra
55b2736566
Add a target ‘fs.target’ that waits for all filesystems
2012-08-14 18:14:16 -04:00
Eelco Dolstra
a44a7271a8
Warn about Upstart modules with an unknown startOn condition
2012-08-14 17:30:11 -04:00
Eelco Dolstra
7a7d04af8a
systemd: Use the kernel modules from /run/booted-system
...
This prevents failures in systemd-modules-load.service like "Failed to
lookup alias 'ipv6': Function not implemented".
2012-08-14 17:09:44 -04:00
Eelco Dolstra
4475294f57
Fix a hang during shutdown
...
Subtle: dhcpcd.service would call resolvconf during shutdown, which in
turn would start invalidate-nscd.service, causing the shutdown to be
cancelled. Instead, give nscd.service a proper reload action, and do
"systemctl reload --no-block nscd.service". The --no-block is
necessary to prevent that command from waiting until a timeout occurs
(bug in systemd?).
2012-08-14 16:45:50 -04:00
Eelco Dolstra
88bfdca8e0
stage-1: Use systemd-udevd instead of the old udevd
2012-08-14 15:31:15 -04:00
aszlig
c9e05f1ed8
stage-1: Load boot-time keymap by default.
...
This also removes the configuration option, as suggested by @edolstra.
2012-08-12 16:54:31 +02:00
aszlig
eb0b2651b8
stage-1: Add option to load keymap during bootup.
...
As non-QWERTY keyboards don't feel so warm and cozy if they hug QWERTY LUKS
password prompts, it was on honor for me to serve King Dvorak XV to fight the
glorious keyboard war against... what?! Yes, I'm awake!
We're fighting with loadkeys to spit out busybox binary keymaps against loadkmap
(loadkeys does have a special target -b for that).
And yep, I'm somewhat abusing preLVMCommands, if someone got issues with that,
feel free to introduce a new substitute in stage-i-init.sh.
Sent from my iPhone
2012-08-12 13:38:36 +02:00
Eelco Dolstra
39030211af
Add a unitConfig option to set the [Unit] section of units
2012-08-10 18:56:12 -04:00
Eelco Dolstra
e00967a54a
stage-2-init: Drop udev from the $PATH
2012-08-10 18:41:20 -04:00
Eelco Dolstra
a4a90685ea
switch-to-configuration: Handle swap devices
2012-08-10 15:52:47 -04:00
Eelco Dolstra
a3c75462c1
switch-to-configuration: Handle switching all systemd units
2012-08-10 15:15:59 -04:00
Lluís Batlle i Rossell
746b572ee6
stage2init: fix respecting 'noatime' mount options for /
...
We had a "mount -o remount,rw none /" that was setting back 'relatime',
although we had set 'noatime' at initrd mount. Removing the word 'none' fixed
it.
Specifying a device (in this case 'none'), makes mount to forget previous
device options. According to manpage, it says not to read fstab or mtab. But the
effect is that of setting 'relatime', if it was mounted 'noatime.
2012-08-10 20:51:13 +02:00
Eelco Dolstra
ce7ead7bd7
switch-to-configuration: Handle changes to fileSystems
...
We now automatically remount filesystems with changed options, mount
new filesystems, and unmount obsolete filesystems.
2012-08-10 10:56:55 -04:00
Eelco Dolstra
f31ab09b85
Set uniq type on boot.loader.kernelFile
2012-08-09 11:00:35 -04:00
Shea Levy
20d4dee426
The efi boot stub code should only be run if it is enabled
2012-08-09 10:37:43 -04:00
Eelco Dolstra
6b2a14d698
Fix NixOS evaluation
2012-08-09 10:04:25 -04:00
Shea Levy
da787e3071
efi-boot-stub: List required kernel config
2012-08-08 23:02:46 -04:00
Eelco Dolstra
21da462ad5
Merge pull request #25 from shlevy/required-kernel-config
...
Required kernel config
2012-08-08 10:33:41 -07:00
Shea Levy
c39f493ebb
Minor reorganization
2012-08-07 18:09:08 -04:00
Eelco Dolstra
66ff6a382a
stage-1-init: Close temporary file descriptor
...
Otherwise this fd will be inherited all the way into the Upstart jobs.
2012-08-07 10:05:33 -04:00
Shea Levy
0ea2643c63
The initrd mounts some tmpfses
2012-08-07 06:57:01 -04:00
Eelco Dolstra
52b6e10315
Use systemd-modules-load.service to load required kernel modules
2012-08-06 16:52:08 -04:00
Rickard Nilsson
e33dfa936f
Use busybox mount instead of klibc nfsmount for nfs mounts in initrd.
2012-08-06 16:25:22 -04:00
Eelco Dolstra
d33fd9a1f8
switch-to-configuration: Assume that services that are auto-restarting are going to fail
2012-08-06 15:48:46 -04:00
Eelco Dolstra
b11c5d5991
nscd: Ensure that invalidate-nscd starts after nscd
2012-08-06 12:26:52 -04:00
Eelco Dolstra
9f9ae7c7e9
Share option definitions between the systemd and Upstart compatibility modules
2012-08-06 11:45:59 -04:00
Eelco Dolstra
f74ffe3550
Remove obsolete Upstart shutdown job
2012-08-06 10:58:27 -04:00
Eelco Dolstra
2a91bb5282
switch-to-configuration: Print new units
2012-08-03 17:13:34 -04:00
Eelco Dolstra
320682a558
switch-to-configuration: Don't ellipsize log output
2012-08-03 14:39:59 -04:00
Eelco Dolstra
0d6b96a525
switch-to-configuration: Fix the call to install the boot loader
2012-08-03 14:07:43 -04:00
Eelco Dolstra
aa6fd9f8a2
switch-to-configuration: Handle unit template instances
2012-08-03 13:47:59 -04:00
Eelco Dolstra
bd3c9febc9
switch-to-configuration: Stop units in one call to systemctl
2012-08-03 13:29:56 -04:00
Eelco Dolstra
b6bd0a4f84
switch-to-configuration: Restart services that were manually started
2012-08-03 11:53:14 -04:00
Eelco Dolstra
56ce5614f9
switch-to-configuration: Print all failed services
2012-08-03 10:40:01 -04:00
Eelco Dolstra
4d2deff7af
Stop obsolete units, restart changed units, start new units
2012-08-02 17:26:23 -04:00
Eelco Dolstra
0fc68a3d1d
Rewrite switch-to-configuration in Perl
...
This will make it more efficient to do systemd dependency graph
processing (if necessary).
2012-08-02 15:11:29 -04:00
Eelco Dolstra
d4fec178fd
Merge remote-tracking branch 'origin/master' into systemd
2012-08-02 13:44:16 -04:00
Rickard Nilsson
a6039e1be2
LUKS root: Fix key file check
...
Check for null instead of empty string
2012-08-02 11:39:31 +02:00
Rickard Nilsson
0958b224ac
LUKS root: Add option for using a key file instead of a passphrase.
2012-08-02 11:30:33 +02:00
Rickard Nilsson
ecdbc94e05
LUKS root: Add option allowDiscards (for SSD disks)
2012-08-02 11:27:28 +02:00
Shea Levy
feb010a366
NixOS kernels should support ELF executables
2012-08-02 00:47:36 -04:00
Shea Levy
9e300052bd
Add test to check that a machine with a minimal kernel but all of the requiredKernelConfig options set boots and shuts down
2012-08-01 22:32:16 -04:00
Shea Levy
2a983acaff
Enable specifying which kernel config options are needed for a given module
2012-08-01 21:50:43 -04:00
Eelco Dolstra
5f57110e1f
install-grub.pl: Fix Xen support
2012-08-01 21:48:29 +02:00
Eelco Dolstra
6576d81ff1
Fix "please: command not found" in switch-to-configuration
2012-07-30 15:19:30 -04:00
Eelco Dolstra
174d6a07e0
Fix whitespace
2012-07-30 13:49:10 -04:00
Eelco Dolstra
557f39aa0f
install-grub.pl: Apply the configuration limit only to old generations
2012-07-25 16:37:29 -04:00
Eelco Dolstra
b52117c34d
Treat init-script as a boot loader
2012-07-25 11:30:16 -04:00
Eelco Dolstra
8b91a5f2ff
Move boot loader modules to modules/system/boot/loader
2012-07-25 10:59:03 -04:00
Eelco Dolstra
b15e1fbb08
Boot loader refactoring
...
- Renamed system.build.menuBuilder to system.build.installBootLoader.
- ‘install-grub.pl’ (formerly grub-menu-builder.pl) now generates the
GRUB menu *and* installs GRUB (if necessary).
- ‘switch-to-configuration.sh’ has no boot loader specific knowledge
anymore. It just calls installBootLoader.
2012-07-25 10:47:32 -04:00
Eelco Dolstra
a0721ad2b3
stage-1-init: Use mount --move to move /sys etc. to the target root
...
This fixes warnings about /sys/kernel/security during shutdown and
cleans up /proc/mounts.
2012-07-24 22:04:28 -04:00
Eelco Dolstra
f0c82f4543
Pass the ‘--recheck’ flag to grub-install
2012-07-24 19:22:19 -04:00
Eelco Dolstra
f07f221f0e
Replace grub-menu-builder with a much faster version
...
The old GRUB menu builder script is quite slow, typically taking
several seconds. This is a real annoyance since it's run every time
you switch to a new configuration. Therefore this patch replaces the
Bash script with a much faster Perl script. In a VirtualBox test, the
execution time went from 2.7s to 0.1s. The Perl version is also more
correct because it uses XML to get the GRUB configuration (through
builtins.toXML), so there are no shell escaping issues.
The new script currently lacks support for subconfigurations defined
through "nesting.children".
2012-07-24 19:16:27 -04:00
Your Name
8bde72d99c
Mount securityfs needed for AppArmor and some TPM drivers.
...
Should be harmless.
2012-07-22 16:31:49 +03:00
Eelco Dolstra
71ca633431
Start agetty on tty1
...
‘logind’ automatically starts agetty on all virtual consoles except
tty1. We have to do that ourselves.
2012-07-20 18:32:24 -04:00
Eelco Dolstra
0edf138fc7
switch-to-configuration: Initial systemd support
...
It reloads the configuration, but doesn't (re)start jobs yet.
2012-07-20 18:25:36 -04:00
Eelco Dolstra
fd2cef50cd
Don't pull in Upstart
2012-07-20 18:25:23 -04:00
Eelco Dolstra
0b865edb16
switch-to-configuration: require a reboot going from Upstart to systemd
2012-07-20 16:23:52 -04:00
Eelco Dolstra
5fabcf63a3
Get delayed shutdowns to work
2012-07-20 15:40:50 -04:00
Eelco Dolstra
1375e7951d
Enable systemd-journal-flush.service (added by systemd 187)
2012-07-20 12:02:42 -04:00
Eelco Dolstra
02e37ba6b0
Shorten filenames of start scripts to make log messages more readable
2012-07-19 17:41:42 -04:00
Eelco Dolstra
6419172bc2
journald: enable logging to the console
2012-07-19 17:32:50 -04:00
Eelco Dolstra
63742a942e
Don't create /var/log/upstart/<jobname> unless necessary
2012-07-18 17:09:00 -04:00
Eelco Dolstra
917e53a2d2
Update units names for systemd-186
2012-07-16 17:47:11 -04:00
Eelco Dolstra
94daecd90b
save-hwclock.service: support time.hardwareClockInLocalTime
2012-07-16 17:32:26 -04:00
Eelco Dolstra
44d091674b
Merge branch 'master' of github.com:NixOS/nixos into systemd
...
Conflicts:
modules/config/networking.nix
modules/services/networking/ssh/sshd.nix
modules/services/ttys/agetty.nix
modules/system/boot/stage-2-init.sh
modules/system/upstart-events/shutdown.nix
2012-07-16 17:27:11 -04:00
Eelco Dolstra
98459eb675
Global replace /var/run/booted-system -> /run/booted-system
2012-07-16 11:34:21 -04:00
Eelco Dolstra
73532c3855
Global replace /var/run/current-system -> /run/current-system
2012-07-16 11:34:21 -04:00
Eelco Dolstra
7de6a7e8b0
Rename time.clockLocal -> time.hardwareClockInLocalTime.
2012-07-11 15:33:34 -04:00
Carles Pagès
008493f94c
Add option to keep hardware clock in local time.
2012-07-11 15:31:46 -04:00
Eelco Dolstra
bf15293b1e
Merge branch 'master' of github.com:NixOS/nixos into systemd
...
Conflicts:
modules/services/hardware/udev.nix
2012-06-28 14:19:38 -04:00
Eelco Dolstra
76c74cd7c7
initrd: Detect filesystem type before doing fsck/mount
...
BusyBox doesn't handle the "auto" filesystem type very well: fsck will
just ignore such filesystems, and mount will only work properly if the
required kernel module is already loaded. Therefore, use blkid to
determine the filesystem type.
Also generate an /etc/fstab in the initrd rootfs on the fly. This is
useful if you're dropped into an emergency shell since it allows you
to say "fsck /dev/sda1" or "mount /dev/sda" and have the right thing
happen.
2012-06-28 10:55:44 -04:00
Shea Levy
bb5d2d53fe
try isn't used, so use the more compatct seq 10
2012-06-27 09:43:54 -04:00
Mathijs Kwik
061a998840
luks root: c-style for-loop -> seq
...
The ash shell no longer supports this bash-specific syntax.
This left systems that use luksroot unable to boot.
2012-06-27 09:42:55 -04:00
Eelco Dolstra
e64bdda52b
Don't use weird 777 permissions on unmounted /dev/shm
2012-06-27 09:35:53 -04:00
Eelco Dolstra
bd0f065c05
Merge branch 'master' of github.com:NixOS/nixos into systemd
2012-06-22 18:20:26 -04:00
Eelco Dolstra
980ba4d5a5
stage-1: mount /proc, /sys, /dev in the target root
...
The switch_root in BusyBox doesn't do this (while the one in
util-linux does). So we have to do this ourselves.
2012-06-22 13:51:42 -04:00
Eelco Dolstra
872a76b177
Merge branch 'master' of github.com:NixOS/nixos into systemd
2012-06-22 11:11:21 -04:00
Eelco Dolstra
9692495df0
Use BusyBox in the initrd
...
Using BusyBox instead of Bash plus a bunch of other tools gives us a
much more feature-full, yet smaller initrd. In particular, BusyBox
contains networking commands such as ip and a DHCP client, useful for
NFS boots. It's also much more convenient for rescue situations
because the shell has builtin readline support and there are many more
tools (including vi).
2012-06-22 10:43:06 -04:00
Eelco Dolstra
337423af8e
Backdoor: depend on /dev/hvc0
...
Systemd is the shit: units can declare a dependency on the appearance
of device nodes. Yay!
2012-06-19 17:36:02 -04:00
Eelco Dolstra
2fa1ba85c6
Enable the systemd password agents
2012-06-19 17:02:54 -04:00
Eelco Dolstra
d692a0807a
Don't mount /dev/pts since systemd does that for us
2012-06-19 15:25:56 -04:00
Eelco Dolstra
cacd608c37
Mount devtmpfs in the initrd
...
It seems that udev now requires devtmpfs, so enable it.
2012-06-19 15:15:40 -04:00
Eelco Dolstra
c73d642db2
Don't put quotes around environment values
2012-06-18 23:30:26 -04:00
Eelco Dolstra
c3fb248bcb
Get rid of the Upstart shutdown job
...
The only thing that Upstart's shutdown job did that systemd doesn't do
natively is update the hardware clock. So added a service for that.
2012-06-18 18:15:34 -04:00
Eelco Dolstra
9f5051b76c
Rename mingetty module to agetty
2012-06-18 17:55:27 -04:00
Eelco Dolstra
4c21857ee1
Upstart ‘boot.systemd.services’ for the Upstart compatibility layer
2012-06-18 17:42:26 -04:00
Eelco Dolstra
352510c208
Add an option ‘boot.systemd.services’
...
This option makes it more convenient to define services because it
automates stuff like setting $PATH, having a pre-start script, and so on.
2012-06-18 15:28:31 -04:00
Eelco Dolstra
673bf12b1d
Improve the dependencies of units generated by the Upstart emulation
2012-06-18 00:22:18 -04:00
Eelco Dolstra
42ee3b4209
Add a ‘wantedBy’ attribute to unit definitions
...
This attribute allows a unit to make itself a dependency of another unit.
Also, add an option to set the default target unit.
2012-06-17 23:31:21 -04:00
Eelco Dolstra
4a95f8996b
To ease migration to systemd, generate units from the ‘jobs’ option
...
Also get rid of the ‘buildHook’ job option because it wasn't very useful.
2012-06-16 00:19:43 -04:00
Eelco Dolstra
66f4d10843
Use pam_systemd.so to set up device ownership
...
This removes the need for ConsoleKit, so it's gone.
2012-06-15 14:51:48 -04:00
Eelco Dolstra
ab86759eb3
Use kmod instead of module-init-tools
2012-06-15 14:18:26 -04:00
Eelco Dolstra
164d6e6ab2
Use udev from systemd
2012-06-15 13:09:22 -04:00
Eelco Dolstra
a46894b960
Get lots more systemd stuff working
...
Enabled a bunch of units that ship with systemd. Also added an option
‘boot.systemd.units’ that can be used to define additional units
(e.g. ‘sshd.service’).
2012-06-14 18:44:56 -04:00
Eelco Dolstra
fae777c264
Merge branch 'master' of github.com:NixOS/nixos into systemd
2012-06-14 12:02:17 -04:00
Peter Simons
25155a02e6
Add findutils dependency for /tmp cleaning.
...
This dependency is only added if the setting is activated.
svn path=/nixos/trunk/; revision=34434
2012-06-11 07:05:15 +00:00
Peter Simons
4931188684
Integrate cleanTmpDir in stage-2-init.sh.
...
We're using find in order to remove dotfiles, too.
svn path=/nixos/trunk/; revision=34433
2012-06-11 07:05:13 +00:00
Peter Simons
fbf53168f3
Add new option config.boot.cleanTmpDir.
...
This option is to control if the user wants to have its /tmp directory cleaned
up during system boot.
svn path=/nixos/trunk/; revision=34432
2012-06-11 07:05:11 +00:00
Lluís Batlle i Rossell
9125d3af50
Adding creation of /dev/ptmx in stage-2, in case stage-1 did not run.
...
Upstart requires /dev/ptmx since its 1.4, and will lock up in case of it missing.
I was hitting this in the fuloong, where I don't use the nixos initrd.
svn path=/nixos/trunk/; revision=34429
2012-06-10 22:37:20 +00:00
Eelco Dolstra
f21aa7d22c
First attempt at using systemd
...
Basic booting works. Systemd starts agetty instances on tty1 and
tty2. Shutdown and journald also work.
2012-06-04 12:51:48 -04:00
Eelco Dolstra
a6892051ef
* Allow building with boot.loader.grub.enable set to "false".
...
svn path=/nixos/trunk/; revision=34218
2012-05-23 15:52:29 +00:00
Mathijs Kwik
be69799f35
better workaround for building nested child configurations
...
svn path=/nixos/trunk/; revision=34164
2012-05-18 06:17:08 +00:00
Mathijs Kwik
7fca5408f3
Revert "Provided a workaround for grub's missing-devices check, so nested child configurations can still build."
...
This reverts commit a89e8831e3d95bcf3ddc19ee34b938db7e8aa572.
svn path=/nixos/trunk/; revision=34163
2012-05-18 06:17:05 +00:00
Eelco Dolstra
f889ebc488
* Allow runtime changes to boot.devShmSize and friends.
...
svn path=/nixos/trunk/; revision=34160
2012-05-17 19:33:55 +00:00
Eelco Dolstra
e9e6885d3b
* Lower the limits on /run and /dev.
...
svn path=/nixos/trunk/; revision=34159
2012-05-17 19:33:12 +00:00
Eelco Dolstra
91acb81b11
* Support globbing in the source attribute of environment.etc entries.
...
svn path=/nixos/trunk/; revision=34158
2012-05-17 18:43:45 +00:00
Mathijs Kwik
88b3c4b82e
Provided a workaround for grub's missing-devices check, so nested child configurations can still build.
...
svn path=/nixos/trunk/; revision=34153
2012-05-17 10:17:32 +00:00
Eelco Dolstra
07fcf5baee
* Make the boot.initrd.luks.enable option obsolete. It's enough to
...
see that boot.initrd.luks.devices is non-empty.
svn path=/nixos/trunk/; revision=34120
2012-05-15 20:45:01 +00:00
Eelco Dolstra
3dd0718939
* Give an error at evaluation time if boot.loader.grub.device or
...
boot.loader.grub.devices are not set, rather than complaining about
it when it's too late.
svn path=/nixos/trunk/; revision=34081
2012-05-14 01:53:47 +00:00
Eelco Dolstra
67d5f2b444
* Require fileSystems to be set.
...
svn path=/nixos/trunk/; revision=34080
2012-05-14 01:33:11 +00:00
Eelco Dolstra
c4aa833e56
* Use optionSet to check environment.etc.
...
svn path=/nixos/trunk/; revision=34064
2012-05-11 23:06:35 +00:00
Eelco Dolstra
e4200d7e61
* Some more trivial builders with lots of dependencies that should be
...
built locally.
svn path=/nixos/trunk/; revision=34034
2012-05-09 21:35:47 +00:00
Eelco Dolstra
03f2847054
* Set preferLocalBuild on a few trivial top-level derivations. These
...
tend to cause a lot of unnecessary I/O to the build machines.
svn path=/nixos/trunk/; revision=33936
2012-04-26 15:19:23 +00:00
Eelco Dolstra
836fa3b6ae
* Fix missing semicolon.
...
svn path=/nixos/trunk/; revision=33933
2012-04-26 14:53:58 +00:00
Peter Simons
8c93993e1b
modules/system/boot/luksroot.nix: fixed the descriptions of the options defined in this module
...
svn path=/nixos/trunk/; revision=33927
2012-04-26 12:21:45 +00:00
Eelco Dolstra
e3879fe365
* Store the NixOS version in the top-level derivation.
...
* Change the name of the top-level derivation from "system" to
"nixos-<version>".
* Show the NixOS version in the GRUB boot menu instead of the kernel
version.
svn path=/nixos/trunk/; revision=33785
2012-04-14 17:09:59 +00:00
Eelco Dolstra
2821289aeb
* Ugly hack: force udev to exit to prevent random "Device or resource
...
busy while trying to open /dev/xvda" errors from fsck.
svn path=/nixos/trunk/; revision=33766
2012-04-12 18:01:19 +00:00
Peter Simons
ec3dca188c
Dropped the unused/unknown/obsolete module i8042 from 'boot.initrd.kernelModules'.
...
svn path=/nixos/trunk/; revision=33654
2012-04-06 19:21:50 +00:00
Eelco Dolstra
4f4c529979
Stage 1 improvements:
...
* Load scsi_wait_scan after all other kernel modules to ensure that
all SCSI device nodes have been created.
* Increase the timeout for the appearance of the root device to 20
seconds.
* Do a "udevadm settle" just after the root device has appeared to
make sure that udev isn't accessing the device anymore (hopefully).
On EC2 (Xen), I've seen fsck on the root fail randomly with "device
in use" errors.
svn path=/nixos/trunk/; revision=33650
2012-04-06 14:20:43 +00:00
Eelco Dolstra
1e8e83408b
* Revert unintended commit.
...
svn path=/nixos/trunk/; revision=33646
2012-04-06 12:23:44 +00:00
Eelco Dolstra
852e513638
* Handle booting from /dev/xvda.
...
svn path=/nixos/trunk/; revision=33645
2012-04-06 12:23:12 +00:00
Eelco Dolstra
e44b87dd31
* Pass --no-sessions to Upstart to make sure users cannot start
...
Upstart jobs (even when Upstart has attached to D-Bus).
svn path=/nixos/trunk/; revision=33617
2012-04-05 12:27:21 +00:00
Lluís Batlle i Rossell
f4883572d8
Making the init interactive shells handle well console kernel parameters
...
with extra parameters, like console=ttyS0,115200.
svn path=/nixos/trunk/; revision=33458
2012-03-28 19:58:44 +00:00
Lluís Batlle i Rossell
9fb07d4036
Making a reference single-quoted for grubDevices, as after substitution, there
...
will be doublequoted elements.
Suggested by Kirelagin.
svn path=/nixos/trunk/; revision=33403
2012-03-25 12:36:43 +00:00
Eelco Dolstra
43b5ced96c
* Ignore SIGHUP and write errors on stderr to ensure that
...
switch-to-configuration runs to completion (e.g. if the tty we're on
got killed).
svn path=/nixos/trunk/; revision=33382
2012-03-23 13:37:22 +00:00
Eelco Dolstra
293e3a784d
* Ensure a consitent umask in the activation script (reported by
...
Lluís).
svn path=/nixos/trunk/; revision=33347
2012-03-22 10:17:10 +00:00
Eelco Dolstra
6f03065dce
* Move the setting of $MODULE_DIR to modprobe.nix.
...
* Add a slash to the end of $MODULE_DIR, as expected by depmod. (Not
that running depmod from the command line is all that useful, since
you can't use it to update the tree in the Nix store. But at least
commands like "depmod -n" work now.) Reported by Kirill Elagin on
IRC.
svn path=/nixos/trunk/; revision=33312
2012-03-20 22:02:27 +00:00
Eelco Dolstra
e86427f037
* Remove an obsolete line.
...
svn path=/nixos/trunk/; revision=33308
2012-03-20 21:43:13 +00:00
Eelco Dolstra
d9e28560d1
* Emit "expect daemon" for the mountall task. Otherwise it may get a
...
USR1 signal before it has forked into the background (because it
will be in the start/running state immediately).
svn path=/nixos/trunk/; revision=33288
2012-03-20 10:17:08 +00:00
Eelco Dolstra
a51a83bd8c
* Drop obsolete line.
...
svn path=/nixos/trunk/; revision=33276
2012-03-19 19:34:06 +00:00
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
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
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
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
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
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
Eelco Dolstra
21393eed1e
* Use the --quiet flag.
...
svn path=/nixos/trunk/; revision=33225
2012-03-18 02:36:44 +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
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
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
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
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
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
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
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
Lluís Batlle i Rossell
3c0fdaf877
Adding /dev/tty to the stage1, so 'more' and 'less' now page well.
...
svn path=/nixos/trunk/; revision=33006
2012-03-11 23:04:29 +00:00
Lluís Batlle i Rossell
ee163c2c80
Making the stage2 interpreter bash non-interactive, while keeping the
...
interactive shell with bash interactive. Suggested by Eelco.
svn path=/nixos/trunk/; revision=33005
2012-03-11 22:43:37 +00:00
Lluís Batlle i Rossell
1a48572b75
Disabling the initrd extra tools by default, until further review.
...
svn path=/nixos/trunk/; revision=33004
2012-03-11 22:28:31 +00:00
Lluís Batlle i Rossell
2fc537277b
Removing a 'set -x' in the stage1 extra tools.
...
svn path=/nixos/trunk/; revision=33003
2012-03-11 22:26:01 +00:00
Lluís Batlle i Rossell
d2e2bb4bc4
Typo
...
svn path=/nixos/trunk/; revision=33002
2012-03-11 22:07:37 +00:00
Lluís Batlle i Rossell
331b1f46d3
Making the stage2 'debug2' spawn a shell with job control, like in stage1, running it in a
...
virtual terminal and not in the console. This brings wonderful things like ^C.
svn path=/nixos/trunk/; revision=33001
2012-03-11 22:01:46 +00:00
Lluís Batlle i Rossell
bbebba68f7
A more friendly stage1, with interactive bash, busybox plenty of tools, etc.
...
I set it as default because users can benefit of this without having to prepare
their nixos first, and I don't think it will break any nixos for the initrd
size increase.
It can be disabled with 'boot.initrd.withExtraTools = false'.
svn path=/nixos/trunk/; revision=33000
2012-03-11 21:56:47 +00:00
Lluís Batlle i Rossell
6a0958cc06
Making stage2 get a full interactive bash for the stage2 init, so there the shell has readline,
...
jobs, etc.
svn path=/nixos/trunk/; revision=32999
2012-03-11 21:50:35 +00:00
Eelco Dolstra
03ebb883d1
* Modularize filesystem support. Filesystems such as btrfs and
...
reiserfs now have separate modules that are conditional on
boot.supportedFilesystems and boot.initrd.supportedFilesystems.
By default, these include the filesystems specified in the fsType
attribute in fileSystems. Ext2/3/4 support is currently
unconditional.
Also unbreak the installer test (http://hydra.nixos.org/build/2272302 ).
svn path=/nixos/trunk/; revision=32954
2012-03-09 14:37:58 +00:00
Lluís Batlle i Rossell
13ac0a309b
Allow a way to install grub to multiple devices (for /boot on soft raid arrays).
...
svn path=/nixos/trunk/; revision=32913
2012-03-08 21:37:30 +00:00
Lluís Batlle i Rossell
98dde13782
If enabling luks on initrd, also adding cryptsetup to system packages. I think it's useful.
...
svn path=/nixos/trunk/; revision=32910
2012-03-08 20:49:26 +00:00
Lluís Batlle i Rossell
1adaabef58
Adding an option to luksroot, so it allows to define whether to launch cryptsetup after or before LVM.
...
To allow dmcrypt over lvm and lvm over dmcrypt.
svn path=/nixos/trunk/; revision=32784
2012-03-04 21:00:35 +00:00
Eelco Dolstra
8935db253c
* Upstart jobs: don't emit a description if there is none.
...
svn path=/nixos/trunk/; revision=32775
2012-03-04 16:17:56 +00:00
Mathijs Kwik
dc8ca0ea4a
upstart: options for setuid and setgid
...
as jobs running as different users cannot create their logfile, I moved that to an activationScript
svn path=/nixos/trunk/; revision=32762
2012-03-04 12:58:06 +00:00
Lluís Batlle i Rossell
79d4b11aeb
Making the luks thing of initrd a bit more flexible. I used it to get a
...
ciphered swap, where I could hibernate ciphered.
svn path=/nixos/trunk/; revision=32754
2012-03-03 16:07:18 +00:00
Eelco Dolstra
ee0769cc42
* If debug2 is passed on the kernel command line, run Upstart with
...
the --verbose flag to see what it's doing.
svn path=/nixos/trunk/; revision=32747
2012-03-02 16:37:28 +00:00
Eelco Dolstra
f61ad97833
* Run the stage 2 debug shell at a more useful point (just before
...
starting Upstart). This also causes $PATH to be set to something
more sensible.
svn path=/nixos/trunk/; revision=32740
2012-03-02 13:17:05 +00:00
Eelco Dolstra
84bff53ca7
* Set the default value for the ‘path’ job attribute using the NixOS
...
module system so that it can be overriden. Also use an ‘apply’ to
compute the actual $PATH.
svn path=/nixos/trunk/; revision=32440
2012-02-20 19:23:15 +00:00
Eelco Dolstra
a218a602d4
* Use openresolv to set the static nameserver configuration. Next
...
step is to get the DHCP client, OpenVPN etc. to use openresolv as
well.
svn path=/nixos/trunk/; revision=32411
2012-02-20 00:00:50 +00:00