diff --git a/starfive/visionfive/v2/default.nix b/starfive/visionfive/v2/default.nix index c4a328f..c1042e1 100644 --- a/starfive/visionfive/v2/default.nix +++ b/starfive/visionfive/v2/default.nix @@ -1,7 +1,12 @@ { config, lib, pkgs, ... }: { boot = { + # Force no ZFS (from nixos/modules/profiles/base.nix) until updated to kernel 6.0 + supportedFilesystems = + lib.mkForce [ "btrfs" "reiserfs" "vfat" "f2fs" "xfs" "ntfs" "cifs" ]; consoleLogLevel = lib.mkDefault 7; - kernelPackages = lib.mkDefault pkgs.linuxPackages_latest; + kernelPackages = lib.mkDefault (pkgs.callPackage ./linux-6.6.nix { + inherit (config.boot) kernelPatches; + }); kernelParams = lib.mkDefault [ "console=tty0" "console=ttyS0,115200n8" "earlycon=sbi" ]; diff --git a/starfive/visionfive/v2/linux-6.6.nix b/starfive/visionfive/v2/linux-6.6.nix new file mode 100644 index 0000000..5999dd6 --- /dev/null +++ b/starfive/visionfive/v2/linux-6.6.nix @@ -0,0 +1,26 @@ +{ lib, callPackage, linuxPackagesFor, kernelPatches, ... }: + +let + modDirVersion = "6.6.0"; + linuxPkg = { lib, fetchFromGitHub, buildLinux, ... }@args: + buildLinux (args // { + version = "${modDirVersion}-starfive-visionfive2"; + + src = fetchFromGitHub { + owner = "starfive-tech"; + repo = "linux"; + rev = "13eb70da2a73187c8c7aece13d23d68928aa8210"; + hash = "sha256-bwB7Pc+Z+MWXPfWYdgtRGuhqjiNHLDGNCY62e4lBGvE="; + }; + + inherit modDirVersion kernelPatches; + + structuredExtraConfig = with lib.kernel; { + PINCTRL_STARFIVE_JH7110_SYS = yes; + SERIAL_8250_DW = yes; + }; + + extraMeta.branch = "JH7110_VisionFive2_upstream"; + } // (args.argsOverride or { })); + +in lib.recurseIntoAttrs (linuxPackagesFor (callPackage linuxPkg { }))