diff --git a/nixos/doc/manual/configuration/linux-kernel.xml b/nixos/doc/manual/configuration/linux-kernel.xml index 6502aaec83e5..f4d697c42dbd 100644 --- a/nixos/doc/manual/configuration/linux-kernel.xml +++ b/nixos/doc/manual/configuration/linux-kernel.xml @@ -66,6 +66,57 @@ nixpkgs.config.packageOverrides = pkgs: sets the kernel’s TCP keepalive time to 120 seconds. To see the available parameters, run sysctl -a. +
+ Customize your kernel + + + The first step before compiling the kernel is to generate an appropriate + .config configuration. Either you pass your own config via + the configfile setting of linuxManualConfig: + + +You can edit the config with this snippet (by default make menuconfig won't work + out of the box on nixos): + {}; kernelToOverride.overrideAttrs (o: {nativeBuildInputs=o.nativeBuildInputs ++ [ pkgconfig ncurses ];})' + ]]> + + + or you can let nixpkgs generate the configuration. + Nixpkgs generates it via answering the interactive kernel utility make config. + The answers depend on parameters passed to pkgs/os-specific/linux/kernel/generic.nix + (which you can influence by overriding extraConfig, autoModules, modDirVersion, preferBuiltin, extraConfig). + + +
Developing kernel modules