summary refs log tree commit diff
path: root/nixos/modules/system
Commit message (Collapse)AuthorAge
* Merge branch 'plymouth' into stagingNikolay Amiantov2016-07-13
|\
| * nixos stage-1: try to quit plymouth if started on failureNikolay Amiantov2016-07-12
| |
| * plymouth service: initNikolay Amiantov2016-07-12
| |
| * nixos stage-1: set extraUtils variableNikolay Amiantov2016-07-12
| |
| * nixos stage-1: replace udevadm in udevRulesNikolay Amiantov2016-07-12
| |
| * nixos stage-1: guard udevRules from extra referencesNikolay Amiantov2016-07-12
| |
| * nixos stage-1: recursively process binaries and librariesNikolay Amiantov2016-07-12
| |
| * nixos stage-1: unconditionally mount /dev/ptsNikolay Amiantov2016-07-12
| |
* | nixos/systemd: disable timer units with serviceBjørn Forsman2016-07-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A disabled systemd service with a "startAt" attribute, like this: systemd.services.foo-service = { enable = false; startAt = "*-*-* 05:15:00"; ... }; will cause the following errors in the system journal: systemd[1]: foo-service.timer: Refusing to start, unit to trigger not loaded. systemd[1]: Failed to start foo-service.timer. Fix it by not generating the corresponding timer unit when the service is disabled.
* | systemd-coredump: Add systemd service and fix sysctl pattern.Jookia2016-07-10
| |
* | extlinux-conf-builder: Choose whether to use DTBs on per-generation basisTuomas Tynkkynen2016-07-10
| | | | | | | | | | | | Previously, the value from stdenv.platform.kernelDTB was used. That doesn't work well if both kinds (DTB and non-DTB) of generations exist in the system profile.
* | nixos/grub: change state file device separator from ':' to ','Bjørn Forsman2016-07-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ':' is currently used as separator in /boot/grub/state for the list of devices GRUB should be installed to. The problem is that ':' itself may appear in a device path: /dev/disk/by-id/usb-SanDisk_Cruzer_20043512300546C0B317-0:0 With such a path, NixOS will install GRUB *every* time, because it thinks the configuration differs from the state file (due to the wrong list split). Fix it by using ',' as separator. For existing systems with GRUB installed on multiple devices, this change means that GRUB will be installed one extra time.
* | Merge pull request #16568 from layus/reload-logindJoachim Fasting2016-07-03
|\ \ | | | | | | systemd-logind: reload when logind.conf changed
| * | systemd-logind: reload when logind.conf changedGuillaume Maudoux2016-07-03
| | |
* | | switch-to-configuration: use absolute path to systemd-escapeBjørn Forsman2016-07-01
|/ / | | | | | | | | | | | | | | | | | | | | | | Fixes issue when upgrading from very old NixOS systems that don't have systemd-escape in $PATH: $ sudo nixos-rebuild switch ... building the system configuration... updating GRUB 2 menu... Can't exec "systemd-escape": No such file or directory at /nix/var/nix/profiles/system/bin/switch-to-configuration line 264. Unable to escape /!
* / modules.resolved: Enhance by upstream options (#15897)Alexander Ried2016-06-26
|/
* Merge pull request #16021 from Baughn/systemd-lingerEelco Dolstra2016-06-20
|\ | | | | systemd: Set KillUserProcesses=no in logind.conf
| * systemd: Set KillUserProcesses=no in logind.confSvein Ove Aas2016-06-06
| | | | | | | | | | | | | | | | Full discussion at https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=825394 NixOS is even more of a server OS than Debian, and I can think of no reason to make users jump through this sort of hoop.
* | Merge pull request #15895 from cerana/stage2-sysfsShea Levy2016-06-03
|\ \ | |/ |/| stage2: if no /proc, also mount /sys
| * stage2: if no /proc, also mount /sysNahum Shalman2016-06-01
| |
* | Rename gummiboot moduleEelco Dolstra2016-06-01
| |
* | Rename boot.loader.gummiboot.enable -> boot.loader.systemd-boot.enableEelco Dolstra2016-06-01
| |
* | Use systemd-boot instead of gummibootEelco Dolstra2016-05-31
|/ | | | Gummiboot is part of systemd now so we may as well use it.
* Merge branch 'master' into stagingVladimír Čunát2016-05-26
|\ | | | | | | ... to get the systemd update (rebuilding ~7k jobs).
| * boot.initrd.luks.devices: Change into an attribute setEelco Dolstra2016-05-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows setting options for the same LUKS device in different modules. For example, the auto-generated hardware-configuration.nix can contain boot.initrd.luks.devices.crypted.device = "/dev/disk/..."; while configuration.nix can add boot.initrd.luks.devices.crypted.allowDiscards = true; Also updated the examples/docs to use /disk/disk/by-uuid instead of /dev/sda, since we shouldn't promote the use of the latter.
| * Remove boot.loader.grub.timeout and boot.loader.gummiboot.timeoutEelco Dolstra2016-05-25
| | | | | | | | There is a generic boot.loader.timeout option.
| * Merge pull request #15598 from rnhmjoj/systemdEelco Dolstra2016-05-23
| |\ | | | | | | Remove systemd shell aliases
| | * Remove systemd shell aliasesrnhmjoj2016-05-21
| | |
* | | Merge branch 'master' into stagingVladimír Čunát2016-05-23
|\| | | | | | | | | | | That's to get mesa rebuild from master, as it's nontrivial.
| * | initrd-ssh service: add assertions for host keysNikolay Amiantov2016-05-20
| |/
* / treewide: Make explicit that 'dev' output of openssl is usedTuomas Tynkkynen2016-05-19
|/
* Merge branch 'master' into stagingVladimír Čunát2016-05-08
|\
| * initrd-ssh service: fix buildNikolay Amiantov2016-05-07
| |
| * nixos/stage-1: Don't kill kernel threadsaszlig2016-05-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unfortunately, pkill doesn't distinguish between kernel and user space processes, so we need to make sure we don't accidentally kill kernel threads. Normally, a kernel thread ignores all signals, but there are a few that do. A quick grep on the kernel source tree (as of kernel 4.6.0) shows the following source files which use allow_signal(): drivers/isdn/mISDN/l1oip_core.c drivers/md/md.c drivers/misc/mic/cosm/cosm_scif_server.c drivers/misc/mic/cosm_client/cosm_scif_client.c drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c drivers/staging/rtl8188eu/core/rtw_cmd.c drivers/staging/rtl8712/rtl8712_cmd.c drivers/target/iscsi/iscsi_target.c drivers/target/iscsi/iscsi_target_login.c drivers/target/iscsi/iscsi_target_nego.c drivers/usb/atm/usbatm.c drivers/usb/gadget/function/f_mass_storage.c fs/jffs2/background.c fs/lockd/clntlock.c fs/lockd/svc.c fs/nfs/nfs4state.c fs/nfsd/nfssvc.c While not all of these are necessarily kthreads and some functionality may still be unimpeded, it's still quite harmful and can cause unexpected side-effects, especially because some of these kthreads are storage-related (which we obviously don't want to kill during bootup). During discussion at #15226, @dezgeg suggested the following implementation: for pid in $(pgrep -v -f '@'); do if [ "$(cat /proc/$pid/cmdline)" != "" ]; then kill -9 "$pid" fi done This has a few downsides: * User space processes which use an empty string in their command line won't be killed. * It results in errors during bootup because some shell-related processes are already terminated (maybe it's pgrep itself, haven't checked). * The @ is searched within the full command line, not just at the beginning of the string. Of course, we already had this until now, so it's not a problem of his implementation. I posted an alternative implementation which doesn't suffer from the first point, but even that one wasn't sufficient: for pid in $(pgrep -v -f '^@'); do readlink "/proc/$pid/exe" &> /dev/null || continue echo "$pid" done | xargs kill -9 This one spawns a subshell, which would be included in the processes to kill and actually kills itself during the process. So what we have now is even checking whether the shell process itself is in the list to kill and avoids killing it just to be sure. Also, we don't spawn a subshell anymore and use /proc/$pid/exe to distinguish between user space and kernel processes like in the comments of the following StackOverflow answer: http://stackoverflow.com/a/12231039 We don't need to take care of terminating processes, because what we actually want IS to terminate the processes. The only point where this (and any previous) approach falls short if we have processes that act like fork bombs, because they might spawn additional processes between the pgrep and the killing. We can only address this with process/control groups and this still won't save us because the root user can escape from that as well. Signed-off-by: aszlig <aszlig@redmoonstudios.org> Fixes: #15226
* | dbus: Fix for new 1.10 versionWilliam A. Kennington III2016-05-02
| | | | | | | | (cherry picked from commit 68a4a6df3971d66aa988bba680351a30fbadbed3)
* | Merge remote-tracking branch 'upstream/master' into stagingTuomas Tynkkynen2016-04-28
|\|
| * Update `etc` example to not use a real config fileGraham Christensen2016-04-27
| | | | | | A user noticed the example for `hosts`, took the `mode` permissions literally, and ended up with surprising behavior on their system. Updating the documentation to not reference a real config file which might have real permissions requirements.
* | Merge commit 'refs/pull/14694/head' of git://github.com/NixOS/nixpkgs into ↵Nikolay Amiantov2016-04-25
|\ \ | |/ |/| | | staging
| * add get* helper functions and mass-replace manual outputs search with themNikolay Amiantov2016-04-25
| |
| * makeSearchPathOutputs: refactor to makeSearchPathOutputNikolay Amiantov2016-04-25
| |
* | treewide: Use correct output of config.nix.package in non-string contextsTuomas Tynkkynen2016-04-25
|/
* boot.loader.grub: fix variable name (#14855)Alexander Ried2016-04-20
|
* stage-1: Remove doublePatchelf hackTuomas Tynkkynen2016-04-15
| | | | No longer needed with the new patchelf version.
* Restore default core limit of 0:infinityEelco Dolstra2016-04-14
| | | | | | | | Continuation of 79c3c16dcbb3b45c0f108550cb89ccd4fc855e3b. Systemd 229 sets the default RLIMIT_CORE to infinity, causing systems to be littered with core dumps when systemd.coredump.enable is disabled. This restores the 15.09 soft limit of 0 and hard limit of infinity.
* replace makeSearchPath tree-wise to take care of possible multiple outputsNikolay Amiantov2016-04-13
|
* Merge branch 'staging', containing closure-size #7701Vladimír Čunát2016-04-13
|\
| * Merge branch 'master' into closure-sizeVladimír Čunát2016-04-10
| |\ | | | | | | | | | | | | | | | Comparison to master evaluations on Hydra: - 1255515 for nixos - 1255502 for nixpkgs
| * \ Merge branch 'master' into closure-sizeVladimír Čunát2016-04-01
| |\ \ | | | | | | | | | | | | | | | | Beware that stdenv doesn't build. It seems something more will be needed than just resolution of merge conflicts.
| * \ \ Merge master into closure-sizeVladimír Čunát2016-03-08
| |\ \ \ | | | | | | | | | | | | | | | | | | | | The kde-5 stuff still didn't merge well. I hand-fixed what I saw, but there may be more problems.
| * \ \ \ Merge branch 'master' into closure-sizeVladimír Čunát2016-02-14
| |\ \ \ \