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