Daniel Barlow
045f10e79b
build kexec statically
2023-03-24 17:12:19 +00:00
Daniel Barlow
e84285e576
remove second copy of lua
2023-03-23 13:18:05 +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
9f9558c9e8
style: let inherit fetchpatch
2023-03-18 14:30:10 +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
a8cb872859
add service name to log lines
2023-03-04 23:08:25 +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
fd500041fa
move new packages to pkgs/default.nix
2023-03-03 22:21:27 +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
59ce03630a
consistent ownership/permissions for /run/service-state/**
2023-02-25 22:53:06 +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
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
05576eeb94
harcode paths for kpppoed, add port num in config
2023-02-17 00:09:02 +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
4addcbbd51
turn run-qemu.sh script into mips-vm buildEnv command
2023-02-08 22:17:06 +00:00
Daniel Barlow
cc7daeabb3
add routeros to overlay
2023-02-08 18:13:35 +00: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
20b9eb16ec
make dnsmasq smaller
...
remove dependency on nettle -> gmp -> glibc
2022-10-08 20:05:17 +01:00
Daniel Barlow
8da5a88e07
build real lzma
2022-10-05 18:19:09 +01:00
Daniel Barlow
e7987c9520
add build-host tftp server
2022-10-04 23:08:43 +01:00
Daniel Barlow
c320d0afc7
add dnsmasq and example config for it
...
would be good to move more of this into a module, but that
doesn't sit well with the (potential) ability to run more than one
dnsmasq service, as modules are singletons
2022-09-28 21:33:18 +01:00
Daniel Barlow
e2650aa162
add pppoe derivation, replacing override
...
we use a custom installPhase so we don't drag in a bunch of
scripts that we don't need and don't work
2022-09-27 22:04:22 +01:00
Daniel Barlow
4cbe669783
move make-image to subdirectory
2022-09-27 16:47:42 +01:00
Daniel Barlow
797aa30c47
make s6-init-files into a module
2022-09-27 10:19:44 +01:00
Daniel Barlow
c6c6b51893
make s6-rc-database a package
2022-09-26 15:59:21 +01:00
Daniel Barlow
d5ccecf038
make "shutdown" work
...
create a package for the s6-compatible shutdown/halt/poweroff
commands and put it on the path ahead of busybox
2022-09-26 14:13:23 +01:00
Daniel Barlow
676c94782b
separate files for networking and services
2022-09-26 12:26:54 +01:00
Daniel Barlow
01aa423dad
pkgs.writeAshScript is similar to writeShellScript but busybox
2022-09-25 20:50:20 +01:00
Daniel Barlow
c1835d97ee
add pppoe
2022-09-25 11:54:31 +01:00
Daniel Barlow
e46abbccca
put liminix-tools in package overlay
2022-09-22 11:10:41 +01:00
Daniel Barlow
45025f128a
switch to s6-linux-init and s6-rc
...
This is at the point where it runs a getty and a pile of s6-supervise
processes, though it doesn't seem to run the things being supervised
2022-09-21 23:01:21 +01:00
Daniel Barlow
4b118bca19
generate a mips squashfs with some s6-rc services
...
haven't even tried booting it but I don't expect it to work. Needs
- s6-linux-init or some other pid 1 program
- a kernel
2022-09-19 23:51:38 +01:00