Commit Graph

72 Commits

Author SHA1 Message Date
Daniel Barlow 94e51db649 tests: use run.sh instead of calling run-liminix-vm directly
this makes it easier to run tests on aarch64 where
qemu wants an Image file instead of a vmlinux
2023-09-24 00:24:48 +01:00
Daniel Barlow 4389fa15f7 rename mips-vm as run-liminix-vm 2023-09-20 18:33:20 +01:00
Daniel Barlow 3b9c5635b8 update pppoe and wlan tests 2023-09-01 17:55:08 +01:00
Daniel Barlow 767b154eb2 fix pppoe test 2023-08-16 23:35:12 +01:00
Daniel Barlow f82501d278 update hostapd to "build" syntax 2023-08-05 12:21:18 +01:00
Daniel Barlow fbb2c04132 move module-based-service parameter types into service
This is in preparation for writing something that extracts them
into documentation.

user configurations now call config.system.service.foo.build { ...params }
instead of config.system.service.foo

the parameter type definitions themselves now move into the
config stanza of the module referencing the service

new helper function  liminix.callService

The only service moved so far is dnsmasq
2023-08-04 20:39:29 +01:00
Daniel Barlow 5bf8e8522a update wlan test to use module 2023-07-16 17:56:07 +01:00
Daniel Barlow 669af24247 make a module for dnsmasq 2023-07-14 23:18:21 +01:00
Daniel Barlow 5fee3e54d2 use ppp module in pppoe test 2023-07-14 22:23:11 +01:00
Daniel Barlow 41687e916d rename luaSmall package to lua 2023-07-02 18:19:54 +01:00
Daniel Barlow b898364719 extend timeout for pppoe test 2023-06-20 23:39:46 +01:00
Daniel Barlow fdffdbb22a add writeFennelScript function, make ifwait use it 2023-05-29 20:20:12 +01:00
Daniel Barlow f249c12bec cruft 2023-05-20 22:48:30 +01:00
Daniel Barlow 4cb4399a1c remove standard.nix modues from qemu test
qemu kernel can't be configured for CONFIG_MTD_SPLIT_UIMAGE_FW
required by flashimage
2023-05-17 21:51:54 +01:00
Daniel Barlow b0a0fdcfcc add "standard" module, which includes flashimage kexec & jffs2
most systems need most of these, so it makes writing the docs a
lot easier
2023-05-17 15:38:22 +01:00
Daniel Barlow 55387b0ee3 extract common shell fns in tests 2023-05-07 23:01:24 +01:00
Daniel Barlow 2af8f2382a test min-copy-closure 2023-05-07 22:02:10 +01:00
Daniel Barlow 2c4f8b823e remove jffs2boot target
It's not needed now initramfs is compiled into the kernel.
2023-04-23 20:56:20 +01:00
Daniel Barlow 65dfbad365 systemconfig: chown files if uid/gid > 0 2023-04-15 22:53:28 +01:00
Daniel Barlow 42725f56f9 make jffs2 module provide o.rootfs, conditionally
it's enabled if config.rootfsType == "jffs2"
2023-04-10 20:01:58 +01:00
Daniel Barlow 0687ae7f5c rename flashable->flashimage, o.squashfs to rootfs
"rootfs" describes what it is for, "squashfs" merely says
how it's implemented

(also, rootfs-as-jffs2 will soon be added)
2023-04-10 18:13:27 +01:00
Daniel Barlow db54c877d6 add CI test for jffs2 2023-04-06 20:58:26 +01:00
Daniel Barlow 25d9da967c remove support for sockets in pseudofiles
(1) we can't make them on a real filesystem except by running
something that calls socket()
(2) whyever would we want to?
2023-04-04 23:23:22 +01:00
Daniel Barlow e40170f7d5 pppoe test: update to expect change in root's PS1 2023-03-18 19:16:27 +00:00
Daniel Barlow 9f03276db8 move noise sources around in tests
wlan test shows output to make it easier to see when it went wrong
2023-03-10 18:41:43 +00:00
Daniel Barlow fec77a44b5 DRY loopback interface, it's the same everywhere 2023-03-07 22:36:48 +00:00
Daniel Barlow e0ea576674 rename "device" config tree as "hardware"
we are also using "device" for "network device" (as in eth0,
wlan0 etc) so this makes it a bit less confusing perhaps
2023-03-03 22:52:33 +00:00
Daniel Barlow adc198b3af WIP push to see what passes 2023-03-01 22:24:58 +00:00
Daniel Barlow 751920c8fc qemu: switch to building wireless as kernel modules
This is a hefty change

