Commit graph

71 commits

Author SHA1 Message Date
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
Daniel Barlow
696bbe6521 rename systemPackages as defaultProfile.packages
it doesn't work the same way as in nixos, so don't name it the same way
2022-09-27 16:47:42 +01:00