From 89220def417fa6fdfa6ea54b15c5043235ac6e57 Mon Sep 17 00:00:00 2001 From: Andrew Kidd Date: Sat, 4 Jan 2025 00:28:08 +0000 Subject: [PATCH] neededForBoot, supportedFilesystems --- net-image/default.nix | 2 +- net-image/net-image.nix | 55 ++++++++++++++++++++++++++++++++++------- 2 files changed, 47 insertions(+), 10 deletions(-) diff --git a/net-image/default.nix b/net-image/default.nix index 044e4da..30dc90f 100644 --- a/net-image/default.nix +++ b/net-image/default.nix @@ -11,7 +11,7 @@ boot.kernelParams = [ "rw" "nfsroot=${config.netImage.nfsRoot},v3" - "ip=dhcp" + # "ip=dhcp" "root=/dev/nfs" "rootwait" "elevator=deadline" diff --git a/net-image/net-image.nix b/net-image/net-image.nix index 817f51b..4909556 100644 --- a/net-image/net-image.nix +++ b/net-image/net-image.nix @@ -127,24 +127,61 @@ in }; config = { - boot.initrd.network.enable = true; - # boot.initrd.postDeviceCommands = '' - # mkdir -p $out/mnt-root - # ''; - boot.initrd.extraUtilsCommands = '' - mkdir -p $out/mnt-root - ''; + # net + networking.useDHCP = lib.mkForce true; + networking.interfaces.eth0.useDHCP = lib.mkForce true; + networking.interfaces.wlan0.useDHCP = lib.mkForce false; + # boot + boot.initrd.network.enable = lib.mkForce true; + boot.initrd.network.flushBeforeStage2 = lib.mkForce false; + boot.initrd.supportedFilesystems = [ + # Network File System (NFS) support for mounting root over the network + "nfs" + # Overlay filesystem for layering file systems + "overlay" + ]; + + boot.initrd.availableKernelModules = [ + # Network File System (NFS) module + "nfs" + # Overlay filesystem module + "overlay" + # Broadcom PHY library for Ethernet device support + "bcm_phy_lib" + # Broadcom-specific driver module + "broadcom" + # Broadcom GENET Ethernet controller driver + "genet" + ]; + + boot.initrd.kernelModules = [ + # Network File System (NFS) module + "nfs" + # Overlay filesystem module + "overlay" + # Broadcom PHY library for Ethernet device support + "bcm_phy_lib" + # Broadcom-specific driver module + "broadcom" + # Broadcom GENET Ethernet controller driver + "genet" + ]; + + + # fileSystems fileSystems = { "/boot/firmware" = { device = "${config.netImage.nfsRoot}/boot/firmware"; fsType = "nfs"; - options = config.netImage.nfsOptions; + # options = config.netImage.nfsOptions; + neededForBoot = lib.mkForce true; }; "/" = { device = "${config.netImage.nfsRoot}"; fsType = "nfs"; - options = config.netImage.nfsOptions; + # options = config.netImage.nfsOptions; + neededForBoot = lib.mkForce true; }; };