Daniel Barlow
626a365f79
replace waitup with more generally useful ifwait
...
* wait for $interface present before ip link set up dev
* wait for wlan0 running before adding to bridge
2023-03-01 18:16:01 +00:00
Daniel Barlow
14dacb8056
update netlink-lua to latest
2023-02-28 20:56:19 +00:00
Daniel Barlow
ea2c5e158d
add missing argument
2023-02-26 17:54:58 +00:00
Daniel Barlow
fe1b33f307
example config for ppoe router
...
hard cases make bad law
2023-02-25 23:12:55 +00:00
Daniel Barlow
c37332910a
add option to provide dnsmasq resolv-file from a service
2023-02-25 22:53:50 +00:00
Daniel Barlow
59ce03630a
consistent ownership/permissions for /run/service-state/**
2023-02-25 22:53:06 +00:00
Daniel Barlow
4bd99df0f1
spew for this week
2023-02-25 20:35:29 +00:00
Daniel Barlow
690cedf00d
better type for config.groups
...
instead of an attrset of anything, specify the expected
structure of each value
2023-02-25 20:33:18 +00:00
Daniel Barlow
228b270385
pppoe: capture nameserver addresses as outputs
2023-02-25 20:31:41 +00:00
Daniel Barlow
3b75cadb20
improve bridge support
...
instead of a bridge specifiying its members (not ideal if they're
not all always up), the member interfaces specify their primary
2023-02-24 23:49:05 +00:00
Daniel Barlow
8194e909ac
fix typo, remove debug spew
2023-02-24 23:22:28 +00:00
Daniel Barlow
03aec58c2c
add "waitup", s6 readiness helper for network interfaces
...
run e.g. "waitup wlan0 10" to wait until wlan0 is operationally
up and running, and then send a newline to file descriptor 10
2023-02-24 23:22:28 +00:00
Daniel Barlow
3e1082ad18
allow interface service to specify dependencies
2023-02-22 19:18:59 +00:00
Daniel Barlow
f2e5f65149
add wireless support for hardware devices
...
* gl-ar750 the ath9k works, ath10k is untested
* gl-mt300[an] build but may not boot
2023-02-22 19:17:47 +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
891db9edc5
kernel derivation: add output for module support
2023-02-22 18:33:17 +00:00
Daniel Barlow
e89fcfbf09
collect "device" options into an attrset
2023-02-22 18:31:46 +00:00
Daniel Barlow
a2d8eaf95d
make kernel config visually consistent: symbols are unquoted
2023-02-22 18:28:48 +00:00
Daniel Barlow
4faf529dc3
define kernel MODULE_SIG everywhere
2023-02-22 18:20:56 +00:00
Daniel Barlow
4f5b4924ff
fix bordervm in hydra
2023-02-22 18:14:40 +00:00
Daniel Barlow
cc67116845
link to CoC, mention IRC
2023-02-22 18:14:40 +00:00
Daniel Barlow
423f8aa6d3
add another link I've previously found useful
2023-02-19 18:14:27 +00:00
Daniel Barlow
c7a65625fa
fix markup
2023-02-19 18:14:27 +00:00
Daniel Barlow
10aeb5e464
add notes about dual-band hardware
2023-02-19 18:14:27 +00:00
Daniel Barlow
81ccd11347
gl-ar750: support _actual_ mtd/spi not just fake one
...
the ath9k driver needs MTD because that's where it looks for
firmware/calibration data (ART partition)
2023-02-19 18:13:38 +00:00
Daniel Barlow
817c3793d4
move dts config from kernel to boot
...
The kernel does not need to know about the DTS. I am prepared
to be very slightly injured on this hill.
2023-02-18 15:13:19 +00:00
Daniel Barlow
17ce917af8
TODO
2023-02-18 14:02:22 +00:00
Daniel Barlow
bf68127dc4
explain ppoe-l2tp better
...
though not much better, to be honest
2023-02-17 20:57:05 +00:00
Daniel Barlow
db70623bff
improve markup
2023-02-17 20:54:18 +00:00
Daniel Barlow
0777bb47c0
simplify calling buildEnv
2023-02-17 20:41:55 +00:00
Daniel Barlow
37caac1d56
add shell.nix and tidy docs to take advantage of it
2023-02-17 20:19:45 +00:00
Daniel Barlow
832221748b
explain bordervm
2023-02-17 20:03:57 +00:00
Daniel Barlow
42451a92e0
refine the backlog again
2023-02-17 17:13:38 +00:00
Daniel Barlow
ef0b5cb815
bordervm: make configurable
2023-02-17 16:49:44 +00:00
Daniel Barlow
05576eeb94
harcode paths for kpppoed, add port num in config
2023-02-17 00:09:02 +00:00
Daniel Barlow
40739d780b
convert docs to restructuredText
2023-02-16 22:06:50 +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
8915f828a5
empty doc folder
2023-02-15 23:26:22 +00:00
Daniel Barlow
d948438ae1
extract borderVm config into separate file
2023-02-15 22:06:28 +00:00
Daniel Barlow
a98b266445
remove NIXPKGS_ALLOW_UNSUPPORTED_SYSTEM, no longer needed
2023-02-15 22:06:28 +00:00
Daniel Barlow
ea6b9c8016
bordervm add network debugging utils
2023-02-15 22:06:28 +00:00
Daniel Barlow
9899fa91f6
bordervm static ethernet and tftp server
2023-02-15 22:06:28 +00:00
Daniel Barlow
b438a0fd17
handlersocket must be bound before calling select()
...
this is due to a rather odd (imo) decision in luasocket which
says that the underlying socket (and therefore its file
descriptor) isn't actually created until we call something
that lets it work out whether ipv4 or ipv6
2023-02-15 22:06:28 +00:00
Daniel Barlow
2388e4ca24
recvfrom(-1) is not the same as recvfrom()
2023-02-15 22:06:28 +00:00
Daniel Barlow
f98b9c5c97
add README to say where Tufted came from
2023-02-15 22:06:28 +00:00
Daniel Barlow
1a29e2ba0f
use locally modified tftp.lua instead of upstream tufty
2023-02-15 22:06:28 +00:00
Daniel Barlow
118f78f334
remove "using luasocket" message
2023-02-15 22:06:28 +00:00
Daniel Barlow
a258456f25
check return value of bind
...
is common to forget to run this as root, in which case we would like
to see the permission denied error when it tries to open port 69
2023-02-15 22:06:28 +00:00
Daniel Barlow
71e37f1b96
update listen docstring
2023-02-15 22:06:28 +00:00
Daniel Barlow
55688c14ed
pass remote host and port to callback as params 2..3
...
This allows the callback to handle the response differently
depending on who is asking - for example, to refuse requests
from clients on a blocklist
2023-02-15 22:06:28 +00:00
Daniel Barlow
59c0881235
remove unhelpful debug message
2023-02-15 22:06:28 +00:00
Daniel Barlow
1b372bcb2b
simpler eof handling
2023-02-15 22:06:28 +00:00
Daniel Barlow
b84a6e0aa5
fix poll() to not mutate its parameter
2023-02-15 22:06:28 +00:00
Daniel Barlow
d729709869
remove nixio support
2023-02-15 22:06:28 +00:00
Daniel Barlow
740314b329
added at 3cb95c869e2fe74cc61ca303d88af6c5daad6734
2023-02-15 22:06:28 +00:00
Daniel Barlow
e84833e52f
WIP create VM for pppoe and tftpd
2023-02-15 22:06:28 +00:00
Daniel Barlow
9d651f5851
move files
2023-02-15 22:06:28 +00:00
Daniel Barlow
c298f128fa
refine the TODO list
2023-02-15 22:06:28 +00:00
Daniel Barlow
5b51aa0826
tftp load address is per-device, IP addresses are local config
2023-02-15 22:06:28 +00:00
Daniel Barlow
dd8c8edd9c
rewrite phram boot to use correct sizes and offsets
2023-02-15 22:06:28 +00:00
Daniel Barlow
1a08aaad01
move outputs into a module
2023-02-10 23:10:44 +00:00
Daniel Barlow
0a06319d0c
make loadAddress and entryPoint device configuration
...
... already having second thoughts about loadAddress
2023-02-10 18:20:01 +00:00
Daniel Barlow
8cead61740
convert devices from overlay to module
...
this makes it possible for devices to stash things in
`config` (e.g. pathname to DTS) that can later be overwritten
(even by the end user)
2023-02-10 17:54:33 +00:00
Daniel Barlow
6be459b9ac
thinking
2023-02-10 16:43:06 +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
befc75b060
thunk
2023-02-08 22:50:26 +00:00
Daniel Barlow
c7f508d901
update contributing docs
2023-02-08 22:49:59 +00:00
Daniel Barlow
1dc9770dbc
turn run-qemu.sh and connect-qemu scripts into buildEnv commands
2023-02-08 22:49:10 +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
103d85bdea
fix readme bugs
2023-02-08 18:13:58 +00:00
Daniel Barlow
cc7daeabb3
add routeros to overlay
2023-02-08 18:13:35 +00:00
Daniel Barlow
f356e475d6
add buildEnv to CI so we know next time tufted breaks
2023-02-08 00:12:29 +00:00
Daniel Barlow
78c55d36a9
improve build tool derivations, review README
...
The readme is still very badly organised, but not quite so out of
date.
2023-02-08 00:03:37 +00:00
Daniel Barlow
52d8c03ddd
update tufted for nixpkgs fennel changes
2023-02-07 23:42:19 +00:00
Daniel Barlow
afd9bbbc80
building but untested kernels for gl-mt300a, gl-mt300n-v2
2023-02-06 23:19:53 +00:00
Daniel Barlow
eaf90df56c
per-device dts
2023-02-06 23:19:35 +00:00
Daniel Barlow
cb39209492
fix spelling, remove dead file
2023-02-05 22:42:41 +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
63bf4162b2
licence: remove accidental punctuation, update copyright year
2023-01-29 16:39:50 +00:00
Daniel Barlow
8dc65d2fc8
pass deviceName as hydra input
2023-01-29 14:32:05 +00:00
Daniel Barlow
cb6cc4b858
add jobs to jobset so we can see more easily what fails
2023-01-29 12:42:15 +00:00
Daniel Barlow
64b9bad891
allow building mips (bigendian) without setting env vars
2023-01-29 10:00:13 +00:00
Daniel Barlow
e6a173f71c
make liminix-config a parameter with default
...
this is for hydra
2023-01-29 09:25:03 +00:00
Daniel Barlow
38cc3315b9
liminix-config is a path not an input
2023-01-29 09:11:20 +00:00
Daniel Barlow
eb4efab6a2
might be a hydra config
2023-01-28 23:18:28 +00:00
Daniel Barlow
99d695930f
fix code examples in README
2022-10-19 22:11:22 +01:00
Daniel Barlow
76243d306c
remove checkedConfig, check all the config
2022-10-19 22:09:38 +01:00
Daniel Barlow
9c5b5a54e2
remove unneeded Kconfig.local handling
2022-10-19 18:23:20 +01:00
Daniel Barlow
a834656fef
wot i thunk
2022-10-19 17:36:58 +01:00
Daniel Barlow
0a46ba7fc3
move some wifi-related comments into wlan module
2022-10-19 17:36:31 +01:00
Daniel Barlow
f1b7780537
speed up kernel build
...
by having two separate derivations for patching the kernel source tree
and building it, we have to copy said source trees from one store
location to another which takes non-neglible time on spinning rust
(literally minutes on my machine). Replace with a single derivation
that can do more things on one tree in-place
2022-10-19 17:34:22 +01:00
Daniel Barlow
d1dda7bf74
remove redundant nixpkgs.pkgs
2022-10-19 17:10:35 +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
c6ed5d6f2d
add ipv4/v6 to base kernel config
2022-10-18 18:56:29 +01:00