Commit graph

105 commits

Author SHA1 Message Date
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