Commit Graph
100 Commits
Author SHA1 Message Date
Daniel Barlow 7195cb10ce add structured config for common pppoe options 2024-07-23 09:31:34 +01:00
Daniel Barlow 135a445672 restore param removed by deadnix
dochain is called with `family` even if it never uses it
2024-07-16 20:41:21 +01:00
Daniel Barlow 3899daee56 create a module for round-robin 2024-07-15 22:37:37 +01:00
Daniel Barlow b17f623d03 need insmod when we habve kmodloader 2024-07-15 22:35:26 +01:00
Daniel Barlow df395a4d5d finish moving pkgs.linimix.callService to config.system 2024-07-15 19:00:08 +01:00
Daniel Barlow 75e9f8210c remove the fixpoint we didn't need 2024-07-15 18:54:04 +01:00
Daniel Barlow 1c3242cab1 doc: swap order of configuration and installation
you can get a device up and running using a lightly edited example
config before you need to read all the reference info, so let's
have the documentation in that order.
2024-07-14 12:26:07 +01:00
Daniel Barlow 44ea683391 think 2024-07-14 12:08:02 +01:00
Daniel Barlow 725d8b608f huawei-cdc-ncm kernel driver -> module 2024-07-14 12:07:28 +01:00
Daniel Barlow bc9ced5d38 fix doc ref from admin section -> configuration 2024-07-14 11:56:35 +01:00
Daniel Barlow 73ae7788b9 rename wwan-related modules/services
we only currently support huawei e3372/cdc ncm so let's make that
explicit in the naming
2024-07-14 11:53:45 +01:00
Daniel Barlow d34919766a improve reinstallation docs 2024-07-12 18:38:04 +01:00
Daniel Barlow 2fe0cd2f48 add first draft instructions for using Levitate 2024-07-12 00:17:25 +01:00
Daniel Barlow 241f1013ed add new Installation guide
move the u-boot/serial stuff here from development, as the
reality of Liminix development in 2024 is that serial connection
is still the smoothest installation method
2024-07-11 23:31:00 +01:00
Daniel Barlow 2ce361d4e3 think 2024-07-11 09:39:38 +01:00
Daniel Barlow 3f8cc24dcc fix most doc warnings 2024-07-10 23:36:24 +01:00
Daniel Barlow 57e3b449f8 proofreading 2024-07-10 21:23:24 +01:00
Daniel Barlow 3964505131 some notes on services 2024-07-10 20:50:08 +01:00
Daniel Barlow 941479b144 use round-robin failiover in l2tp example 2024-07-08 22:01:54 +01:00
Daniel Barlow ac551536da set cwd before exec xl2tpd 2024-07-08 21:56:26 +01:00
Daniel Barlow 6f908156af fix dependency between modem-atz and modeswitch
for values of "fix" more than slightly reminiscent of "kludge"
2024-07-08 21:55:05 +01:00
Daniel Barlow 534a49e827 s6-rc-round-robin
runs services in order, starting the next one when the previous one
dies or fails to start
2024-07-08 21:53:51 +01:00
Daniel Barlow 07a6eb73cd set lcp-echo timeout in l2tp 2024-07-08 21:45:54 +01:00
Daniel Barlow 159bfa3057 make xl2tpd quit when the connections close 2024-07-08 21:44:15 +01:00
Daniel Barlow 8f0ab5be40 enable tail -F 2024-07-08 21:37:07 +01:00
Daniel Barlow 7f9971512d a6-rc-up-tree: handle blocked deps, exit 1 if nothing started 2024-07-08 21:28:31 +01:00
Daniel Barlow f0f6cc80d7 remove dead code 2024-07-08 21:28:11 +01:00
Daniel Barlow afcc6a6436 s6-rc-up-tree pass -b to s6-rc command 2024-07-08 21:27:54 +01:00
Daniel Barlow 2e8e05f31a wip: rewrite s6-rc-up-tree in an actual procgramming language
and write some tests for it, too
2024-07-08 21:27:42 +01:00
Daniel Barlow 143137cbc6 pppoe: set lcp echo failure timeout 2024-07-08 21:25:42 +01:00
Daniel Barlow 8d228f2bef mess with redial 2024-07-08 21:24:44 +01:00
Daniel Barlow 5751058d59 gl-ar750 swap lan and wan
I don't know if I just got it wrong the first time or if something
weird is going on
2024-07-08 21:19:30 +01:00
Daniel Barlow 5ac7e1e9b2 write-fennel: set $PATH if lualinux is available 2024-07-08 21:18:02 +01:00
Daniel Barlow c75452549b think 2024-07-08 21:17:12 +01:00
Daniel Barlow 2663f58807 disable security for bordervm "liminix" share
tftp needs to be able to follow symlinks into the store
2024-07-01 20:53:03 +01:00
Daniel Barlow 9dbc285605 build libusb1 without libatomic 2024-06-30 17:52:17 +01:00
Daniel Barlow 8b6aa2134e zyxel dual image; restore deleted params 2024-06-30 17:50:45 +01:00
Daniel Barlow 3df1ec76ff cleanup whitespace and commas
* [] is now [ ]
* {} is now { }
* commas in arglists go at end of line not beginning

