···428428429429 UEFI systems
430430431431- : You must select a boot-loader, either system-boot or GRUB. The recommended
431431+ : You must select a boot-loader, either systemd-boot or GRUB. The recommended
432432 option is systemd-boot: set the option [](#opt-boot.loader.systemd-boot.enable)
433433 to `true`. `nixos-generate-config` should do this automatically
434434 for new configurations when booted in UEFI mode.
···441441 If you want to use GRUB, set [](#opt-boot.loader.grub.device) to `nodev` and
442442 [](#opt-boot.loader.grub.efiSupport) to `true`.
443443444444- With system-boot, you should not need any special configuration to detect
444444+ With systemd-boot, you should not need any special configuration to detect
445445 other installed systems. With GRUB, set [](#opt-boot.loader.grub.useOSProber)
446446- to `true`, but this will only detect windows partitions, not other linux
447447- distributions. If you dual boot another linux distribution, use system-boot
446446+ to `true`, but this will only detect windows partitions, not other Linux
447447+ distributions. If you dual boot another Linux distribution, use systemd-boot
448448 instead.
449449450450 If you need to configure networking for your machine the
+2
nixos/doc/manual/release-notes/rl-2305.section.md
···78787979- `git-bug` has been updated to at least version 0.8.0, which includes backwards incompatible changes. The `git-bug-migration` package can be used to upgrade existing repositories.
80808181+- `keepassx` and `keepassx2` have been removed, due to upstream [stopping development](https://www.keepassx.org/index.html%3Fp=636.html). Consider [KeePassXC](https://keepassxc.org) as a maintained alternative.
8282+8183- The `services.kubo.settings` option is now no longer stateful. If you changed any of the options in `services.kubo.settings` in the past and then removed them from your NixOS configuration again, those changes are still in your Kubo configuration file but will now be reset to the default. If you're unsure, you may want to make a backup of your configuration file (probably /var/lib/ipfs/config) and compare after the update.
82848385- The EC2 image module no longer fetches instance metadata in stage-1. This results in a significantly smaller initramfs, since network drivers no longer need to be included, and faster boots, since metadata fetching can happen in parallel with startup of other services.
···2121}:
22222323let
2424- inherit (cudaPackages) cudatoolkit cudnn nccl;
2424+ inherit (cudaPackages) cudatoolkit nccl;
2525+ # The default for cudatoolkit 10.1 is CUDNN 8.0.5, the last version to support CUDA 10.1.
2626+ # However, this caffe does not build with CUDNN 8.x, so we use CUDNN 7.6.5 instead.
2727+ # Earlier versions of cudatoolkit use pre-8.x CUDNN, so we use the default.
2828+ cudnn = if lib.versionOlder cudatoolkit.version "10.1"
2929+ then cudaPackages.cudnn
3030+ else cudaPackages.cudnn_7_6_5;
2531in
26322733assert leveldbSupport -> (leveldb != null && snappy != null);
···11-From 2cc99c9cdc8fde5e92e34f9655829449cebd3e00 Mon Sep 17 00:00:00 2001
22-From: Dmitry Goldin <dgoldin+lkml@protonmail.ch>
33-Date: Fri, 4 Oct 2019 10:40:07 +0000
44-Subject: kheaders: make headers archive reproducible
55-66-In commit 43d8ce9d65a5 ("Provide in-kernel headers to make
77-extending kernel easier") a new mechanism was introduced, for kernels
88->=5.2, which embeds the kernel headers in the kernel image or a module
99-and exposes them in procfs for use by userland tools.
1010-1111-The archive containing the header files has nondeterminism caused by
1212-header files metadata. This patch normalizes the metadata and utilizes
1313-KBUILD_BUILD_TIMESTAMP if provided and otherwise falls back to the
1414-default behaviour.
1515-1616-In commit f7b101d33046 ("kheaders: Move from proc to sysfs") it was
1717-modified to use sysfs and the script for generation of the archive was
1818-renamed to what is being patched.
1919-2020-Signed-off-by: Dmitry Goldin <dgoldin+lkml@protonmail.ch>
2121-Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2222-Reviewed-by: Joel Fernandes (Google) <joel@joelfernandes.org>
2323-Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2424-2525----
2626-2727-nixos note: This patch is from
2828-https://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git/commit/?h=fixes&id=2cc99c9cdc8fde5e92e34f9655829449cebd3e00
2929-I commented out the documentation part here, so that it easily applies
3030-to linux 5.2 and 5.3, which does not ship with the reproducible build
3131-documentation yet, which only was introduced recently.
3232-3333----
3434- Documentation/kbuild/reproducible-builds.rst | 13 +++++++++----
3535- kernel/gen_kheaders.sh | 5 ++++-
3636- 2 files changed, 13 insertions(+), 5 deletions(-)
3737-3838-#diff --git a/Documentation/kbuild/reproducible-builds.rst b/Documentation/kbuild/reproducible-builds.rst
3939-#index ab92e98c89c8..503393854e2e 100644
4040-# --- a/Documentation/kbuild/reproducible-builds.rst
4141-#+++ b/Documentation/kbuild/reproducible-builds.rst
4242-#@@ -16,16 +16,21 @@ the kernel may be unreproducible, and how to avoid them.
4343-# Timestamps
4444-# ----------
4545-#
4646-#-The kernel embeds a timestamp in two places:
4747-#+The kernel embeds timestamps in three places:
4848-#
4949-# * The version string exposed by ``uname()`` and included in
5050-# ``/proc/version``
5151-#
5252-# * File timestamps in the embedded initramfs
5353-#
5454-#-By default the timestamp is the current time. This must be overridden
5555-#-using the `KBUILD_BUILD_TIMESTAMP`_ variable. If you are building
5656-#-from a git commit, you could use its commit date.
5757-#+* If enabled via ``CONFIG_IKHEADERS``, file timestamps of kernel
5858-#+ headers embedded in the kernel or respective module,
5959-#+ exposed via ``/sys/kernel/kheaders.tar.xz``
6060-#+
6161-#+By default the timestamp is the current time and in the case of
6262-#+``kheaders`` the various files' modification times. This must
6363-#+be overridden using the `KBUILD_BUILD_TIMESTAMP`_ variable.
6464-#+If you are building from a git commit, you could use its commit date.
6565-#
6666-# The kernel does *not* use the ``__DATE__`` and ``__TIME__`` macros,
6767-# and enables warnings if they are used. If you incorporate external
6868-diff --git a/kernel/gen_kheaders.sh b/kernel/gen_kheaders.sh
6969-index 9ff449888d9c..aff79e461fc9 100755
7070---- a/kernel/gen_kheaders.sh
7171-+++ b/kernel/gen_kheaders.sh
7272-@@ -71,7 +71,10 @@ done | cpio --quiet -pd $cpio_dir >/dev/null 2>&1
7373- find $cpio_dir -type f -print0 |
7474- xargs -0 -P8 -n1 perl -pi -e 'BEGIN {undef $/;}; s/\/\*((?!SPDX).)*?\*\///smg;'
7575-7676--tar -Jcf $tarfile -C $cpio_dir/ . > /dev/null
7777-+# Create archive and try to normalize metadata for reproducibility
7878-+tar "${KBUILD_BUILD_TIMESTAMP:+--mtime=$KBUILD_BUILD_TIMESTAMP}" \
7979-+ --owner=0 --group=0 --sort=name --numeric-owner \
8080-+ -Jcf $tarfile -C $cpio_dir/ . > /dev/null
8181-8282- echo "$src_files_md5" > kernel/kheaders.md5
8383- echo "$obj_files_md5" >> kernel/kheaders.md5
8484---
8585-cgit 1.2-0.3.lf.el7
8686-
+2-13
pkgs/os-specific/linux/kernel/manual-config.nix
···86868787 buildDTBs = kernelConf.DTB or false;
88888989- installsFirmware = (config.isEnabled "FW_LOADER") &&
9090- (isModular || (config.isDisabled "FIRMWARE_IN_KERNEL")) &&
9191- (lib.versionOlder version "4.14");
9289 in (optionalAttrs isModular { outputs = [ "out" "dev" ]; }) // {
9390 passthru = rec {
9491 inherit version modDirVersion config kernelPatches configfile
···107104 # Required for deterministic builds along with some postPatch magic.
108105 ++ optional (lib.versionOlder version "5.19") ./randstruct-provide-seed.patch
109106 ++ optional (lib.versionAtLeast version "5.19") ./randstruct-provide-seed-5.19.patch
110110- # Fixes determinism by normalizing metadata for the archive of kheaders
111111- ++ optional (lib.versionAtLeast version "5.2" && lib.versionOlder version "5.4") ./gen-kheaders-metadata.patch
112107 # Linux 5.12 marked certain PowerPC-only symbols as GPL, which breaks
113108 # OpenZFS; this was fixed in Linux 5.19 so we backport the fix
114109 # https://github.com/openzfs/zfs/pull/13367
···201196 installFlags = [
202197 "INSTALL_PATH=$(out)"
203198 ] ++ (optional isModular "INSTALL_MOD_PATH=$(out)")
204204- ++ optional installsFirmware "INSTALL_FW_PATH=$(out)/lib/firmware"
205199 ++ optionals buildDTBs ["dtbs_install" "INSTALL_DTBS_PATH=$(out)/dtbs"];
206200207201 preInstall = let
···268262 else "install"))
269263 ];
270264271271- postInstall = (optionalString installsFirmware ''
272272- mkdir -p $out/lib/firmware
273273- '') + (if isModular then ''
265265+ postInstall = optionalString isModular ''
274266 mkdir -p $dev
275267 cp vmlinux $dev/
276268 if [ -z "''${dontStrip-}" ]; then
···343335344336 # Remove reference to kmod
345337 sed -i Makefile -e 's|= ${buildPackages.kmod}/bin/depmod|= depmod|'
346346- '' else optionalString installsFirmware ''
347347- make firmware_install $makeFlags "''${makeFlagsArray[@]}" \
348348- $installFlags "''${installFlagsArray[@]}"
349349- '');
338338+ '';
350339351340 requiredSystemFeatures = [ "big-parallel" ];
352341
···729729 kdecoration-viewer = throw "kdecoration-viewer has been removed from nixpkgs, as there is no upstream activity"; # Added 2020-06-16
730730 kdiff3-qt5 = throw "'kdiff3-qt5' has been renamed to/replaced by 'kdiff3'"; # Converted to throw 2022-02-22
731731 keepass-keefox = throw "'keepass-keefox' has been renamed to/replaced by 'keepass-keepassrpc'"; # Converted to throw 2022-02-22
732732+ keepassx = throw "KeePassX is no longer actively developed. Please consider KeePassXC as a maintained alternative."; # Added 2023-02-17
732733 keepassx-community = throw "'keepassx-community' has been renamed to/replaced by 'keepassxc'"; # Converted to throw 2022-02-22
733734 keepassx-reboot = throw "'keepassx-reboot' has been renamed to/replaced by 'keepassx-community'"; # Converted to throw 2022-02-22
735735+ keepassx2 = throw "KeePassX is no longer actively developed. Please consider KeePassXC as a maintained alternative."; # Added 2023-02-17
734736 keepassx2-http = throw "'keepassx2-http' has been renamed to/replaced by 'keepassx-reboot'"; # Converted to throw 2022-02-22
735737 keepnote = throw "keepnote has been removed from nixpkgs, as it is stuck on python2"; # Added 2022-01-01
736738 kerberos = libkrb5; # moved from top-level 2021-03-14