summary refs log tree commit diff
path: root/nixos/modules/system/boot/kernel.nix
Commit message (Collapse)AuthorAge
* kernel: fix boot.consoleLogLevel descriptionMatthieu Coudron2018-04-17
| | | | | The current description describes the opposite influence of the setting https://www.kernel.org/doc/Documentation/admin-guide/kernel-parameters.txt
* nixos/boot: allow kernel.printk override (#34958)Matthieu Coudron2018-02-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | At one point in my configuration I had: boot.kernel.sysctl = { # https://unix.stackexchange.com/questions/13019/description-of-kernel-printk-values "kernel.printk" = "4 4 1 7"; }; which triggered: error: The unique option `boot.kernel.sysctl.kernel.printk' is defined multiple times, in `/home/teto/dotfiles/nixpkgs/mptcp-unstable.nix' and `/home/teto/nixpkgs/nixos/modules/system/boot/kernel.nix'. (use ‘--show-trace’ to show detailed location information) Traceback (most recent call last): File "/home/teto/nixops/scripts/nixops", line 984, in <module> args.op() File "/home/teto/nixops/scripts/nixops", line 406, in op_deploy max_concurrent_activate=args.max_concurrent_activate) File "/home/teto/nixops/nixops/deployment.py", line 1045, in deploy self.run_with_notify('deploy', lambda: self._deploy(**kwargs)) File "/home/teto/nixops/nixops/deployment.py", line 1034, in run_with_notify f() File "/home/teto/nixops/nixops/deployment.py", line 1045, in <lambda> self.run_with_notify('deploy', lambda: self._deploy(**kwargs)) File "/home/teto/nixops/nixops/deployment.py", line 985, in _deploy self.configs_path = self.build_configs(dry_run=dry_run, repair=repair, include=include, exclude=exclude) File "/home/teto/nixops/nixops/deployment.py", line 653, in build_configs raise Exception("unable to build all machine configurations") Exception: unable to build all machine configurations This simple addition allows to override it.
* nixos: make `boot.kernel.features` internalHerwig Hochleitner2018-02-15
| | | | | This isn't useful as public API. It should be used by options to activate kernel features for use with specific programs.
* boot.kernel.features: add nixos option for setting kernel featuresHerwig Hochleitner2018-02-15
| | | | | this allows setting the features attribute for pkgs/os-specific/linux/kernel/common-config.nix
* nixos/availableKernelModules: add a keyboard moduleVladimír Čunát2018-02-03
| | | | | Non-working keyboards during boot are quite a problem; see: https://github.com/NixOS/nixpkgs/pull/33529#issuecomment-361164997
* nixos/initrd: Don't include some x86-specific modules unconditionallyTuomas Tynkkynen2018-01-22
|
* nixos/availableKernelModules: add logitech hidJaakko Luttinen2018-01-06
| | | | This adds support for Logitech (wireless) USB keyboards at boot
* nixos: clean up kernel modulesFranz Pletz2017-10-07
| | | | | | | | * the keyboard modules in all-hardware.nix are already defaults of boot.initrd.availableKernelModules * ide modules, hid_lenovo_tpkbd and scsi_wait_scan have been removed because they're not available anymore * i8042 was a duplicate (see few lines abowe)
* fix comments about nixos-hardware-scanBrice Waegeneire2017-02-18
| | | | It has been renamed to nixos-generate-config in 3ed4173
* initrd: Include i8042 kernel moduleEelco Dolstra2016-10-21
| | | | | | | | | | | | | For some reason, between Linux 4.4.19 and 4.4.20, the atkbd and libps2 kernel modules lost their dependency on i8042 in modules.dep, causing i8042 not to be included in the initrd. This breaks keyboard in the initrd, in turn breaking LUKS. This only happens on the 16.03 branch; on 16.09, it appears i8042 is pulled into the initrd anyway (through some other dependency, presumably). But let's include it explicitly. http://hydra.nixos.org/build/40468431
* nixos: make it easy to apply kernel patchesCharles Strahan2016-10-11
| | | | | | | | | | | | | | | | | | | | This makes it easy to specify kernel patches: boot.kernelPatches = [ pkgs.kernelPatches.ubuntu_fan_4_4 ]; To make the `boot.kernelPatches` option possible, this also makes it easy to extend and/or modify the kernel packages within a linuxPackages set. For example: pkgs.linuxPackages.extend (self: super: { kernel = super.kernel.override { kernelPatches = super.kernel.kernelPatches ++ [ pkgs.kernelPatches.ubuntu_fan_4_4 ]; }; }); Closes #15095
* Linux-kernel: Workaround for https://github.com/NixOS/nixpkgs/issues/18451Lengyel Balázs2016-09-09
| | | | remove after upstream gets fixed
* nixos treewide: don't set MODULE_DIRNikolay Amiantov2016-08-19
|
* Revert "Merge branch 'modprobe-fix' of git://github.com/abbradar/nixpkgs"Shea Levy2016-08-15
| | | | | | | Was meant to go into staging, sorry This reverts commit 57b2d1e9b0dcdd1d25bd2d450174764b9417ffc1, reversing changes made to 760b2b9048ea775c319cb348d74447a20dea513e.
* nixos treewide: don't set MODULE_DIRNikolay Amiantov2016-08-16
|
* Merge pull request #10417 from puffnfresh/nixos/mmc_blockRobin Gloster2016-02-08
|\ | | | | initrd: add mmc_block to default available modules
| * initrd: add mmc_block to default available modulesBrian McKenna2015-10-16
| | | | | | | | | | | | | | mmc_block and sdhci_acpi are both necessary for a Bay Trail Chromebook with an internal eMMC drive. The sdhci_acpi module is detectable but I can not figure out a way to check whether the mmc_block module is needed by just looking at /sys/
* | types: remove references to new packageSetRobin Gloster2016-01-17
| | | | | | | | | | | | | | | | | | Reverts part of a04a7272aa38ada45e694281071b720d4abbd0df packageSet is slated to be introduced in #11866 but currently causes evalation errors. /cc @ts468
* | Add missing 'type', 'defaultText' and 'literalExample' in module definitionsThomas Strobel2016-01-17
| | | | | | | | | | | | - add missing types in module definitions - add missing 'defaultText' in module definitions - wrap example with 'literalExample' where necessary in module definitions
* | linux: Make Unix domain sockets builtinEelco Dolstra2016-01-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This hopefully fixes intermittent initrd failures where udevd cannot create a Unix domain socket: machine# running udev... machine# error getting socket: Address family not supported by protocol machine# error initializing udev control socket machine# error getting socket: Address family not supported by protocol The "unix" kernel module is supposed to be loaded automatically, and clearly that works most of the time, but maybe there is a race somewhere. In any case, no sane person would run a kernel without Unix domain sockets, so we may as well make it builtin. http://hydra.nixos.org/build/30001448
* | kernel: do not load `configs` module (close #10912)Vladimír Čunát2016-01-04
|/ | | | | | ... because we make it built-in by default. I can't imagine anyone who wanted to purge this module from his/her system, so let's keep it simple, at least for now.
* Put all firmware in $out/lib/firmwareEelco Dolstra2015-08-25
| | | | This way, hardware.firmware can be a list of packages.
* Fix description of boot.consoleLogLevelEelco Dolstra2015-07-25
|
* Forcing the load of atkbd in initrd.Lluís Batlle i Rossell2015-06-10
| | | | | In some computers, having the module available does not really load it, therefore, it results in not having the keyboard avaiable in initrd.
* Add hid_lenovo to initrd kernel modulesDomen Kožar2015-02-13
|
* nixos/system: Add xhci_pci as it is needed to detect host buses in the ↵William A. Kennington III2015-02-09
| | | | initrd for usb keyboards on the xhci bus and storage devices on the iso
* initrd.availableKernelModules: add support for keyboardsVladimír Čunát2014-08-12
| | | | | As explained in #2169, some keyboards need special drivers, so these are always added, both on installation and normal systems.
* Merge branch 'modulesfix' of git://github.com/kirelagin/nixpkgsShea Levy2014-04-21
|\ | | | | | | ohci_pci is required in initrd since kernel 3.11
| * ohci_pci is required in initrd since kernel 3.11Kirill Elagin2014-04-21
| |
* | kmod-static-nodes: Drop superfluous wantedByEelco Dolstra2014-04-18
| |
* | Allow upstream systemd units to be extendedEelco Dolstra2014-04-17
| | | | | | | | | | | | | | | | | | | | | | | | If you define a unit, and either systemd or a package in systemd.packages already provides that unit, then we now generate a file /etc/systemd/system/<unit>.d/overrides.conf. This makes it possible to use upstream units, while allowing them to be customised from the NixOS configuration. For instance, the module nix-daemon.nix now uses the units provided by the Nix package. And all unit definitions that duplicated upstream systemd units are finally gone. This makes the baseUnit option unnecessary, so I've removed it.
* | Enable kmod-static-nodes.serviceEelco Dolstra2014-04-17
| | | | | | | | | | | | This creates static device nodes such as /dev/fuse or /dev/snd/seq. The kernel modules for these devices will be loaded on demand when the device node is opened.
* | Set MODULE_DIR in systemd-load-modules.serviceEelco Dolstra2014-04-16
| |
* | Rewrite ‘with pkgs.lib’ -> ‘with lib’Eelco Dolstra2014-04-14
|/ | | | | | | | Using pkgs.lib on the spine of module evaluation is problematic because the pkgs argument depends on the result of module evaluation. To prevent an infinite recursion, pkgs and some of the modules are evaluated twice, which is inefficient. Using ‘with lib’ prevents this problem.
* Run hwclock --hctosys to initialize the system timeEelco Dolstra2014-03-18
|
* Always load the "configs" kernel moduleEelco Dolstra2014-03-05
| | | | | | | We used to have the configuration of the kernel available in a somewhat convenient place (/run/booted-system/kernel-modules/config) but that has disappeared. So instead just make /proc/configs.gz available. It only eats a few kilobytes.
* nixos initrd: load atkbd, not xtkbdLluís Batlle i Rossell2013-12-23
| | | | I don't think anyone has a XT keyboard in a computer running nixos.
* Add support for lightweight NixOS containersEelco Dolstra2013-11-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | You can now say: systemd.containers.foo.config = { services.openssh.enable = true; services.openssh.ports = [ 2022 ]; users.extraUsers.root.openssh.authorizedKeys.keys = [ "ssh-dss ..." ]; }; which defines a NixOS instance with the given configuration running inside a lightweight container. You can also manage the configuration of the container independently from the host: systemd.containers.foo.path = "/nix/var/nix/profiles/containers/foo"; where "path" is a NixOS system profile. It can be created/updated by doing: $ nix-env --set -p /nix/var/nix/profiles/containers/foo \ -f '<nixos>' -A system -I nixos-config=foo.nix The container configuration (foo.nix) should define boot.isContainer = true; to optimise away the building of a kernel and initrd. This is done automatically when using the "config" route. On the host, a lightweight container appears as the service "container-<name>.service". The container is like a regular NixOS (virtual) machine, except that it doesn't have its own kernel. It has its own root file system (by default /var/lib/containers/<name>), but shares the Nix store of the host (as a read-only bind mount). It also has access to the network devices of the host. Currently, if the configuration of the container changes, running "nixos-rebuild switch" on the host will cause the container to be rebooted. In the future we may want to send some message to the container so that it can activate the new container configuration without rebooting. Containers are not perfectly isolated yet. In particular, the host's /sys/fs/cgroup is mounted (writable!) in the guest.
* Disable various services when running inside a containerEelco Dolstra2013-11-26
|
* Fix broken Conflicts optionsEelco Dolstra2013-11-18
|
* Add lots of missing option typesEelco Dolstra2013-10-30
|
* Remove uses of the "merge" option attributeEelco Dolstra2013-10-28
| | | | | It's redundant because you can (and should) specify an option type, or an apply function.
* Add missing typesEelco Dolstra2013-10-28
|
* Move all of NixOS to nixos/ in preparation of the repository mergeEelco Dolstra2013-10-10