From 451f5aa7260f7c7a7b4912dc0c93a7f8b2c4c7fd Mon Sep 17 00:00:00 2001 From: mjallen18 Date: Fri, 2 Jan 2026 14:31:10 -0600 Subject: [PATCH] pi4 --- modules/nixos/disko/default.nix | 35 ++++++++++++------- modules/nixos/nix/default.nix | 34 +++++++++++------- .../cachyos-server-lto.aarch64-linux.nix | 11 +++--- packages/raspberrypi/uefi-rpi4/default.nix | 2 ++ systems/aarch64-linux/pi4/boot.nix | 3 +- systems/aarch64-linux/pi4/default.nix | 4 ++- 6 files changed, 55 insertions(+), 34 deletions(-) diff --git a/modules/nixos/disko/default.nix b/modules/nixos/disko/default.nix index 0e22581..ee3a126 100644 --- a/modules/nixos/disko/default.nix +++ b/modules/nixos/disko/default.nix @@ -121,19 +121,6 @@ in content = { type = "gpt"; partitions = { - FIRMWARE = lib.mkIf cfg.enableFirmware { - priority = 1; - name = "${config.${namespace}.network.hostName}-FIRMWARE"; - start = "1M"; - end = "1G"; - type = "0700"; - content = { - type = "filesystem"; - format = "vfat"; - mountpoint = "/boot/firmware"; - mountOptions = [ "umask=0077" ]; - }; - }; ESP = { priority = if cfg.enableFirmware then 2 else 1; type = "EF00"; @@ -156,6 +143,28 @@ in }; }; }; + firmware = lib.mkIf cfg.enableFirmware { + device = "/dev/mmcblk0"; + type = "disk"; + imageSize = "1G"; + content = { + type = "table"; + format = "msdos"; + partitions = [ + { + name = "${config.${namespace}.network.hostName}-FIRMWARE"; + start = "1M"; + end = "1G"; + content = { + type = "filesystem"; + format = "vfat"; + mountpoint = "/boot/firmware"; + mountOptions = [ "umask=0077" ]; + }; + } + ]; + }; + }; }; # configure Bcachefs diff --git a/modules/nixos/nix/default.nix b/modules/nixos/nix/default.nix index b666913..60e75b4 100644 --- a/modules/nixos/nix/default.nix +++ b/modules/nixos/nix/default.nix @@ -59,29 +59,39 @@ in nixpkgs.overlays = [ (_self: super: { - ${namespace} = super.${namespace} // { + ${namespace} = + let + clangCcacheStdenv = super.overrideCC super.llvmPackages.stdenv (super.ccacheWrapper.override { + cc = super.llvmPackages.stdenv.cc; + extraConfig = '' + export CCACHE_SLOPPINESS=include_file_ctime,time_macros + export CCACHE_DIR=/var/cache/ccache + ''; + }); + in + super.${namespace} // { linuxPackages_rpi5 = super.linuxPackagesFor (super.${namespace}.linux-rpi.override { stdenv = super.ccacheStdenv; }); linuxPackages_rpi4 = super.linuxPackagesFor (super.${namespace}.linux-rpi.override { stdenv = super.ccacheStdenv; rpiVersion = 4; }); libraspberrypi = super.${namespace}.libraspberrypi.override { stdenv = super.ccacheStdenv; }; raspberrypi-utils = super.${namespace}.raspberrypi-utils.override { stdenv = super.ccacheStdenv; }; linuxPackages_cachyos = super.${namespace}.linuxPackages_cachyos.override { stdenv = super.ccacheStdenv; }; - linuxPackages_cachyos-lto = super.${namespace}.linuxPackages_cachyos-lto.override { stdenv = super.ccacheStdenv; }; - linuxPackages_cachyos-lto-full = super.${namespace}.linuxPackages_cachyos-lto-full.override { stdenv = super.ccacheStdenv; }; + linuxPackages_cachyos-lto = super.${namespace}.linuxPackages_cachyos-lto.override { stdenv = clangCcacheStdenv; }; + linuxPackages_cachyos-lto-full = super.${namespace}.linuxPackages_cachyos-lto-full.override { stdenv = clangCcacheStdenv; }; linuxPackages_cachyos-lts = super.${namespace}.linuxPackages_cachyos-lts.override { stdenv = super.ccacheStdenv; }; - linuxPackages_cachyos-lts-lto = super.${namespace}.linuxPackages_cachyos-lts-lto.override { stdenv = super.ccacheStdenv; }; - linuxPackages_cachyos-lto-znver4 = super.${namespace}.linuxPackages_cachyos-lto-znver4.override { stdenv = super.ccacheStdenv; }; + linuxPackages_cachyos-lts-lto = super.${namespace}.linuxPackages_cachyos-lts-lto.override { stdenv = clangCcacheStdenv; }; + linuxPackages_cachyos-lto-znver4 = super.${namespace}.linuxPackages_cachyos-lto-znver4.override { stdenv = clangCcacheStdenv; }; linuxPackages_cachyos-server = super.${namespace}.linuxPackages_cachyos-server.override { stdenv = super.ccacheStdenv; }; - linuxPackages_cachyos-server-lto = super.${namespace}.linuxPackages_cachyos-server-lto.override { stdenv = super.ccacheStdenv; }; - linuxPackages_cachyos-server-lto-znver4 = super.${namespace}.linuxPackages_cachyos-server-lto-znver4.override { stdenv = super.ccacheStdenv; }; + linuxPackages_cachyos-server-lto = super.${namespace}.linuxPackages_cachyos-server-lto.override { stdenv = clangCcacheStdenv; }; + linuxPackages_cachyos-server-lto-znver4 = super.${namespace}.linuxPackages_cachyos-server-lto-znver4.override { stdenv = clangCcacheStdenv; }; linuxPackages_cachyos-rc = super.${namespace}.linuxPackages_cachyos-rc.override { stdenv = super.ccacheStdenv; }; - linuxPackages_cachyos-rc-lto = super.${namespace}.linuxPackages_cachyos-rc-lto.override { stdenv = super.ccacheStdenv; }; - linuxPackages_cachyos-rc-lto-znver4 = super.${namespace}.linuxPackages_cachyos-rc-lto-znver4.override { stdenv = super.ccacheStdenv; }; + linuxPackages_cachyos-rc-lto = super.${namespace}.linuxPackages_cachyos-rc-lto.override { stdenv = clangCcacheStdenv; }; + linuxPackages_cachyos-rc-lto-znver4 = super.${namespace}.linuxPackages_cachyos-rc-lto-znver4.override { stdenv = clangCcacheStdenv; }; linuxPackages_cachyos-hardened = super.${namespace}.linuxPackages_cachyos-hardened.override { stdenv = super.ccacheStdenv; }; - linuxPackages_cachyos-hardened-lto = super.${namespace}.linuxPackages_cachyos-hardened-lto.override { stdenv = super.ccacheStdenv; }; - linuxPackages_cachyos-hardened-lto-znver4 = super.${namespace}.linuxPackages_cachyos-hardened-lto-znver4.override { stdenv = super.ccacheStdenv; }; + linuxPackages_cachyos-hardened-lto = super.${namespace}.linuxPackages_cachyos-hardened-lto.override { stdenv = clangCcacheStdenv; }; + linuxPackages_cachyos-hardened-lto-znver4 = super.${namespace}.linuxPackages_cachyos-hardened-lto-znver4.override { stdenv = clangCcacheStdenv; }; linuxPackages_cachyos-deckify = super.${namespace}.linuxPackages_cachyos-deckify.override { stdenv = super.ccacheStdenv; }; - linuxPackages_cachyos-deckify-lto = super.${namespace}.linuxPackages_cachyos-deckify-lto.override { stdenv = super.ccacheStdenv; }; + linuxPackages_cachyos-deckify-lto = super.${namespace}.linuxPackages_cachyos-deckify-lto.override { stdenv = clangCcacheStdenv; }; }; }) diff --git a/packages/linux-cachyos/config-nix/aarch64-linux/cachyos-server-lto.aarch64-linux.nix b/packages/linux-cachyos/config-nix/aarch64-linux/cachyos-server-lto.aarch64-linux.nix index bccc649..b4c19a1 100644 --- a/packages/linux-cachyos/config-nix/aarch64-linux/cachyos-server-lto.aarch64-linux.nix +++ b/packages/linux-cachyos/config-nix/aarch64-linux/cachyos-server-lto.aarch64-linux.nix @@ -5,9 +5,9 @@ "CONFIG_CLANG_VERSION" = "210102"; "CONFIG_AS_IS_LLVM" = "y"; "CONFIG_AS_VERSION" = "210102"; - "CONFIG_LD_VERSION" = "0"; - "CONFIG_LD_IS_LLD" = "y"; - "CONFIG_LLD_VERSION" = "210102"; + "CONFIG_LD_IS_BFD" = "y"; + "CONFIG_LD_VERSION" = "24400"; + "CONFIG_LLD_VERSION" = "0"; "CONFIG_RUSTC_VERSION" = "0"; "CONFIG_RUSTC_LLVM_VERSION" = "0"; "CONFIG_CC_HAS_ASM_GOTO_OUTPUT" = "y"; @@ -539,12 +539,9 @@ "CONFIG_STACKPROTECTOR" = "y"; "CONFIG_STACKPROTECTOR_STRONG" = "y"; "CONFIG_ARCH_SUPPORTS_SHADOW_CALL_STACK" = "y"; - "CONFIG_LTO" = "y"; - "CONFIG_LTO_CLANG" = "y"; "CONFIG_ARCH_SUPPORTS_LTO_CLANG" = "y"; "CONFIG_ARCH_SUPPORTS_LTO_CLANG_THIN" = "y"; - "CONFIG_HAS_LTO_CLANG" = "y"; - "CONFIG_LTO_CLANG_THIN" = "y"; + "CONFIG_LTO_NONE" = "y"; "CONFIG_ARCH_SUPPORTS_CFI" = "y"; "CONFIG_HAVE_CFI_ICALL_NORMALIZE_INTEGERS" = "y"; "CONFIG_HAVE_CONTEXT_TRACKING_USER" = "y"; diff --git a/packages/raspberrypi/uefi-rpi4/default.nix b/packages/raspberrypi/uefi-rpi4/default.nix index c076f23..0132030 100644 --- a/packages/raspberrypi/uefi-rpi4/default.nix +++ b/packages/raspberrypi/uefi-rpi4/default.nix @@ -25,6 +25,8 @@ stdenvNoCC.mkDerivation rec { mkdir -p "$out" cp -rv "${src}/." "$out" + # cp -rv "${src}/RPI_EFI.fd" "$out" + # cp -rv "${src}/config.txt" "$out" runHook postInstall ''; diff --git a/systems/aarch64-linux/pi4/boot.nix b/systems/aarch64-linux/pi4/boot.nix index a904da7..ddff8e0 100755 --- a/systems/aarch64-linux/pi4/boot.nix +++ b/systems/aarch64-linux/pi4/boot.nix @@ -14,7 +14,8 @@ in # variant = "4"; # }; # kernelPackages = kernelBundle.linuxPackages_rpi4; - kernelPackages = pkgs.${namespace}.linuxPackages_cachyos-lto; + # kernelPackages = pkgs.${namespace}.linuxPackages_cachyos-lto; + kernelPackages = pkgs.linuxPackages_latest; supportedFilesystems = lib.mkForce [ ]; }; diff --git a/systems/aarch64-linux/pi4/default.nix b/systems/aarch64-linux/pi4/default.nix index d8b3f0f..3fb39de 100755 --- a/systems/aarch64-linux/pi4/default.nix +++ b/systems/aarch64-linux/pi4/default.nix @@ -29,7 +29,7 @@ hardware = { disko = { enable = true; - enableFirmware = true; + enableFirmware = false; }; raspberry-pi = { enable = true; @@ -39,6 +39,8 @@ user = { name = "matt"; mutableUsers = false; + hashedPassword = "$y$j9T$EkPXmsmIMFFZ.WRrBYCxS1$P0kwo6e4.WM5DsqUcEqWC3MrZp5KfCjxffraMFZWu06"; + hashedPasswordFile = null; extraGroups = [ "docker" "video"