From 9a29a042e84cba633e7d7e9c22145d34e493f467 Mon Sep 17 00:00:00 2001 From: Daniel Barlow Date: Thu, 21 Dec 2023 10:47:08 +0000 Subject: [PATCH] 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. --- pkgs/run-liminix-vm/run-liminix-vm.fnl | 9 ++++++--- tests/tftpboot/script.expect | 8 ++++---- tests/tftpboot/test.nix | 2 +- 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 index 7e77b68..c5a1af4 100644 --- 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 index e024d9b..7967885 100644 --- 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 index f73bb34..2c702bc 100644 --- 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