forked from mirrors/nixpkgs
nixos: Add sd_image_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 image 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 image, nothing else.
This commit is contained in:
parent
35bb28b367
commit
d91e1f98fa
|
@ -0,0 +1,15 @@
|
|||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [ ./sd-image-aarch64-new-kernel-installer.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 = [];
|
||||
});
|
||||
})];
|
||||
}
|
|
@ -214,6 +214,14 @@ in rec {
|
|||
inherit system;
|
||||
});
|
||||
|
||||
sd_image_new_kernel_no_zfs = forMatchingSystems [ "aarch64-linux" ] (system: makeSdImage {
|
||||
module = {
|
||||
aarch64-linux = ./modules/installer/sd-card/sd-image-aarch64-new-kernel-no-zfs-installer.nix;
|
||||
}.${system};
|
||||
type = "minimal-new-kernel-no-zfs";
|
||||
inherit system;
|
||||
});
|
||||
|
||||
# A bootable VirtualBox virtual appliance as an OVA file (i.e. packaged OVF).
|
||||
ova = forMatchingSystems [ "x86_64-linux" ] (system:
|
||||
|
||||
|
|
Loading…
Reference in a new issue