diff --git a/flake.nix b/flake.nix index f8f9dae..c08dce8 100644 --- a/flake.nix +++ b/flake.nix @@ -59,7 +59,29 @@ DTB = true; autoModules = true; baseConfig = "defconfig"; - extraConfig = "# Raspberry Pi 3 stuff. Not needed for s >= 4.10.\nARCH_BCM2835 y\nBCM2835_MBOX y\nBCM2835_WDT y\nRASPBERRYPI_FIRMWARE y\nRASPBERRYPI_POWER y\nSERIAL_8250_BCM2835AUX y\nSERIAL_8250_EXTENDED y\nSERIAL_8250_SHARE_IRQ y\n\n# Cavium ThunderX stuff.\nPCI_HOST_THUNDER_ECAM y\n\n# Nvidia Tegra stuff.\nPCI_TEGRA y\n\n# The default (=y) forces us to have the XHCI firmware available in initrd,\n# which our initrd builder can't currently do easily.\nUSB_XHCI_TEGRA m\n"; + + extraConfig = '' + # Raspberry Pi 3 stuff. Not needed for s >= 4.10. + ARCH_BCM2835 y + BCM2835_MBOX y + BCM2835_WDT y + RASPBERRYPI_FIRMWARE y + RASPBERRYPI_POWER y + SERIAL_8250_BCM2835AUX y + SERIAL_8250_EXTENDED y + SERIAL_8250_SHARE_IRQ y + + # Cavium ThunderX stuff. + PCI_HOST_THUNDER_ECAM y + + # Nvidia Tegra stuff. + PCI_TEGRA y + + # The default (=y) forces us to have the XHCI firmware available in initrd, + # which our initrd builder can't currently do easily. + USB_XHCI_TEGRA m + ''; + name = "aarch64-multiplatform"; preferBuiltin = true; target = "Image"; diff --git a/triviOS/default.nix b/triviOS/default.nix index 5c077e4..770f434 100644 --- a/triviOS/default.nix +++ b/triviOS/default.nix @@ -7,19 +7,20 @@ { pkgs, modulesPath, ... }: { - imports = [ - (modulesPath + "/installer/sd-card/sd-image-aarch64.nix") - (modulesPath + "/profiles/minimal.nix") + imports = [ + (modulesPath + "/installer/sd-card/sd-image-aarch64.nix") + (modulesPath + "/profiles/minimal.nix") ]; - - disabledModules = [ - (modulesPath + "/profiles/base.nix") + + disabledModules = [ + (modulesPath + "/profiles/base.nix") (modulesPath + "/profiles/all-hardware.nix") ]; system.stateVersion = "23.05"; system.nixos = { + distroId = "trivios"; distroName = "TriviOS"; variant_id = "rpi3"; }; @@ -33,6 +34,7 @@ (python3.withPackages (py: [ py.django ])) ]; networking.wireless.enable = true; + networking.hostName = "tripi"; services.openssh = { enable = true; settings.PasswordAuthentication = true; @@ -54,7 +56,10 @@ # }; initrd.includeDefaultModules = false; - kernelPackages = pkgs.linuxPackages_rpi3; + kernelPackages = pkgs.linuxPackagesFor (pkgs.linux_rpi3.overrideDerivation (super: { + buildFlags = super.buildFlags ++ [ "KBUILD_BUILD_VERSION=1-TriviOS" ]; + })); + kernelParams = [ "console=ttyS1,115200n8" "cma=256M"