In short, I ran the whole thing through nixfmt-rfc-style but only
accepted about 30% of its changes. I might grow accustomed to more
of it over time
2024-06-30 17:16:28 +01:00
Daniel Barlow 0d3218127f remove unused makeWrapper input 2024-06-30 10:46:37 +01:00
Daniel Barlow e94bf62ec1 remove dead code (run deadnix) 2024-06-29 22:59:27 +01:00
Daniel Barlow 16a2499d74 avoid makeWrapper on host, it requires bash 2024-06-29 22:36:05 +01:00
Daniel Barlow d4d8093f97 working l2tp-over-wwan stick example 2024-06-20 10:15:54 +01:00
Daniel Barlow 7c9c801afc rename isTrigger to restart-on-upgrade
we're moving away from "trigger" services to "controller" services,
and "restart-on-upgrade" is the name used by s6-rc
2024-06-16 12:58:06 +01:00
Daniel Barlow c4185617c0 a6-rc-up-tree wait for lock if needed 2024-06-15 15:36:07 +01:00
Daniel Barlow 06d28e9b08 dhcpc handle case when env vars are missing
the notify-script should continue and signal readiness even if one or
more of the outputs it writes are mssing in the environment
2024-06-15 15:34:49 +01:00
Daniel Barlow 9540fc2641 add writeAshScriptBin (forgot to add file) 2024-06-15 15:04:56 +01:00
Daniel Barlow adc84108ad Revert "wwan gets address from ppp ipcp not dhcp"
This reverts commit be13ab23ca.
2024-06-15 15:04:33 +01:00
Daniel Barlow eae99051fa exec devout in service definition
makes little practical difference but saves a process slot
2024-06-15 15:01:57 +01:00
Daniel Barlow 49d1703428 add s6-rc-up-tree: start reverse deps of controlled service
When s6-rc stops a service, it also stops everything that
depends on it. but when it starts a service it starts only
that service, so we have to go through the other services
depending on it and figure out if they should be started too.
2024-06-15 14:59:34 +01:00
Daniel Barlow 1d337588f9 think 2024-06-15 09:04:19 +01:00
Daniel Barlow 29a869b4fa qemu: use kmodloader for wifi 2024-06-13 10:12:17 +01:00
Daniel Barlow 5ae1b0a193 Revert "bodervm: remove usbutils until we can fix the udev dep"
This reverts commit c22e3fb2ef.
2024-06-12 20:58:13 +01:00
Daniel Barlow 473a4947a5 inout test: wait longer for disk to appear 2024-06-12 20:44:03 +01:00
Daniel Barlow 50bad5c604 libusb needs udev on build
this is a workaround to make CI work again, but what we really need to
do is completely separate the nixpkgs used for nixos build-system
tools from the nixpkgs we use for liminix host binaries
2024-06-12 18:55:30 +01:00
Daniel Barlow c22e3fb2ef bodervm: remove usbutils until we can fix the udev dep 2024-06-12 13:07:29 +01:00
Daniel Barlow f898e4dca2 remove debug 2024-06-12 13:03:26 +01:00
Daniel Barlow 5121a8563d callService: dependencies are services not names 2024-06-12 12:58:57 +01:00
Daniel Barlow 78be354b6e think 2024-06-12 12:52:52 +01:00
Daniel Barlow be13ab23ca wwan gets address from ppp ipcp not dhcp 2024-06-12 12:51:07 +01:00
Daniel Barlow 4b30cd7a75 think 2024-06-11 14:05:32 +01:00
Daniel Barlow b15542b668 start correct services at boot
- uncontrolled services that are not dependent on a controlled service
- controllers
- _not_ controlled services or any other service that depends on one
2024-06-11 14:04:14 +01:00
Daniel Barlow 6daeaf29a0 flip controller/controlled relationship for wwan services 2024-06-11 14:02:48 +01:00
Daniel Barlow e6ca5ea064 store derivations not just names for service deps
.. also controllers, contents. This is to make it possible (easier)
to work out transitive dependencies at build time
2024-06-11 14:01:06 +01:00
Daniel Barlow e6e4665a18 flip dependencies for triggered/controlled services
Instead of treating the trigger as the "main" service and the
triggered service as subsidary, now we treat the triggered
service as the service and the trigger as "subsidary". This
needs some special handling when we work out which services
go in the default bundle, but it works better for declaring
dependencies on triggered services because it means the
dependency runs after the triggered service comes up, not
just when the watcher-for-events starts
2024-06-09 22:37:45 +01:00
Daniel Barlow 2c10790a6d think 2024-06-09 11:19:38 +01:00
Daniel Barlow 571adf84c0 inherit builtins.map 2024-06-07 16:55:45 +01:00
Daniel Barlow c8c79fd75a update all calls to uevent-watch 2024-06-02 20:42:09 +01:00
Daniel Barlow 884d8d194e wrap uevent-watch in a service 2024-06-02 20:42:09 +01:00
Daniel Barlow f091bbd706 devout: recognise attr,attrs when parsing search term string 2024-06-01 23:48:05 +01:00
Daniel Barlow 37d7e20582 wwan use uevent-watch to find tty for AT commands 2024-06-01 23:47:20 +01:00
Daniel Barlow 04b068f7a3 delete unused code 2024-06-01 22:43:48 +01:00
Daniel Barlow 53f57c1a8c devout: support sysfs attributes for (grand*)parent device 2024-06-01 22:43:27 +01:00
Daniel Barlow 19aba0d873 devout: support search for sysfs attributes 2024-06-01 21:20:41 +01:00
Daniel Barlow 7d00b39249 rename attributes->properties when referring to uevent fields
properties: key-value pairs in the uevent message
attributes: file contents in sysfs
2024-06-01 12:17:49 +01:00
Daniel Barlow 7aa8633cde think 2024-06-01 12:16:21 +01:00
Daniel Barlow 58bec8a40f semi-automate tftpbooting with minicom 2024-05-26 18:03:32 +01:00
Daniel Barlow a3fca5bf05 devout: add functions to read sysfs attributes 2024-05-26 18:03:32 +01:00
Daniel Barlow e0bd7aec1e wwan: hook usb-modeswitch to uevent 2024-05-26 18:03:32 +01:00
Daniel Barlow e815f61bb5 think 2024-05-26 18:00:31 +01:00
Daniel Barlow af9200a136 skip symlink handing unless linkname was provided 2024-05-26 18:00:31 +01:00
Daniel Barlow 898958fa10 make a serviceDefn for wwan 2024-05-22 18:54:49 +01:00
Daniel Barlow fa0f262706 commentary 2024-05-22 18:54:49 +01:00
Daniel Barlow 71aeb27b2f add hacky wwan service with hardcoding all over 2024-05-22 18:54:49 +01:00
Daniel Barlow 530b4080c9 create cdc-ncm module 2024-05-22 18:54:49 +01:00
Daniel Barlow 58cd007ccc barebones usb_modeswitch package 2024-05-22 18:54:49 +01:00
Daniel Barlow 3a56798eb5 l2tp set default route via tunnel 2024-05-22 18:54:49 +01:00
Daniel Barlow 758c7ef657 exec xl2tpd
haven't fully worked out why, but without this s6 is unable to stop it.
2024-05-22 18:54:49 +01:00
Daniel Barlow 73225a70b2 add rudimentary l2tp service module 2024-05-22 18:54:49 +01:00
Daniel Barlow ab304dd3f1 bordervm enable nat 2024-05-22 18:47:37 +01:00
Daniel Barlow 0d49f0f7a7 gl-ar750 appendDTB 2024-05-22 18:47:16 +01:00
Daniel Barlow e64390460a memorable net device names for gl-ar750
linux's view of eth1 and eth0 are opposite to that of u-boot
2024-05-22 18:47:08 +01:00
Daniel Barlow c0ef6ce282 list pkgs we need in bordervm build
it's a bit silly trying to build it with the whole liminix overlay
when it's a nixos system not a liminix system
2024-05-22 18:45:35 +01:00
Daniel Barlow bd6ec5201f run dhcp server on bordervm
this is for testing clients that have dhcp upstream
2024-05-22 18:45:35 +01:00
Daniel Barlow b4068da9fe tftp addresses 2024-05-22 18:45:35 +01:00
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