Commit graph

59 commits

Author SHA1 Message Date
Daniel Barlow
f08c10c8ba patch u-boot to add ubifs support
not that we're using it yet
2023-12-04 23:39:27 +00:00
Daniel Barlow
cb6ebbdc60 alphabetize derivations in overlay 2023-12-02 17:08:59 +00:00
Daniel Barlow
a135cb1217 introduce lim, the liminix library
so far we have lim.parseInt, which parses an integer from a string
with optional base-selecting-prefix (e.g. 0755, 0x12ab)
2023-11-05 15:13:06 +00:00
Daniel Barlow
c5c5f1687a patch qemu to load uncompressed ARM kernels at correct offset 2023-11-05 11:32:47 +00:00
Daniel Barlow
74b8c98aaf kludge fix openssl build 2023-09-12 18:44:43 +01:00
Daniel Barlow
6b28f5dd79 chrony: drop privileges 2023-08-27 22:40:49 +01:00
Daniel Barlow
682183a88d move typeChecked into pkgs.liminix.lib 2023-07-14 20:22:29 +01:00
Daniel Barlow
41687e916d rename luaSmall package to lua 2023-07-02 18:19:54 +01:00
Daniel Barlow
bc62f7df45 remove rsync openssl dependency 2023-06-22 17:34:44 +01:00
Daniel Barlow
c1ba067fad remove deps from chrony
it's trying to build Perl and all manner of stuff that for
our purposes I don't think we need
2023-06-20 20:09:17 +01:00
Daniel Barlow
435a36f267 delete unused derivations in overlay 2023-06-20 20:06:36 +01:00
Daniel Barlow
ce207e4763 chronyd: disable editline
it drags in ncurses, which is Too Much
2023-06-19 21:37:06 +01:00
Daniel Barlow
339c2d9873 upgrade to ppp 2.5.0 2023-05-22 23:31:57 +01:00
Daniel Barlow
6adab44fcf rotuer; run chronyd for accurate time 2023-04-23 20:56:20 +01:00
Daniel Barlow
28264febdb add smaller-than-gnu "hello world" package 2023-04-23 20:56:20 +01:00
Daniel Barlow
3595e36294 workaround for huge musl binaries
something in our configuration is causing gcc to generate binaries
in excess of 68K for "hello world". hardeningDisable seems to stop it
doing that, turning it on for s6 which writes _lots_ of binaries
but would be good to get to the bottom of this

https://discourse.nixos.org/t/crosscompilation-to-musl32-problems/3110
may have more
2023-04-22 23:04:03 +01:00
Daniel Barlow
245bf534e6 refactor: inline definition 2023-04-22 23:03:36 +01:00
Daniel Barlow
3feb8eb5f9 shrink hostap, build it without openssl 2023-04-22 22:17:35 +01:00
Daniel Barlow
c7aa8c7756 some notes on how we couldn't make it smaller 2023-04-19 22:03:18 +01:00
Daniel Barlow
c6b8a8488f build s6 with shared libraries 2023-04-19 21:44:06 +01:00
Daniel Barlow
ad3ef53171 ntp: don't install manpages, docs etc 2023-04-18 23:57:15 +01:00
Daniel Barlow
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
Daniel Barlow
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
Daniel Barlow
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
Daniel Barlow
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
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