flake: move ip_setup to boot partition

This commit is contained in:
2026-04-14 11:38:35 +08:00
committed by linuswck
parent 424a1c43f8
commit d2e1cb1c79
2 changed files with 12 additions and 17 deletions

View File

@@ -539,6 +539,12 @@
# Current firmware (kernel, bootimage, etc..) takes ~18MB
firmwareSize = 30;
firmwarePartitionOffset = 8;
defaultIpSetup = pkgs.writeText "ip_setup" ''
#!/bin/sh
# Edit this file to configure the IP address
ifconfig eth0 192.168.1.129 netmask 255.255.255.0
ip link set eth0 up
'';
in pkgs.stdenv.mkDerivation {
name = "${board}-sd-image";
nativeBuildInputs = with pkgs; [ dosfstools mtools libfaketime util-linux parted ];
@@ -576,6 +582,7 @@
cp ${dtb}/${board}.dtb firmware/
cp ${not-os-build.kernel}/uImage firmware/
cp ${not-os-build.uRamdisk}/initrd firmware/uRamdisk.image.gz
cp ${defaultIpSetup} firmware/ip_setup
(cd firmware; mcopy -psvm -i ../firmware_part.img ./* ::)
dd conv=notrunc if=firmware_part.img of=$img seek=$START count=$SECTORS

View File

@@ -2,17 +2,19 @@ diff --git a/runit.nix b/runit.nix
index 14dd437..982823d 100644
--- a/runit.nix
+++ b/runit.nix
@@ -36,6 +36,10 @@ in
@@ -36,6 +36,12 @@ in
ip route add 103.206.98.200/29 dev eth0
ip route add default via 103.206.98.200 dev eth0
''}
+
+ # Setup IP Address
+ /etc/ip_setup
+ if [ -f /boot/ip_setup ]; then
+ sh /boot/ip_setup
+ fi
+
mkdir /bin/
ln -s ${pkgs.runtimeShell} /bin/sh
diff --git a/zynq_image.nix b/zynq_image.nix
index 979b760..0be26b2 100644
--- a/zynq_image.nix
@@ -26,17 +28,3 @@ index 979b760..0be26b2 100644
system.build.zynq_image = pkgs.runCommand "zynq_image" {
preferLocalBuild = true;
} ''
@@ -60,6 +60,13 @@ in {
mkdir -p /root/linien-server-log
exec svlogd -tt /root/linien-server-log
'';
+ "ip_setup" = {
+ text = ''
+ ifconfig eth0 192.168.1.129 netmask 255.255.255.0
+ ip link set eth0 up
+ '';
+ mode = "0762";
+ };
"pam.d/other".text = ''
auth sufficient pam_permit.so
account required pam_permit.so