dacbert: migrate to rpi-netboot

This commit is contained in:
Astro 2022-03-17 00:21:04 +01:00
parent 34c96c6768
commit e8f1f0f404
4 changed files with 19 additions and 40 deletions

View File

@ -310,7 +310,6 @@
dacbert = nixosSystem' {
modules = [
"${inputs.nixpkgs}/nixos/modules/installer/sd-card/sd-image-aarch64.nix"
nixos-hardware.nixosModules.raspberry-pi-4
self.nixosModules.rpi-netboot
./hosts/dacbert

View File

@ -2,12 +2,13 @@
let
tftpRoot = pkgs.runCommand "tftproot" {} ''
mkdir $out
cp -sr ${tftproots.rpi-netboot-tftproot} $out/
cp -sr ${tftproots.rpi-netboot-tftproot}/* $out/
${lib.concatMapStrings (host: ''
ln -s ${tftproots."${host}-tftproot"} $out/${hostRegistry.${host}.serial}
ln -s ${tftproots."${host}-tftproot"} $out/${hostRegistry.hosts.${host}.serial}
'') (
builtins.attrNames (
lib.filterAttrs (_: { serial ? null, ... }: serial != null) hostRegistry
lib.filterAttrs (_: { serial ? null, ... }: serial != null)
hostRegistry.hosts
)
)}
'';

View File

@ -1,29 +1,11 @@
{ config, lib, pkgs, modulesPath, ... }:
{ hostRegistry, config, lib, pkgs, modulesPath, ... }:
{
boot.initrd.kernelModules = [ ];
boot.initrd.includeDefaultModules = false;
boot.initrd.availableKernelModules = lib.mkForce [ "usbhid" ];
boot.kernelModules = [ ];
boot.extraModulePackages = [ ];
fileSystems."/" = {
device = "/dev/disk/by-label/NIXOS_SD";
fsType = "ext4";
};
fileSystems."/boot/firmware" = {
device = "/dev/disk/by-label/FIRMWARE";
fsType = "vfat";
};
swapDevices = [ ];
hardware.enableRedistributableFirmware = true;
hardware.deviceTree = {
enable = true;
kernelPackage = config.boot.kernelPackages.kernel;
};
# hardware.deviceTree = {
# enable = true;
# kernelPackage = config.boot.kernelPackages.kernel;
# };
powerManagement.cpuFreqGovernor = lib.mkDefault "performance";
nixpkgs.config.packageOverrides = pkgs: {
@ -39,15 +21,13 @@
enable = true;
version = 4;
firmwareConfig = ''
gpu_mem=192
gpu_mem=256
dtparam=audio=on
'';
};
};
kernelPackages = pkgs.linuxPackages_latest;
# kernelPackages = lib.mkForce pkgs.linuxPackages_latest;
# No ZFS on latest kernel:
supportedFilesystems = lib.mkForce [ "vfat" "ext4" ];
kernelParams = lib.mkForce [
"snd_bcm2835.enable_headphones=1"
# don't let sd-image-aarch64.nix setup serial console as it breaks bluetooth.
@ -56,13 +36,8 @@
tmpOnTmpfs = true;
};
sdImage = {
compressImage = false;
imageBaseName = config.networking.hostName;
firmwareSize = 512;
};
hardware.raspberry-pi."4" = {
# fkms-3d.enable = true;
fkms-3d.enable = true;
};
c3d2 = {
@ -72,7 +47,6 @@
hq.statistics.enable = true;
audioServer.enable = true;
k-ot.enable = true;
autoUpdate = true;
};
nix = {

View File

@ -4,6 +4,9 @@
loader.raspberryPi = {
enable = true;
version = 4;
firmwareConfig = lib.mkDefault ''
gpu_mem=256
'';
};
kernelPackages = pkgs.linuxPackages_rpi4;
kernelParams = [
@ -57,7 +60,9 @@
# r/o /nix/store
services.nix-daemon.enable = false;
sockets.nix-daemon.enable = false;
services.nix-gc.enable = false;
};
nix.gc.automatic = lib.mkForce false;
services.journald.extraConfig = ''
Storage=volatile
'';
@ -71,9 +76,9 @@
cat << EOF > $out/config.txt
kernel=kernel8.img
initramfs initrd.img followkernel
gpu_mem=256
arm_64bit=1
${toString config.boot.loader.raspberryPi.firmwareConfig}
EOF
echo "dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 verbose init=${config.system.build.toplevel}/init" > $out/cmdline.txt
echo "dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 verbose init=${config.system.build.toplevel}/init ${toString config.boot.kernelParams}" > $out/cmdline.txt
'';
}