mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-29 10:23:29 +00:00
nixos: Add iso_minimal_new_kernel_no_zfs
Support for ZFS, while desirable, is problematic with newer kernel releases. The stable ZFS release seldom supports the current newest kernel version, and this makes the new_kernel iso basically useless as it cannot be published, and is not often built with new kernel releases. This uses a dirty workaround to work around the fact it is impossible to remove a list item from a modules system list type. Since ZFS support is conditional to being supported on the current platform, we can fake ZFS not being supported *for the no-zfs build only*. This overlay is only added when evaluating the iso, nothing else.
This commit is contained in:
parent
04f574a1c0
commit
35bb28b367
@ -0,0 +1,15 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [ ./installation-cd-minimal-new-kernel.nix ];
|
||||||
|
|
||||||
|
# Makes `availableOn` fail for zfs, see <nixos/modules/profiles/base.nix>.
|
||||||
|
# This is a workaround since we cannot remove the `"zfs"` string from `supportedFilesystems`.
|
||||||
|
# The proper fix would be to make `supportedFilesystems` an attrset with true/false which we
|
||||||
|
# could then `lib.mkForce false`
|
||||||
|
nixpkgs.overlays = [(final: super: {
|
||||||
|
zfs = super.zfs.overrideAttrs(_: {
|
||||||
|
meta.platforms = [];
|
||||||
|
});
|
||||||
|
})];
|
||||||
|
}
|
@ -181,14 +181,22 @@ in rec {
|
|||||||
inherit system;
|
inherit system;
|
||||||
});
|
});
|
||||||
|
|
||||||
# A variant with a more recent (but possibly less stable) kernel
|
# A variant with a more recent (but possibly less stable) kernel that might support more hardware.
|
||||||
# that might support more hardware.
|
# This variant keeps zfs support enabled, hoping it will build and work.
|
||||||
iso_minimal_new_kernel = forMatchingSystems [ "x86_64-linux" "aarch64-linux" ] (system: makeIso {
|
iso_minimal_new_kernel = forMatchingSystems [ "x86_64-linux" "aarch64-linux" ] (system: makeIso {
|
||||||
module = ./modules/installer/cd-dvd/installation-cd-minimal-new-kernel.nix;
|
module = ./modules/installer/cd-dvd/installation-cd-minimal-new-kernel.nix;
|
||||||
type = "minimal-new-kernel";
|
type = "minimal-new-kernel";
|
||||||
inherit system;
|
inherit system;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
# A variant with a more recent (but possibly less stable) kernel that might support more hardware.
|
||||||
|
# ZFS support disabled since it is unlikely to support the latest kernel.
|
||||||
|
iso_minimal_new_kernel_no_zfs = forMatchingSystems [ "x86_64-linux" "aarch64-linux" ] (system: makeIso {
|
||||||
|
module = ./modules/installer/cd-dvd/installation-cd-minimal-new-kernel-no-zfs.nix;
|
||||||
|
type = "minimal-new-kernel-no-zfs";
|
||||||
|
inherit system;
|
||||||
|
});
|
||||||
|
|
||||||
sd_image = forMatchingSystems [ "armv6l-linux" "armv7l-linux" "aarch64-linux" ] (system: makeSdImage {
|
sd_image = forMatchingSystems [ "armv6l-linux" "armv7l-linux" "aarch64-linux" ] (system: makeSdImage {
|
||||||
module = {
|
module = {
|
||||||
armv6l-linux = ./modules/installer/sd-card/sd-image-raspberrypi-installer.nix;
|
armv6l-linux = ./modules/installer/sd-card/sd-image-raspberrypi-installer.nix;
|
||||||
|
Loading…
Reference in New Issue
Block a user