dacbert: migrate to rpi-netboot
This commit is contained in:
parent
34c96c6768
commit
e8f1f0f404
|
@ -310,7 +310,6 @@
|
||||||
|
|
||||||
dacbert = nixosSystem' {
|
dacbert = nixosSystem' {
|
||||||
modules = [
|
modules = [
|
||||||
"${inputs.nixpkgs}/nixos/modules/installer/sd-card/sd-image-aarch64.nix"
|
|
||||||
nixos-hardware.nixosModules.raspberry-pi-4
|
nixos-hardware.nixosModules.raspberry-pi-4
|
||||||
self.nixosModules.rpi-netboot
|
self.nixosModules.rpi-netboot
|
||||||
./hosts/dacbert
|
./hosts/dacbert
|
||||||
|
|
|
@ -2,12 +2,13 @@
|
||||||
let
|
let
|
||||||
tftpRoot = pkgs.runCommand "tftproot" {} ''
|
tftpRoot = pkgs.runCommand "tftproot" {} ''
|
||||||
mkdir $out
|
mkdir $out
|
||||||
cp -sr ${tftproots.rpi-netboot-tftproot} $out/
|
cp -sr ${tftproots.rpi-netboot-tftproot}/* $out/
|
||||||
${lib.concatMapStrings (host: ''
|
${lib.concatMapStrings (host: ''
|
||||||
ln -s ${tftproots."${host}-tftproot"} $out/${hostRegistry.${host}.serial}
|
ln -s ${tftproots."${host}-tftproot"} $out/${hostRegistry.hosts.${host}.serial}
|
||||||
'') (
|
'') (
|
||||||
builtins.attrNames (
|
builtins.attrNames (
|
||||||
lib.filterAttrs (_: { serial ? null, ... }: serial != null) hostRegistry
|
lib.filterAttrs (_: { serial ? null, ... }: serial != null)
|
||||||
|
hostRegistry.hosts
|
||||||
)
|
)
|
||||||
)}
|
)}
|
||||||
'';
|
'';
|
||||||
|
|
|
@ -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.enableRedistributableFirmware = true;
|
||||||
hardware.deviceTree = {
|
# hardware.deviceTree = {
|
||||||
enable = true;
|
# enable = true;
|
||||||
kernelPackage = config.boot.kernelPackages.kernel;
|
# kernelPackage = config.boot.kernelPackages.kernel;
|
||||||
};
|
# };
|
||||||
powerManagement.cpuFreqGovernor = lib.mkDefault "performance";
|
powerManagement.cpuFreqGovernor = lib.mkDefault "performance";
|
||||||
|
|
||||||
nixpkgs.config.packageOverrides = pkgs: {
|
nixpkgs.config.packageOverrides = pkgs: {
|
||||||
|
@ -39,15 +21,13 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
version = 4;
|
version = 4;
|
||||||
firmwareConfig = ''
|
firmwareConfig = ''
|
||||||
gpu_mem=192
|
gpu_mem=256
|
||||||
dtparam=audio=on
|
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 [
|
kernelParams = lib.mkForce [
|
||||||
"snd_bcm2835.enable_headphones=1"
|
"snd_bcm2835.enable_headphones=1"
|
||||||
# don't let sd-image-aarch64.nix setup serial console as it breaks bluetooth.
|
# don't let sd-image-aarch64.nix setup serial console as it breaks bluetooth.
|
||||||
|
@ -56,13 +36,8 @@
|
||||||
|
|
||||||
tmpOnTmpfs = true;
|
tmpOnTmpfs = true;
|
||||||
};
|
};
|
||||||
sdImage = {
|
|
||||||
compressImage = false;
|
|
||||||
imageBaseName = config.networking.hostName;
|
|
||||||
firmwareSize = 512;
|
|
||||||
};
|
|
||||||
hardware.raspberry-pi."4" = {
|
hardware.raspberry-pi."4" = {
|
||||||
# fkms-3d.enable = true;
|
fkms-3d.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
c3d2 = {
|
c3d2 = {
|
||||||
|
@ -72,7 +47,6 @@
|
||||||
hq.statistics.enable = true;
|
hq.statistics.enable = true;
|
||||||
audioServer.enable = true;
|
audioServer.enable = true;
|
||||||
k-ot.enable = true;
|
k-ot.enable = true;
|
||||||
autoUpdate = true;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
nix = {
|
nix = {
|
||||||
|
|
|
@ -4,6 +4,9 @@
|
||||||
loader.raspberryPi = {
|
loader.raspberryPi = {
|
||||||
enable = true;
|
enable = true;
|
||||||
version = 4;
|
version = 4;
|
||||||
|
firmwareConfig = lib.mkDefault ''
|
||||||
|
gpu_mem=256
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
kernelPackages = pkgs.linuxPackages_rpi4;
|
kernelPackages = pkgs.linuxPackages_rpi4;
|
||||||
kernelParams = [
|
kernelParams = [
|
||||||
|
@ -57,7 +60,9 @@
|
||||||
# r/o /nix/store
|
# r/o /nix/store
|
||||||
services.nix-daemon.enable = false;
|
services.nix-daemon.enable = false;
|
||||||
sockets.nix-daemon.enable = false;
|
sockets.nix-daemon.enable = false;
|
||||||
|
services.nix-gc.enable = false;
|
||||||
};
|
};
|
||||||
|
nix.gc.automatic = lib.mkForce false;
|
||||||
services.journald.extraConfig = ''
|
services.journald.extraConfig = ''
|
||||||
Storage=volatile
|
Storage=volatile
|
||||||
'';
|
'';
|
||||||
|
@ -71,9 +76,9 @@
|
||||||
cat << EOF > $out/config.txt
|
cat << EOF > $out/config.txt
|
||||||
kernel=kernel8.img
|
kernel=kernel8.img
|
||||||
initramfs initrd.img followkernel
|
initramfs initrd.img followkernel
|
||||||
gpu_mem=256
|
|
||||||
arm_64bit=1
|
arm_64bit=1
|
||||||
|
${toString config.boot.loader.raspberryPi.firmwareConfig}
|
||||||
EOF
|
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
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue