245bf534e6
refactor: inline definition
2023-04-22 23:03:36 +01:00
3feb8eb5f9
shrink hostap, build it without openssl
2023-04-22 22:17:35 +01:00
c7aa8c7756
some notes on how we couldn't make it smaller
2023-04-19 22:03:18 +01:00
c6b8a8488f
build s6 with shared libraries
2023-04-19 21:44:06 +01:00
ad3ef53171
ntp: don't install manpages, docs etc
2023-04-18 23:57:15 +01:00
fe99abc450
shrink rsync
...
remove openssl requirement, it uses it for "optimised assembly
versions" of md5 - but only on x86/arm/sparc not mips anyway
2023-04-10 22:57:50 +01:00
98243d43da
add mtdutils mkfs.jffs2 --graft option
...
we'd like a bit more of the convenience of mksquashfs
(never thought I'd say _that_) for jffs2, in particular
not having to copy all the desired store paths into a
single directory just so we can create an image from them
2023-03-31 23:42:13 +01:00
a172180be8
don't set lua5_3 in overlay
...
sphinx depends on lua5_3, so overriding it globally means rebuilding
that - which isn't really necessary
2023-03-24 23:43:13 +00:00
f5a7b78679
rename kexec-tools-static
...
it doesn't build natively on x86-64 and I don't suppose we need it to
anyway
2023-03-24 20:51:46 +00:00
045f10e79b
build kexec statically
2023-03-24 17:12:19 +00:00
e84285e576
remove second copy of lua
2023-03-23 13:18:05 +00:00
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
9f9558c9e8
style: let inherit fetchpatch
2023-03-18 14:30:10 +00:00
4596bc3e88
build smaller versions of hostap and nftables
2023-03-06 17:49:59 +00:00
aa5f8c07e6
don't patch s6 if new enough not to need it
2023-03-06 17:49:11 +00:00
a8cb872859
add service name to log lines
2023-03-04 23:08:25 +00:00
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
fd500041fa
move new packages to pkgs/default.nix
2023-03-03 22:21:27 +00:00
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
59ce03630a
consistent ownership/permissions for /run/service-state/**
2023-02-25 22:53:06 +00:00
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
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
05576eeb94
harcode paths for kpppoed, add port num in config
2023-02-17 00:09:02 +00:00
e84833e52f
WIP create VM for pppoe and tftpd
2023-02-15 22:06:28 +00:00
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
4addcbbd51
turn run-qemu.sh script into mips-vm buildEnv command
2023-02-08 22:17:06 +00:00
cc7daeabb3
add routeros to overlay
2023-02-08 18:13:35 +00:00
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
20b9eb16ec
make dnsmasq smaller
...
remove dependency on nettle -> gmp -> glibc
2022-10-08 20:05:17 +01:00
8da5a88e07
build real lzma
2022-10-05 18:19:09 +01:00
e7987c9520
add build-host tftp server
2022-10-04 23:08:43 +01:00
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
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
4cbe669783
move make-image to subdirectory
2022-09-27 16:47:42 +01:00
797aa30c47
make s6-init-files into a module
2022-09-27 10:19:44 +01:00
c6c6b51893
make s6-rc-database a package
2022-09-26 15:59:21 +01:00
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
676c94782b
separate files for networking and services
2022-09-26 12:26:54 +01:00
01aa423dad
pkgs.writeAshScript is similar to writeShellScript but busybox
2022-09-25 20:50:20 +01:00
c1835d97ee
add pppoe
2022-09-25 11:54:31 +01:00
e46abbccca
put liminix-tools in package overlay
2022-09-22 11:10:41 +01:00
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
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