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
Daniel Barlow
026932a745
add unix-domain socket support
...
this is a curious config option to default to "n", I think
2022-10-18 15:48:37 +01:00
Daniel Barlow
3ff9e49085
enable eth1
2022-10-18 15:48:29 +01:00
Daniel Barlow
c2bcf2dd3e
fixup 4b513cd
2022-10-18 15:47:27 +01:00
Daniel Barlow
45d52a6c99
tidy kconfig a bit
2022-10-16 15:31:10 +01:00
Daniel Barlow
4b513cdb98
use openwrt kernel for gl-ar750
2022-10-16 15:15:18 +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
fa31d00d6a
openwrt ag71xx as module
2022-10-15 16:28:19 +01:00
Daniel Barlow
7d1c85f680
kernel: enlarge offset to rootfs, disable sysfs devlink
...
the ag71xx driver doesn't probe with fw_devlink enabled
2022-10-15 16:11:40 +01:00
Daniel Barlow
70fa328574
support out-of-tree module builds in vmlinux derivation
...
run "make modules_prepare" to create scripts/modules.lds
2022-10-09 09:55:30 +01:00
Daniel Barlow
2276c548ba
name the openwrt source tree so we can find it in /nix/store
2022-10-09 09:53:55 +01:00
Daniel Barlow
e823e7a29c
HALFARSED enable toggling promptless kconfig symbols
...
Some kernel config symbols we need to enable in some configurations
don't have a "prompt" entry in the Kconfig files, meaning that
make oldconfig (or any other make fooconfig) won't change them.
So we add a Kconfig.local where they can be selected
In this patch we hardcode the required symbol. Next step would be
to generalise so that they could be specified in something like a
config.kernel.hiddenConfig attrset
2022-10-09 09:50:17 +01:00
Daniel Barlow
20b9eb16ec
make dnsmasq smaller
...
remove dependency on nettle -> gmp -> glibc
2022-10-08 20:05:17 +01:00
Daniel Barlow
cd37627cbe
bug
2022-10-08 11:25:57 +01:00
Daniel Barlow
cd1428255b
dear diary
2022-10-08 11:22:31 +01:00
Daniel Barlow
fe7080e75c
kconfig reqd for tmpfs mount, getty baud rate to = gl-ar750 u-boot
2022-10-07 23:26:24 +01:00
Daniel Barlow
1c39da8544
tidy kconfig
2022-10-07 23:26:00 +01:00
Daniel Barlow
8e8c34b3fa
gl-ar750: frob kernel config for ttyS0 (SERIAL_OF_PLATFORM)
2022-10-07 23:24:36 +01:00
Daniel Barlow
423cf4cbee
WIP gl-ar750 mounts root fs and starts pid 1
...
but still can't open /dev/console so it panics quite quickly
2022-10-07 00:26:32 +01:00
Daniel Barlow
5feda1a1e6
add 'phram' param for tftp boot without flashing
2022-10-07 00:24:35 +01:00
Daniel Barlow
e78028e58f
make outputs.directory useful for tftp-booting devices
...
basically, add some more symlinks to it
2022-10-07 00:23:04 +01:00
Daniel Barlow
58c287ef6a
add config option for kernel commmand line
2022-10-07 00:21:04 +01:00
Daniel Barlow
af79e1e9e9
build dtb (forgot to commit this file?)
2022-10-07 00:19:29 +01:00
Daniel Barlow
1bd35a1edd
enable config for items in checkedConfig
...
don't make me have to write them twice
2022-10-07 00:18:37 +01:00
Daniel Barlow
67c21e51d7
gl-ar750: boots
2022-10-05 21:58:39 +01:00
Daniel Barlow
309bb0db2d
qemu kernel: choose an endianness
...
more than mildly surprised this wasn't causing it to
report some kind of error, tbh
2022-10-05 21:57:38 +01:00
Daniel Barlow
4c2e460042
qemu: remove =m kconfig to shorten build times
...
it's not as though we're using any of the modules anyway
2022-10-05 21:55:31 +01:00
Daniel Barlow
9cbffdab50
add support for OpenWrt device trees
2022-10-05 21:52:30 +01:00