commit 9a29a042e84cba633e7d7e9c22145d34e493f467
parent 46926a94dbb71f57df7a9d30e538f41990301444
Author: Daniel Barlow <dan@telent.net>
Date: Thu, 21 Dec 2023 10:47:08 +0000
fix tftpboot test on boards without autoboot, swap wan/lan
This is for MIPS. I spent a while investigating why the second virtio
net device doesn't function in qemu mips malta u-boot, but with no
success. Use the first one instead.
Diffstat:
3 files changed, 11 insertions(+), 8 deletions(-)
diff --git a/pkgs/run-liminix-vm/run-liminix-vm.fnl b/pkgs/run-liminix-vm/run-liminix-vm.fnl
@@ -42,6 +42,7 @@
["--arch" arch & rest] (assoc (parse-args rest) :arch arch)
["--phram-address" addr & rest] (assoc (parse-args rest) :phram-address addr)
["--lan" spec & rest] (assoc (parse-args rest) :lan spec)
+ ["--wan" spec & rest] (assoc (parse-args rest) :wan spec)
["--command-line" cmd & rest] (assoc (parse-args rest) :command-line cmd)
[kernel rootfsimg]
{ :kernel kernel :rootfs (pad-file rootfsimg (* 16 1024)) }
@@ -76,9 +77,11 @@
"-serial" (.. "unix:" sock ",server,nowait")
"-monitor" (.. "unix:" monitor ",server,nowait")]))
-(fn access-net []
+(fn access-net [override]
[
- "-netdev" "socket,id=access,mcast=230.0.0.1:1234,localaddr=127.0.0.1"
+ "-netdev" (.. (or override
+ "socket,mcast=230.0.0.1:1234,localaddr=127.0.0.1")
+ ",id=access")
"-device" "virtio-net,disable-legacy=on,disable-modern=off,netdev=access,mac=ba:ad:1d:ea:21:02"
])
@@ -121,7 +124,7 @@
["-serial" "mon:stdio"]))
(appendm (bootable (or options.command-line "")
options.u-boot options.disk-image))
- (appendm (access-net))
+ (appendm (access-net options.wan))
(appendm (local-net options.lan))
(appendm ["-display" "none"])))
diff --git a/tests/tftpboot/script.expect b/tests/tftpboot/script.expect
@@ -1,10 +1,10 @@
set timeout 30
spawn socat unix-connect:vm/console -
-expect "stop autoboot"
-send "\r"
-expect "=>"
-send "setenv ethact eth1\r"
+expect {
+ "stop autoboot" { send "\r" }
+ "=>" { send "\r" }
+}
set fh [open "result/boot.scr"]
while {[gets $fh line] >= 0} {
expect "=>"
diff --git a/tests/tftpboot/test.nix b/tests/tftpboot/test.nix
@@ -23,7 +23,7 @@ run-liminix-vm \
--background ./vm \
--u-boot ${uboot}/u-boot.bin \
--arch ${derivation.pkgs.stdenv.hostPlatform.qemuArch} \
- --lan "user,tftp=`pwd`" \
+ --wan "user,tftp=`pwd`" \
--disk-image result/rootfs \
result/uimage result/rootfs