From 3263812697b94d8b999992cb2eca01476287d2e2 Mon Sep 17 00:00:00 2001 From: Travis Staton Date: Tue, 21 Feb 2023 20:15:09 -0500 Subject: [PATCH] update --- flake.nix | 3 --- overlay/default.nix | 18 +++++++++++++----- rpi/default.nix | 3 +-- sd-image/default.nix | 5 +++++ 4 files changed, 19 insertions(+), 10 deletions(-) diff --git a/flake.nix b/flake.nix index c4567b5..9e5dd41 100644 --- a/flake.nix +++ b/flake.nix @@ -6,8 +6,5 @@ outputs = { self }: { overlay = import ./overlay; rpi = import ./rpi { overlay = self.overlay; }; - rpi-3b-plus = import ./rpi-3b-plus self.rpi; - rpi-4b = import ./rpi-4b self.rpi; - rpi-zero-2-w = import ./rpi-zero-2-w self.rpi; }; } diff --git a/overlay/default.nix b/overlay/default.nix index cdf42a0..dbcc745 100644 --- a/overlay/default.nix +++ b/overlay/default.nix @@ -1,5 +1,9 @@ final: prev: let + # The version to stick at `pkgs.rpi-kernels.latest' + latest = "v5_15_87"; + + # Helpers for building the `pkgs.rpi-kernels' map. rpi-kernel = { kernel, version, fw, wireless-fw, argsOverride ? null }: let new-kernel = prev.linux_rpi4.override { @@ -54,8 +58,10 @@ in { CONFIG_OF_BOARD=y ''; }; - raspberrypiWirelessFirmware = final.rpi-kernels.v5_15_87.wireless-firmware; - raspberrypifw = final.rpi-kernels.v5_15_87.firmware; + + # default to latest firmware + raspberrypiWirelessFirmware = final.rpi-kernels.latest.wireless-firmware; + raspberrypifw = final.rpi-kernels.latest.firmware; } // { # rpi kernels and firmware are available at @@ -92,10 +98,12 @@ in { fw = prev.fetchFromGitHub { owner = "raspberrypi"; repo = "firmware"; - rev = "2e7137e0840f76f056589aba7f82d5b7236d8f1c"; - sha256 = "jIKhQxp9D83OAZ8X2Vra9THHBE0j5Z2gRMDSVqIhopY="; + rev = "78852e166b4cf3ebb31d051e996d54792f0994b0"; + sha256 = "tdaH+zZwmILNFBge2gMqtzj/1Hydj9cxhPvhw+7jTrU="; }; wireless-fw = import ./raspberrypi-wireless-firmware/5.10.87.nix; } - ]; + ] // { + latest = final.rpi-kernels."${latest}"; + }; } diff --git a/rpi/default.nix b/rpi/default.nix index 46ac142..b34b4da 100644 --- a/rpi/default.nix +++ b/rpi/default.nix @@ -13,7 +13,7 @@ "pcie_brcmstb" # required for the pcie bus to work "reset-raspberrypi" # required for vl805 firmware to load ]; - kernelPackages = pkgs.linuxPackagesFor (pkgs.rpi-kernels.v5_15_87.kernel); + kernelPackages = pkgs.linuxPackagesFor (pkgs.rpi-kernels.latest.kernel); loader = { grub.enable = lib.mkDefault false; @@ -26,5 +26,4 @@ }; }; hardware.enableRedistributableFirmware = true; - } diff --git a/sd-image/default.nix b/sd-image/default.nix index 97b76ec..b90a125 100644 --- a/sd-image/default.nix +++ b/sd-image/default.nix @@ -26,6 +26,8 @@ enable_gic=1 armstub=armstub8-gic.bin arm_boost=1 + dtoverlay=vc4-fkms-v3d-pi4 + dtoverlay= # Otherwise the resolution will be weird in most cases, compared to # what the pi3 firmware does by default. @@ -65,6 +67,9 @@ # Add pi-zero-2 specific files cp ${raspberrypifw}/share/raspberrypi/boot/bcm2710-rpi-zero-2.dtb firmware/ cp ${raspberrypifw}/share/raspberrypi/boot/bcm2710-rpi-zero-2-w.dtb firmware/ + + # Add overlays + cp -r ${raspberrypifw}/share/raspberrypi/boot/overlays firmware/ ''; populateRootCommands = '' mkdir -p ./files/boot