Commit Graph

91 Commits (404162ac1ed08cd729fa1b50371597afd0242968)

Author SHA1 Message Date
Daniel Barlow a5cfa37ed3 unify kernel command line handling
We now use MIPS_CMDLINE_DTB_EXTEND for all boot varieties
(tftpboot, flash boot, kexec) with the addition of
MIPS_BOOTLOADER_CMDLINE_REQUIRE_COOKIE - local patch -
so that the bootloader args are ignored unless they
contain the string "liminix"
2023-03-23 22:24:44 +00:00
Daniel Barlow 4b19568f1b add kexecboot
This allows booting a new image from a running OS, creating a
phram mtd for the root squashfs

* enable CONFIG_KEXEC
* add modules/kexecboot
* patch kexec-tools to add --map-file option for the squashfs
* patch kernel kexec code to call new kernel with DTB
2023-03-19 20:25:43 +00:00
Daniel Barlow 429ffa8e7d make applyPatches work for ramips 2023-03-19 20:25:23 +00:00
Daniel Barlow efd878dc5e extract common code for patching kernel source fdorm openwrt 2023-03-18 19:17:58 +00:00
Daniel Barlow a4e1dcedd3 redirect stderr 2023-03-10 23:39:53 +00:00
Daniel Barlow 225fc6fe51 configurable busybox
allows modules to add to the busybox applets and change config
2023-03-10 18:40:45 +00:00
Daniel Barlow 91c0147919 set hostname before dhcp client runs 2023-03-08 22:11:59 +00:00
Daniel Barlow 70f8f5ecfd remove hostapd debugging flag 2023-03-07 19:11:25 +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 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 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 fd500041fa move new packages to pkgs/default.nix 2023-03-03 22:21:27 +00:00
Daniel Barlow adc198b3af WIP push to see what passes 2023-03-01 22:24:58 +00:00
Daniel Barlow fc4f726dd6 make hostapd service depend on its interface 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 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 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 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 05576eeb94 harcode paths for kpppoed, add port num in config 2023-02-17 00:09:02 +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 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 1dc9770dbc turn run-qemu.sh and connect-qemu scripts into buildEnv commands 2023-02-08 22:49:10 +00:00