Daniel Barlow
aa4b09da85
think (foreshadowing)
2024-05-22 18:45:23 +01:00
Daniel Barlow
471c63b399
s6-rc do cleanup in "finish", don't append to "run" script
...
s6-supervise sends signals (e.g. SIGTERM) to the pid of the process
running "run", so how do we know if the ceanup commands are even
getting executed if the shell interpreter that is supposed to do that
got killed already?
2024-05-13 17:53:02 +01:00
Daniel Barlow
782feaeafa
set default for firewall extraRules
2024-05-03 16:28:53 +01:00
Daniel Barlow
ac54c89427
add busybox to bordervm for udhcpd
2024-05-01 23:09:23 +01:00
Daniel Barlow
5a3646cb29
add authorized keys to bordervm
...
You don't often need this because it has autologin, but sometimes
you want to do antics involving sshing through it to the wan port
of a test device.
Note that you probably wanted to start bordervm with funny qemu
options to even make that possible
nix-shell --run "QEMU_NET_OPTS=hostfwd=tcp::10022-:22 run-border-vm"
2024-05-01 23:07:11 +01:00
Daniel Barlow
e249f48cff
add deps on {ins,rm}mod and kconfig for firewall module
2024-05-01 23:06:12 +01:00
Daniel Barlow
6661e42684
mt300a tftpboot needs appendDTB
2024-05-01 23:04:25 +01:00
Daniel Barlow
b9ba9ef835
mt300a remove unneeded service dependencies
2024-05-01 23:03:55 +01:00
Daniel Barlow
8b69dcc209
pass entire config fragment to levitate, not just services
...
to make it useful we need to be able to set packages, passwords, ssh
keys etc
2024-04-29 20:07:01 +01:00
Daniel Barlow
9b3a3b9ff7
add levitate to arhcive
...
this is largely untested
2024-04-28 21:38:13 +01:00
Daniel Barlow
7d08497bcb
arhcive remove coldplug fudge
2024-04-28 21:37:30 +01:00
Daniel Barlow
0e84adaa0e
maybe don't need deps for gl-mt300a vlan devices?
...
will delete them next time I have that device open to test
2024-04-28 21:35:09 +01:00
Daniel Barlow
660ed5df8f
vlan interface services depend on primary
2024-04-28 21:33:36 +01:00
Daniel Barlow
792a11c8c0
gl-mt300n-v2 use full path to swconfig in service stop
2024-04-28 21:32:42 +01:00
Daniel Barlow
7e4a05bbf8
separate kernel and base modules
...
this is needed for levitate
2024-04-28 12:44:27 +01:00
Daniel Barlow
a4ba5c85e1
alphabetize list in all-modules
2024-04-28 12:42:47 +01:00
Daniel Barlow
723ef73d5a
inout: test hotplug and coldplug
2024-04-27 22:41:30 +01:00
Daniel Barlow
3d4e782929
devout: run tests in postBuild
...
because checkPhase is not executed when cross-compiling, and this
package is always only cross-compiled
2024-04-27 21:07:25 +01:00
Daniel Barlow
1b6a05aec5
make uevent-watch use devout instead of direct netlink
2024-04-27 21:07:25 +01:00
Daniel Barlow
80628a3d90
move event matching tests to devout
...
in preparation for future uevent-watch not needing to do
event matching
2024-04-27 21:07:25 +01:00
Daniel Barlow
bf0cafffed
start devout alongside mdevd
...
ensure it starts before mdevd-coldplug so it can populate
its database
2024-04-26 20:52:12 +01:00
Daniel Barlow
e49aba127c
devout: improve socket error handling
2024-04-26 20:49:23 +01:00
Daniel Barlow
324465bc18
devout: write uevent KEY=value format to clients
2024-04-26 17:37:28 +01:00
Daniel Barlow
b33249a050
devout: add readiness notification
2024-04-26 17:23:29 +01:00
Daniel Barlow
b9c084415e
devout: handle readiness on netlink socket but no event
2024-04-26 17:20:33 +01:00
Daniel Barlow
cf9cadd212
devout: replay relevant events to new subscriber
2024-04-26 17:20:33 +01:00
Daniel Barlow
a116fe084a
devout: use socket constants from anoia.net.constants
2024-04-26 16:48:51 +01:00
Daniel Barlow
74cf3e0711
add anoia.net.constants for SOCK_{STREAM,DGRAM} etc
...
we use an ugly bit of C preprocessor to get the values from
header files, because certain constants are different on MIPS
than on other architectures
2024-04-26 16:43:09 +01:00
Daniel Barlow
9795f03da4
think
2024-04-26 16:41:31 +01:00
Daniel Barlow
cdb23b147c
convert anoia.fs to use lualinux
2024-04-25 21:14:37 +01:00
Daniel Barlow
dbd1264352
convert anoia.fs to use lualinux instead of lfs
2024-04-24 20:44:32 +01:00
Daniel Barlow
834858d5bc
think
2024-04-24 18:33:57 +01:00
Daniel Barlow
18335b95e3
devout: strip newlines from client terms
...
this is just to make testing with socat easier
2024-04-24 18:33:02 +01:00
Daniel Barlow
6bee2f67ac
devout: add incoming netlink messages to database
2024-04-24 18:32:27 +01:00
Daniel Barlow
b4ba3eea21
fix revents in unpack-pollfds
2024-04-24 18:31:26 +01:00
Daniel Barlow
16af3984c9
add lualinux to fennelrepl
2024-04-24 18:30:34 +01:00
Daniel Barlow
ce7e395295
devout test: replace minisock with lualinux
2024-04-24 18:29:24 +01:00
Daniel Barlow
7e13e017eb
add readline suport to fennelrepl
2024-04-24 18:28:39 +01:00
Daniel Barlow
bbf2f53c0e
cross-compile lualinux
2024-04-24 18:28:14 +01:00
Daniel Barlow
032d0f8aca
add netlink socket
...
it's not hooked up to anything yet, but it proves we can
do this with lualinux
2024-04-23 23:34:25 +01:00
Daniel Barlow
b8ac9e5279
convert devout from minisock to lualinux
2024-04-23 23:33:11 +01:00
Daniel Barlow
ff2604ca5d
think
2024-04-23 23:30:50 +01:00
Daniel Barlow
72789984ce
add lualinux package
2024-04-23 22:41:38 +01:00
Daniel Barlow
90d9d0e811
update minisock to not scribble on lua strings
2024-04-23 20:19:33 +01:00
Daniel Barlow
97a8ae1c84
devout: add event loop and main run function
2024-04-23 20:15:02 +01:00
Daniel Barlow
52eb283a26
implement unsubscribe
...
and add ids to subscribe so that there's a unique identifier
to pass to unsubscribe
2024-04-23 20:12:46 +01:00
Daniel Barlow
cbb1de804e
switch to minisock fork witj poll() call
...
this is likely to be temporary as minisock is getting
replaced with lualinux
2024-04-23 20:09:41 +01:00
Daniel Barlow
f9c03998b8
implement subscriptions with callback
2024-04-21 13:19:17 +01:00
Daniel Barlow
50de1b090f
add the rest of the test list (all we've thought of)
2024-04-21 11:22:26 +01:00
Daniel Barlow
648382f64a
report bodyless tests as PENDING
2024-04-21 11:19:42 +01:00
Daniel Barlow
e9370358ae
implement "remove" events
2024-04-21 11:19:06 +01:00
Daniel Barlow
762ce7b6b8
cut/paste devout implementation into a real module
2024-04-20 22:48:00 +01:00
Daniel Barlow
b1c0560f4f
implement fetch by path
2024-04-20 22:20:43 +01:00
Daniel Barlow
e34135c41a
improve failed test reporting
2024-04-20 21:46:37 +01:00
Daniel Barlow
712c9b266f
implement find
2024-04-20 18:42:42 +01:00
Daniel Barlow
4df963996c
devout: add device
2024-04-20 18:24:10 +01:00
Daniel Barlow
349bfecbb8
new package "devout", does nothing yet
2024-04-20 17:45:40 +01:00
Daniel Barlow
450d3820b2
clean up uevent-watch test using writeFennel and mainFunction
...
requires less cavorting with globals and stuff
2024-04-20 16:53:43 +01:00
Daniel Barlow
771585546d
import expect= where previously it was copy-pasted
2024-04-20 15:09:50 +01:00
Daniel Barlow
73abf952d5
package minisock, a minimal Lua socket library
2024-04-20 15:09:17 +01:00
Daniel Barlow
8af4e9fd5b
package anoia assert macros and point fennelrepl at them
2024-04-20 14:59:14 +01:00
Daniel Barlow
7e19d80130
anoia: add assert macro module
...
contains expect and expect=
2024-04-20 14:04:32 +01:00
Daniel Barlow
0f0688c802
think
2024-04-20 14:03:48 +01:00
Daniel Barlow
b43f17f655
think
2024-04-20 12:23:04 +01:00
Daniel Barlow
adf62d4483
arhcive: make it work when disk is attached before boot
...
This is a bit of a kludge (a lot of a kludge) but it will
get it running whilt I work on something better
2024-04-17 18:49:30 +01:00
Daniel Barlow
68eb1360f6
use appended dtb in gl-mt300n-v2 tftpboot
...
probably the A variant needs this as well
2024-04-17 18:48:19 +01:00
Daniel Barlow
19ad6cd278
watchdog: put s6 pkg on $PATH for s6-svstat
2024-04-17 13:01:10 +01:00
Daniel Barlow
00076c7b81
mount service: use uevent-watch
2024-04-17 12:59:13 +01:00
Daniel Barlow
721e7499f3
arhcive: use usb module instead of harcoded kconfig
2024-04-17 12:53:43 +01:00
Daniel Barlow
fc723b9a35
think
2024-04-16 18:59:01 +01:00
Daniel Barlow
a5f16dfa81
convert inout test to use uevent-watch
2024-04-15 22:15:27 +01:00
Daniel Barlow
41a4b1f7ef
clean cruft from inout test script
2024-04-15 22:00:44 +01:00
Daniel Barlow
42a5699326
remove unneeded config from inout test
2024-04-15 21:19:18 +01:00
Daniel Barlow
ea2b25168e
add uevent-watch, which toggles services based on uevent msgs
2024-04-15 21:15:07 +01:00
Daniel Barlow
5564cf0554
add nellie.close
2024-04-14 22:45:29 +01:00
Daniel Barlow
f3a13630d3
add multicast groups param to nellie.open
2024-04-14 22:45:29 +01:00
Daniel Barlow
f233acf9ff
netlink uevent hello world
2024-04-14 22:45:29 +01:00
Daniel Barlow
b6a054c588
add mdevd as module
...
following the upstream example, it republishes uevent messages
using multicast group 4 instead of group 2 as used by udev.
2024-04-14 21:59:23 +01:00
Daniel Barlow
b231664a06
anoia: add basename, dirname
2024-04-11 23:11:20 +01:00
Daniel Barlow
f4bf3029fa
anoia: alphabetize exports
2024-04-11 23:11:13 +01:00
Daniel Barlow
05f2c9a2f7
add lua in nix-shell environment
2024-04-11 23:11:06 +01:00
Daniel Barlow
5df5c822ea
convert mount service to trigger
...
Good: this means it's not hanging holding the s6 dataase lock.
Bad: it's the ugliest implementation and doesn't deserve to be preserved
(tbf the ugliness is not new)
2024-04-03 23:17:36 +01:00
Daniel Barlow
4795dd05b7
unconditionally restart trigger services on liminix-rebuild
...
We call s6-rc -u -p default to restart/start the base services
on a rebuild, otherwise services that are only in the new
configuration won't come up. However, this stops any service
started by a trigger. So, workaround is to restart the trigger
service and expect it to restart the services it manages if they're
needed
2024-04-03 23:07:56 +01:00
Daniel Barlow
a192f08881
remove missing module
2024-03-29 17:34:10 +00:00
Daniel Barlow
a873dc6608
Merge commit 'efcfdcc'
2024-03-28 23:47:04 +00:00
Daniel Barlow
2fb4756a7f
add soft restart option to liminix-rebuild
...
instead of doing a full reboot, it runs activate / and uses
s6-rc-update to install the new service database
2024-03-28 23:45:10 +00:00
Daniel Barlow
04f5174425
fix vanilla-configuration defaultroute
2024-03-28 22:13:21 +00:00
Daniel Barlow
dca2e4def1
fix params to s6-rc-init
...
flags must precede scandir otherwise they're ignored
2024-03-28 21:56:28 +00:00
Daniel Barlow
b60126775a
improve liminix-rebuild test
...
* make it executable
* improve robustness
* do't hardcode services.default (why did it do this?)
2024-03-28 21:37:47 +00:00
Daniel Barlow
76f11bcc93
liminix-rebuild: remove -f flag from reboot call
...
now we have timeouts in service definitions, shouldn't need this
any more
2024-03-28 21:37:47 +00:00
Daniel Barlow
efcfdcc21d
think
2024-03-28 20:59:39 +00:00
Daniel Barlow
77f1a78331
ifwait block if s6-rc lock is held
...
otherwise it doesn't trigger the service if something else is
slow to start
2024-03-28 20:59:39 +00:00
Daniel Barlow
28a5dec7dd
implement ifwait trigger service and use in bridge
...
should we convert all ifwait uses to this trigger too? seems
reasonable
2024-03-28 20:59:39 +00:00
Daniel Barlow
fad0a47b75
add config.system.callService
...
this is like pkgs.callService except that it passes
config.system.service as a param so that the service
being defined can invoke other services
if this proves to be a good idea, all uses of
pkgs.callService should be changed to use it instead
2024-03-28 20:59:39 +00:00
Daniel Barlow
af52aafc84
deep thoughts
2024-03-28 20:59:39 +00:00
Daniel Barlow
34442b6069
failing test for ifwait
2024-03-28 20:59:39 +00:00
Daniel Barlow
b8a46fc05e
allow buildInputs param to s6 service
...
this is in preparation for trigger services that need to
close over the triggered service without adding it to
s6-rc dependencies
2024-03-28 20:58:53 +00:00
Daniel Barlow
8ac2c6cec1
support timeouts (default 30s) for starting s6-rc services
2024-03-28 20:58:47 +00:00
Daniel Barlow
8879b2d1ba
fix rt2x00 wifi
2024-03-28 20:58:39 +00:00
Daniel Barlow
83e346d5a0
add deviceName param
2024-03-22 21:55:44 +00:00