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
Daniel Barlow
156b1fe64a
deep thoughts
2024-03-22 21:54:38 +00:00
Daniel Barlow
1a314e55b7
firewall module: provide default rules and merge extraRules
...
a firewall with no configuration will get a relatively sane ruleset. a
firewall with `extraRules` will get them deep merged into the default
rules. Specifying `rules` will override the defaults
2024-03-21 12:00:34 +00:00
Daniel Barlow
9263b21faa
create gateway profile by extracting from rotuer example
2024-03-21 10:04:42 +00:00
Daniel Barlow
0a820a702a
extneder: delete nftables kernel config
...
don't need nftables on a bridge. (do we? hope not)
2024-03-20 19:05:31 +00:00
Daniel Barlow
4ea518e296
expose modulesPath to ease out-of-tree configuration.nix
2024-03-20 18:58:44 +00:00
Daniel Barlow
98318b450d
deep thoughts
2024-03-16 20:16:49 +00:00
Daniel Barlow
e4ac7f19dc
fix ifwait deps
2024-03-16 20:16:49 +00:00
Daniel Barlow
9c22744850
deep thoughts
2024-03-16 20:16:49 +00:00
Daniel Barlow
c697be8c28
temporary fix for cmake cross-compilation
2024-03-16 20:16:49 +00:00
dan
202a37221a
Merge pull request 'tftpboot: use commandLineDtbNode' ( #11 ) from flokli/liminix:tftpboot-honor-commandLineDtbNode into main
...
Reviewed-on: https://gti.telent.net/dan/liminix/pulls/11
2024-03-16 18:18:18 +00:00
Daniel Barlow
e5963ae3f7
deep thoughts
2024-03-06 23:19:47 +00:00
Daniel Barlow
f164f19d95
service starts and stops
2024-03-06 23:19:47 +00:00
Daniel Barlow
dd4ab41f6a
rename run-event
2024-03-06 23:19:47 +00:00
Daniel Barlow
5d5dff6729
WIP add failing test that service starts
2024-03-06 23:19:47 +00:00
Daniel Barlow
570d29c368
pass command line params to run instead of reffing global
2024-03-06 23:19:47 +00:00
Daniel Barlow
725af00dc9
improve test for dummy0 up
...
if we run off the end of the events fixture, it didn't work
2024-03-06 23:19:47 +00:00
Daniel Barlow
e1b932ec27
remove hardcoded filename in test event generator
2024-03-06 23:19:47 +00:00
Daniel Barlow
7173b6fb1c
don't call os.exit
2024-03-06 23:19:47 +00:00
Daniel Barlow
ed9548f21d
pass event producer fn as param
2024-03-06 23:19:47 +00:00
Daniel Barlow
0787807a7f
ifwait: don't run on load if in test harness
2024-03-06 23:19:47 +00:00
Daniel Barlow
38ed91f641
simplify assertion
2024-03-06 23:19:47 +00:00
Daniel Barlow
ffe9603c39
remove file-scoped parameters var
2024-03-06 23:19:47 +00:00
Daniel Barlow
cbd3dfefc5
ifwait fixture/test harness
2024-03-06 23:19:47 +00:00
Daniel Barlow
018c1868b5
ifwait: use anoia.assoc
2024-03-06 23:19:47 +00:00
Daniel Barlow
5184ff63f7
add anoia.nl, a convenience wrapper on netlink
2024-03-06 23:19:47 +00:00
Daniel Barlow
35909c9a23
add netlink to fennelrepl
2024-03-06 23:19:47 +00:00
Daniel Barlow
4383462199
deep thoughts
2024-03-06 23:19:47 +00:00
Daniel Barlow
9730cdd63b
add assoc to anoia
2024-03-06 23:19:47 +00:00
dan
095853214b
Merge pull request 'Fix kernel build on belkin' ( #10 ) from sinavir/liminix:fix_kernel_build_on_belkin into main
...
Reviewed-on: https://gti.telent.net/dan/liminix/pulls/10
2024-03-06 18:21:13 +00:00
Daniel Barlow
9d6e50cbbc
extract extneder example to a "profile"
...
this is a bit of an experiment to reduce the copy-paste in
examples by turning them into "application" modules.
planning to follow up with another module for "wifi router"
2024-02-27 23:13:12 +00:00
Daniel Barlow
94dbc56595
fix doc
2024-02-27 20:08:30 +00:00
Daniel Barlow
2cd7f932eb
alignment may be null
2024-02-27 19:47:46 +00:00
Daniel Barlow
3ca0d87c27
ci.nix: alphabetise systems
2024-02-21 19:49:14 +00:00
Daniel Barlow
8f30db58ae
New port to Zyxel NWA50AX: update NEWS and ci.nix
2024-02-21 19:32:50 +00:00
Daniel Barlow
f9ab0590a6
Merge remote-tracking branch 'raito/nwa50ax'
2024-02-21 19:27:23 +00:00
Daniel Barlow
84fa8d65f4
fennel: system: verbose log of command that was run
2024-02-21 19:27:14 +00:00
Daniel Barlow
9b0149ecb7
deep thoughts
2024-02-21 19:26:33 +00:00
Daniel Barlow
60508f4d4e
update NEWS
...
* Turris Omnia
* possible wifi regressions
2024-02-16 21:00:59 +00:00
Daniel Barlow
ca64e9035e
gl-ar750 ath9k needs cal data from MTD
2024-02-16 20:44:56 +00:00
Daniel Barlow
4bcc3d5b28
dhcpc6 scripts: simplify (and improve correctness)
2024-02-16 18:47:12 +00:00
Daniel Barlow
28fe37d555
deep thoughts
2024-02-16 18:30:54 +00:00
Daniel Barlow
175db9f604
tail -F for rotuer
2024-02-16 18:30:24 +00:00
Daniel Barlow
b5722a0153
gl-ar750: ath10k wireless depends on firmware
...
so make sure the firmware is present _first_
the ath10k is still broken anyway, looking into why
2024-02-16 00:38:36 +00:00
Daniel Barlow and Arnout Engelen
c373152673
make tftpboot work on devices with old u-boot
...
Some devices have a U-boot variant that does not accept a third
parameter on the "bootm" command, meaning we can't override the dtb
in the bootloader so have to smush it back into the kernel image
This doesn't work in QEMU but I think the problem is with the
U-Boot configuration for QEMU. It does work on at least one
hardware device so I'm pushing it anyway
Based on
https://gti.telent.net/raboof/liminix/src/branch/tftp-old-uboot
Co-authored-by: Arnout Engelen <arnout@bzzt.net >
2024-02-15 23:44:47 +00:00
Daniel Barlow
7e7171556f
subdue dnsmasq logs
...
we need to find a better way of doing this. people might _want_
to have All The Logs from evey dns query
2024-02-15 23:43:54 +00:00
Daniel Barlow
6920ee765d
deep thoughts
2024-02-15 09:11:54 +00:00
Daniel Barlow
71a1ef286e
deep thoughts
2024-02-13 22:32:57 +00:00
Daniel Barlow
ffe0e9d26b
use mkstate for dropbear keys
2024-02-13 22:12:26 +00:00
Daniel Barlow
2b22c7aa91
dnsmasq: store dhcp lease file on /persist
2024-02-13 21:54:45 +00:00
Daniel Barlow
3c950704e1
rename /run/service-state to /run/services/outputs
2024-02-13 21:41:43 +00:00
Daniel Barlow
8578a554c7
deep thoughts
2024-02-13 21:11:30 +00:00
Daniel Barlow
3851698d35
fix tftpboot compressed rootfs
2024-02-13 18:16:17 +00:00
Daniel Barlow
f69ebbb6f5
fix doc CI target
2024-02-13 15:41:45 +00:00
Daniel Barlow
16e4b05653
dhcp6c: set preferred and valid address lifetimes
...
also workaround a bug in rebinding/updates where we get an error
from "ip addr add" trying to add an address that's already present
2024-02-13 13:49:12 +00:00
Daniel Barlow
8ac848b1e6
ath10k_pci: wifi modules must be modules
2024-02-13 12:56:03 +00:00
Daniel Barlow
b7efbd3e21
update NEWS file
2024-02-12 21:10:52 +00:00
Daniel Barlow
a654577ac2
improve port-forwarding comment
2024-02-12 21:05:01 +00:00
Daniel Barlow
c50423f689
turris omnia: upgrade to mainline 6.7.4 kernel
...
On this device we don't need the openwrt kernel or patches. The
newer kernel also fixes the weird one minute pause at boot when
it was doing something with either mmc or switch.
2024-02-12 20:43:01 +00:00
Daniel Barlow
65479e206b
use regular kernel not backports for mac80211
...
the kernel on most devices is now newer than the version that the
backported drivers were backported from
2024-02-12 20:41:10 +00:00
Daniel Barlow
79926c6fe7
remove call to deleted package
2024-02-12 14:56:12 +00:00
Daniel Barlow
ae4856ea7c
improve firewall comment
2024-02-12 13:56:56 +00:00
Daniel Barlow
b9c0d93670
build modules at same time as main kernel vmlinux
...
This changes the practice for building kernel modules: now we expect
that the appropriate Kconfig symbols are set to =m in
config.kernel.config, and then use pkgs.kmodloader to create
a service that loads and unloads all the modules depended on by
a particular requirement.
Note that modules won't be installed on the target device just by
virue of having been built: only the modules that are referenced by a
kmodloader package will be in the closure.
An example may make this clearer: see modules/firewall/default.nix
in this commit.
Why?
If you have a compiled Linux kernel source tree and you change some
symbol from "is not set" to m and then run make modules, you cannot in
general expect that newly compiled module to work. This is because
there are places in the build of the main kernel where it looks to see
which modules _may_ be defined and uses that information to
accommodate them.
For example in an in-kernel build of
https://github.com/torvalds/linux/blob/master/net/netfilter/core.c#L689
some symbols are defined only if CONFIG_NF_CONNTRACK is set, meaning
this code won't work if we have it unset initially then try later to
enable it and build modules only. Or see
https://github.com/torvalds/linux/blob/master/include/linux/netdevice.h#L160
2024-02-11 23:47:11 +00:00
Daniel Barlow
11287a8436
allow lan dns queries (ipv6)
2024-02-11 23:32:46 +00:00
Daniel Barlow
57aece0709
rotuer: don't forward queries for local domain
2024-02-11 23:32:46 +00:00
Daniel Barlow
c1d285a220
rotuer: network debugging tools
2024-02-11 23:32:46 +00:00
Daniel Barlow
dce983ec79
move kernel module to its own subdir
2024-02-11 18:15:55 +00:00
Daniel Barlow
812f497660
add kernel.version param to allow for version-specific patches
...
default to 5.15.137 to avoid breaking the devices that don't declare it
2024-02-11 16:19:52 +00:00
Daniel Barlow
1206d02200
rotuer-secrets: remove root_password, add wifi ssid and domainName
...
this is step one towards getting rid of rotuer-secrets completely and
turning rotuer into a "profile" module that can be less hackily
customised for other people's networks
2024-02-11 15:56:14 +00:00
Daniel Barlow
7c196bf9b4
rotuer: make 5GHz wifi faster
...
VHT doesn't work unless HT is enabled, apparently
2024-02-11 15:38:19 +00:00
Daniel Barlow
86d19c54b3
turris omnia kernel: add RTC, i2c mux, eeprom
2024-02-09 22:34:46 +00:00