Commit Graph
100 Commits
Author SHA1 Message Date
Daniel Barlow 43f1fb230b remove unrecoginsed earlyprintk param from kernel commandline 2023-03-10 00:50:28 +00:00
Daniel Barlow d83bcc643e add wifi firmware, move things around in ram
* at the base address we were using, the filesystem was getting
corrupted presumably because the kernel unpacked into it

* leave a little more space between compressed kernel and
squashfs. this is probably ineffective but also harmless
2023-03-10 00:48:47 +00:00
Daniel Barlow f50b0627a2 gl-mt300n-v2: initialize switch & define networkInterfaces
It booted and mounted rootfs the first time I tried, which
was nice. Wireless doesn't work yet, it needs firmware
2023-03-09 19:30:57 +00:00
Daniel Barlow 91c0147919 set hostname before dhcp client runs 2023-03-08 22:11:59 +00:00
Daniel Barlow 2318c54037 blah 2023-03-08 21:00:12 +00:00
Daniel Barlow 95e14b5c05 extract secrets for extneder 2023-03-08 20:37:08 +00:00
Daniel Barlow f36d8ef1d0 make mt300a flash-ready 2023-03-08 20:35:41 +00:00
Daniel Barlow 85b5edc39d vlan interfaces depend on parent 2023-03-08 20:34:39 +00:00
Daniel Barlow d290965711 shuffle kernel config for gl-mt300a 2023-03-07 22:49:33 +00:00
Daniel Barlow 03a6d62d49 new todo list 2023-03-07 22:36:48 +00:00
Daniel Barlow bfbbe00d58 describe role of flash config 2023-03-07 22:36:48 +00:00
Daniel Barlow 8611dab602 unadvisable use of cat 2023-03-07 22:36:48 +00:00
Daniel Barlow fec77a44b5 DRY loopback interface, it's the same everywhere 2023-03-07 22:36:48 +00:00
Daniel Barlow 0436025e91 example config for "wireless extender" role 2023-03-07 21:33:01 +00:00
Daniel Barlow e8d5e4c788 move regulatory.db to wlan module 2023-03-07 21:32:21 +00:00
Daniel Barlow b65a405a43 wibble 2023-03-07 19:11:46 +00:00
Daniel Barlow 70f8f5ecfd remove hostapd debugging flag 2023-03-07 19:11:25 +00:00
Daniel Barlow c046c39613 wlan support for mt300a 2023-03-07 19:11:12 +00:00
Daniel Barlow e86e9430fc vlans and mt300a wired network interfaces 2023-03-07 19:10:12 +00:00
Daniel Barlow 06687a819a udhcpc notify when ready 2023-03-07 19:06:40 +00:00
Daniel Barlow f9f9720ba7 ${!foo} doesn't work in ash, switch to printenv 2023-03-07 19:05:58 +00:00
Daniel Barlow 4596bc3e88 build smaller versions of hostap and nftables 2023-03-06 17:49:59 +00:00
Daniel Barlow aa5f8c07e6 don't patch s6 if new enough not to need it 2023-03-06 17:49:11 +00:00
Daniel Barlow 1565a8414d remove inadvertant references to bash 2023-03-06 17:48:31 +00:00
Daniel Barlow 83e56a3a90 add swconfig package 2023-03-05 22:32:56 +00:00
Daniel Barlow 2787e6a230 reformat qprint substitutions 2023-03-05 21:33:51 +00:00
Daniel Barlow a8cb872859 add service name to log lines 2023-03-04 23:08:25 +00:00
Daniel Barlow 5427456c21 rename notificationFd to notification-fd
it's perfectly valid syntax and consistent with the s6 spelling
2023-03-04 21:19:30 +00:00
Daniel Barlow 08bed15cf8 ssh service
- dropbear
- generate host keys on first use
- mount /dev/pts

It's not ideal having the host key disappear when the device is
reboot, but without persistent storage the alternative is generating
it at build time. Deferring this problem to another time
2023-03-04 12:10:06 +00:00
Daniel Barlow e1eb4e1fcb oops 2023-03-04 00:35:40 +00:00
Daniel Barlow a3cdc32142 define structured options for config.users 2023-03-04 00:24:48 +00:00
Daniel Barlow 25a46dcb2c escape $ in pseudofile
this is needed to write /etc/passwd when it contains $5$....
strings
2023-03-04 00:23:21 +00:00
Daniel Barlow 38756af1c1 add in_outputs shell function which ensures umask is set 2023-03-03 23:07:03 +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 263882cbe4 move dts config option from boot to device 2023-03-03 22:43:44 +00:00
Daniel Barlow fd500041fa move new packages to pkgs/default.nix 2023-03-03 22:21:27 +00:00
Daniel Barlow c9f55ba177 delete unused file 2023-03-03 21:38:43 +00:00
Daniel Barlow d75437d577 note to self: check if these kconfig options still needed 2023-03-03 20:08:12 +00:00
Daniel Barlow d782970313 delete commented-out code 2023-03-03 20:08:04 +00:00
Daniel Barlow bbd699d7b1 add module for device-specific config
in principle this module declares the config that's defined in
devices/foo/default.nix
2023-03-03 20:04:39 +00:00
Daniel Barlow 0cd1bd99e1 declare device.flash options in base.nix
because they're specified in devices/*/default.nix
2023-03-02 23:28:39 +00:00
Daniel Barlow 6d191b73ae add outputs.flashable - flashable firmware.bin 2023-03-02 23:01:26 +00:00
Daniel Barlow 0cab6e9fba rename phram -> tftpboot and flash.scr to boot.scr 2023-03-02 15:11:12 +00:00
Daniel Barlow adc198b3af WIP push to see what passes 2023-03-01 22:24:58 +00:00
Daniel Barlow 259f5c767b ath10k kernel support and and firmware
- some firmware from kvalo repository
- a service to extract calibration data ART partition
- missing kernel symbol to enable PCI support
2023-03-01 21:08:47 +00:00
Daniel Barlow fc4f726dd6 make hostapd service depend on its interface 2023-03-01 18:16:01 +00:00
Daniel Barlow 41ff5a1fe6 move FW_LOADER* config to modules/base 2023-03-01 18:16:01 +00:00
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