* add support for kernel backports project
* build wireless stack/drivers as modules from a backported kernel
* create a service to load/unload the modules
2023-02-22 18:41:41 +00:00
Daniel Barlow b60ce985b7 inline lib/merge-modules.nix
it wasn't really adding value once I learned that evalModules
is at nixpkgs.lib

https://github.com/telent/liminix/compare/main...vesim987:liminix:main#diff-8ebcd005c04c8eddff72aa83f26a9ee6cfef3c04ce16b8f051aa6c6f4b0c9e73L1
2023-02-16 17:22:27 +00:00
Daniel Barlow a7c94f5a12 delete dead file 2023-02-08 23:19:37 +00:00
Daniel Barlow 320d436c65 add wlan test to ci 2023-02-08 23:19:18 +00:00
Daniel Barlow 4addcbbd51 turn run-qemu.sh script into mips-vm buildEnv command 2023-02-08 22:17:06 +00:00
Daniel Barlow cc7daeabb3 add routeros to overlay 2023-02-08 18:13:35 +00:00
Daniel Barlow 424abc72b8 rearrange all the ci stuff 2023-02-05 22:38:21 +00:00
Daniel Barlow ebc5d6a3e0 convert pppoe test to a derivation
* move shell script to a runCommand
* multicast needs special options to run on loopback
 (nix-build sandbox disables non-local network interfaces)
2023-02-05 17:37:31 +00:00
Daniel Barlow 16a923f58f convert routeros pppoe service to a derivation
and make it configure itself automatically instead of starting
out blank
2023-02-05 17:35:41 +00:00
Daniel Barlow 00aa42b803 create ci.nix to run all tests 2023-01-29 21:42:53 +00:00
Daniel Barlow a0380728a5 convert test script to derivation 2023-01-29 21:39:34 +00:00
Daniel Barlow 3b1bc7eff8 test derivation for ci 2023-01-29 21:19:10 +00:00
Daniel Barlow 76243d306c remove checkedConfig, check all the config 2022-10-19 22:09:38 +01:00
Daniel Barlow 3ef30056c4 trim down the qemu kernel config
just retain the options we need to pass the tests
2022-10-18 22:28:07 +01:00
Daniel Barlow 77922c875b add per-device overlay
presently this is used to reference the appropriate kernel and (if
needed) openwrt source trees, but I would not be surprised if we find
other uses
2022-10-15 18:55:33 +01:00
Daniel Barlow 2f3072d7d5 enable /proc/config.gz
previous attempt hadn't noticed that it has a missing dependency
2022-10-05 21:50:10 +01:00
Daniel Barlow e9f04931fa improve syntax for accessing service outputs 2022-10-02 16:35:55 +01:00
Daniel Barlow 2d7bb6b2fa twiddle docs 2022-10-02 14:47:35 +01:00
Daniel Barlow da8866a01a first pass at a hostapd service, rough around the edges 2022-10-02 10:04:35 +01:00
Daniel Barlow c320d0afc7 add dnsmasq and example config for it
would be good to move more of this into a module, but that
doesn't sit well with the (potential) ability to run more than one
dnsmasq service, as modules are singletons
2022-09-28 21:33:18 +01:00
Daniel Barlow dfdaa27f39 make ppp log to stderr not syslog 2022-09-27 22:57:06 +01:00
Daniel Barlow 0632b5102e remove .service/.target/.bundle etc suffixes on service names
they don't seem to be providing value
2022-09-27 22:56:53 +01:00