From a5162e9e76648bb4427324ac599d497d300dbde9 Mon Sep 17 00:00:00 2001 From: Matt Jallen Date: Tue, 17 Feb 2026 10:37:07 -0600 Subject: [PATCH] rpi --- overlays/linux-rpi/default.nix | 60 ++++++++++--------- packages/raspberrypi/linux-rpi/default.nix | 7 ++- packages/raspberrypi/linux-rpi/version.json | 12 ++-- .../raspberryPiWirelessFirmware/version.json | 4 +- .../raspberrypi-utils/version.json | 2 +- systems/aarch64-linux/pi5/boot.nix | 36 +++++------ 6 files changed, 62 insertions(+), 59 deletions(-) diff --git a/overlays/linux-rpi/default.nix b/overlays/linux-rpi/default.nix index 3df9397..114aa9f 100644 --- a/overlays/linux-rpi/default.nix +++ b/overlays/linux-rpi/default.nix @@ -8,23 +8,28 @@ final: prev: let ubootPackages = final.callPackage ../../packages/uboot { }; - fetchFromGitHub = inputs.nixpkgs.fetchFromGitHub; + # fetchFromGitHub = inputs.nixpkgs.fetchFromGitHub; - linux618Src = fetchFromGitHub { - owner = "raspberrypi"; - repo = "linux"; - rev = "bb594fb36f555f9b88b7b6fcf8b71c669c1d60c7"; - hash = "sha256-T3RJRroYtzLwx4JqcaX15Ka1uVf72jQOZMf7TJVZ6co="; - }; + # linux618Src = fetchFromGitHub { + # owner = "raspberrypi"; + # repo = "linux"; + # rev = "bb594fb36f555f9b88b7b6fcf8b71c669c1d60c7"; + # hash = "sha256-T3RJRroYtzLwx4JqcaX15Ka1uVf72jQOZMf7TJVZ6co="; + # }; - linux619Src = fetchFromGitHub { - owner = "raspberrypi"; - repo = "linux"; - rev = "12e23f26704f66c154de58f80222960f02885570"; - hash = "sha256-C81aKv+pQYNx6Bj3PL0vrxvBzrLB99+95YeIBm+4kt0="; - }; + # linux619Src = fetchFromGitHub { + # owner = "raspberrypi"; + # repo = "linux"; + # rev = "87e52a7868888c66b2782c949c8406c27f909c11"; + # hash = "sha256-C81aKv+pQYNx6Bj3PL0vrxvBzrLB99+95YeIBm+4kt0="; + # }; linux-rpi5 = final.linuxPackagesFor (final.${namespace}.linux-rpi); + linux-rpi5-latest = final.linuxPackagesFor ( + final.${namespace}.linux-rpi.override { + kernelVersion = "unstable"; + } + ); linux-rpi4 = final.linuxPackagesFor ( final.${namespace}.linux-rpi.override { @@ -39,21 +44,18 @@ in linuxPackages_rpi5-lts = linux-rpi5; linuxPackages_rpi4-lts = linux-rpi4; - linuxPackages_rpi5-latest = linux-rpi5.overrideAttrs (_old: { - modDirVersion = "6.18.4"; - src = linux618Src; - }); - linuxPackages_rpi5-rc = linux-rpi5.overrideAttrs (_old: { - modDirVersion = "6.19.0-rc5"; - src = linux619Src; - }); - linuxPackages_rpi4-latest = linux-rpi4.overrideAttrs (_old: { - modDirVersion = "6.18.4"; - src = linux618Src; - }); - linuxPackages_rpi4-rc = linux-rpi4.overrideAttrs (_old: { - modDirVersion = "6.19.0-rc5"; - src = linux619Src; - }); + linuxPackages_rpi5-latest = linux-rpi5-latest; + # linuxPackages_rpi5-rc = linux-rpi5.overrideAttrs (_old: { + # modDirVersion = "6.19.0-rc5"; + # src = linux619Src; + # }); + # linuxPackages_rpi4-latest = linux-rpi4.overrideAttrs (_old: { + # modDirVersion = "6.18.4"; + # src = linux618Src; + # }); + # linuxPackages_rpi4-rc = linux-rpi4.overrideAttrs (_old: { + # modDirVersion = "6.19.0-rc5"; + # src = linux619Src; + # }); }; } diff --git a/packages/raspberrypi/linux-rpi/default.nix b/packages/raspberrypi/linux-rpi/default.nix index 16fe14f..ddcb661 100644 --- a/packages/raspberrypi/linux-rpi/default.nix +++ b/packages/raspberrypi/linux-rpi/default.nix @@ -5,6 +5,7 @@ buildLinux, rpiVersion ? 5, namespace, + kernelVersion ? "stable", ... }@args: @@ -14,11 +15,11 @@ let inherit (lib.${namespace}) selectVariant mkAllSources; versionSpec = importJSON ./version.json; - selected = selectVariant versionSpec "lts" null; + selected = selectVariant versionSpec kernelVersion null; sources = mkAllSources selected; modDirVersion = selected.variables.modDirVersion; - tag = "stable"; # sources.tag; + tag = kernelVersion; # sources.tag; # NOTE: raspberrypifw & raspberryPiWirelessFirmware should be updated with this # all of these fail for various reasons @@ -49,7 +50,7 @@ lib.overrideDerivation inherit modDirVersion; pname = "linux-rpi${toString rpiVersion}"; - src = sources.stable; + src = sources.${kernelVersion}; defconfig = { diff --git a/packages/raspberrypi/linux-rpi/version.json b/packages/raspberrypi/linux-rpi/version.json index 12c9aea..1d90473 100644 --- a/packages/raspberrypi/linux-rpi/version.json +++ b/packages/raspberrypi/linux-rpi/version.json @@ -8,23 +8,23 @@ "tag": "stable_20250916", "hash": "sha256-HG8Oc04V2t54l0SOn4gKmNJWQUrZfjWusgKcWvx74H0==" }, - "latest": { + "unstable": { "fetcher": "github", "owner": "raspberrypi", "repo": "linux", - "rev": "0f10f52e19eb34d3aa9848fc262ffcd596c8337b", - "hash": "sha256-HdMfQCoHL+BksDAZt8/jRtCh2I4dpaacr0yW+DF4DPo=" + "rev": "87e52a7868888c66b2782c949c8406c27f909c11", + "hash": "sha256-1ob91gGajlTEZjn7GRls4bL5TP8Ulj74hoRUUlmeICA=" } }, "variants": { - "lts": { + "stable": { "variables": { "modDirVersion": "6.12.47" } }, - "latest": { + "unstable": { "variables": { - "modDirVersion": "6.18.6" + "modDirVersion": "6.18.10" } } }, diff --git a/packages/raspberrypi/raspberryPiWirelessFirmware/version.json b/packages/raspberrypi/raspberryPiWirelessFirmware/version.json index 505787d..2cbe25c 100644 --- a/packages/raspberrypi/raspberryPiWirelessFirmware/version.json +++ b/packages/raspberrypi/raspberryPiWirelessFirmware/version.json @@ -7,7 +7,7 @@ "owner": "RPi-Distro", "repo": "bluez-firmware", "rev": "cdf61dc691a49ff01a124752bd04194907f0f9cd", - "hash": "sha256-XgJwA2caixKdPkS28ThF8KUVlgR9IxDLaeBKIuoW5w8=" + "hash": "sha256-35pnbQV/zcikz9Vic+2a1QAS72riruKklV8JHboL9NY=" }, "firmware-nonfree": { "fetcher": "github", @@ -15,7 +15,7 @@ "owner": "RPi-Distro", "repo": "firmware-nonfree", "rev": "40dea60e27078fac57a3fed51010e2c26865d49b", - "hash": "sha256-hGNpr67WInWJDZ8o9eI+n08HcOZWL5BPy4Dmg2CDTUk=" + "hash": "sha256-yXKzrkr7zdw/ba8GEi0r+XjnZEsQ59LPEuXj0HaKwxU=" } } } diff --git a/packages/raspberrypi/raspberrypi-utils/version.json b/packages/raspberrypi/raspberrypi-utils/version.json index 1cfd90d..89a31fd 100644 --- a/packages/raspberrypi/raspberrypi-utils/version.json +++ b/packages/raspberrypi/raspberrypi-utils/version.json @@ -6,7 +6,7 @@ "owner": "raspberrypi", "repo": "utils", "rev": "58d5da926965ad78fb863abacdd73a00dea022a1", - "hash": "sha256-4/1fFF7v7XhM0W31dFpPhtgCl/IkTsN6kU716gNDAdg=" + "hash": "sha256-EjJMuqyJopZ+CsGrFwyjpOGx/p5+gww7IaIX0ZqlczU=" } } } diff --git a/systems/aarch64-linux/pi5/boot.nix b/systems/aarch64-linux/pi5/boot.nix index 3f28b5e..e446b2b 100755 --- a/systems/aarch64-linux/pi5/boot.nix +++ b/systems/aarch64-linux/pi5/boot.nix @@ -41,24 +41,24 @@ ]; }; - # specialisation = { - # "linux-latest".configuration = { - # boot = { - # kernelPackages = lib.mkOverride 90 pkgs.linuxPackages_pi5-16k; - # loader.systemd-boot.installDeviceTree = true; - # }; - # hardware.deviceTree = { - # enable = true; - # package = lib.mkForce pkgs.${namespace}.linuxPackages_rpi5-lts.kernel; - # name = "bcm2712-rpi-5-b.dtb"; - # filter = "bcm2712*"; - # }; - # boot.bootspec.extensions."org.nixos.systemd-boot" = lib.mkForce { - # inherit (config.boot.loader.systemd-boot) sortKey; - # devicetree = "./bcm2712-rpi-5-b.dtb"; - # }; - # }; - # }; + specialisation = { + "linux-latest".configuration = { + boot = { + kernelPackages = lib.mkOverride 90 pkgs.${namespace}.linuxPackages_rpi5-latest; + # loader.systemd-boot.installDeviceTree = true; + }; + # hardware.deviceTree = { + # enable = true; + # package = lib.mkForce pkgs.${namespace}.linuxPackages_rpi5-lts.kernel; + # name = "bcm2712-rpi-5-b.dtb"; + # filter = "bcm2712*"; + # }; + # boot.bootspec.extensions."org.nixos.systemd-boot" = lib.mkForce { + # inherit (config.boot.loader.systemd-boot) sortKey; + # devicetree = "./bcm2712-rpi-5-b.dtb"; + # }; + }; + }; ${namespace}.hardware.raspberry-pi.config = { # extra-config = {