Commit Graph

110 Commits (main)

Author SHA1 Message Date
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
Daniel Barlow 09a9dba963 export "dir" and "symlink" from pseudofiles package 2022-09-26 18:27:43 +01:00
Daniel Barlow c6c6b51893 make s6-rc-database a package 2022-09-26 15:59:21 +01:00
Daniel Barlow 7803eebfd4 add a "route" service 2022-09-26 13:44:40 +01:00
Daniel Barlow 4bfba33170 handle case when ppp0 eists but is down 2022-09-26 12:11:44 +01:00
Daniel Barlow cbee488d22 automated test for pppoe 2022-09-26 11:17:31 +01:00
Daniel Barlow 5d51d15b86 working pppoe with readiness notification on ip-up 2022-09-25 21:12:50 +01:00
Daniel Barlow 3540f594b1 address service: rename addr->address & add prefixLength
these names are consistent with nixos
2022-09-25 16:51:13 +01:00
Daniel Barlow c1835d97ee add pppoe 2022-09-25 11:54:31 +01:00
Daniel Barlow c6e56b1637 merge-modules accepts >1 module 2022-09-25 11:52:02 +01:00
Daniel Barlow 887a4ff966 WIP introduce nixos module system for configuration 2022-09-25 11:10:22 +01:00
Daniel Barlow 0f999f9ae4 smoke test : remove temporary files afterwards 2022-09-24 21:13:15 +01:00
Daniel Barlow d284179272 script and README to start routeros configured for pppoe 2022-09-24 13:04:47 +01:00
Daniel Barlow 7a4314baee run-tests cd into each test directory before running it 2022-09-23 17:21:43 +01:00
Daniel Barlow 0b0efde12c tidy repo 2022-09-22 11:11:31 +01:00
Daniel Barlow e46abbccca put liminix-tools in package overlay 2022-09-22 11:10:41 +01:00
Daniel Barlow fde7a269b7 add default service target, get some stuff running 2022-09-22 00:10:55 +01:00
Daniel Barlow 45025f128a switch to s6-linux-init and s6-rc
This is at the point where it runs a getty and a pile of s6-supervise
processes, though it doesn't seem to run the things being supervised
2022-09-21 23:01:21 +01:00
Daniel Barlow b2f7a429f7 build a kernel, using malta_kvm_defconfig
(there's a lot in this config that I don't think is needed)
2022-09-20 18:54:27 +01:00
Daniel Barlow ad759b7c6d allow changing hardware device in tests 2022-09-20 16:09:44 +01:00
Daniel Barlow 83d576fb58 remove unused lets, add test case 2022-09-20 15:46:03 +01:00
Daniel Barlow b38b0bd932 add rudimentary test harness, turn example-configuration into a test 2022-09-20 15:22:37 +01:00