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