Daniel Barlow
591bd78509
extract writeKconfig to its own file
2023-06-26 20:49:43 +01:00
Daniel Barlow
15be80e9de
remove dead config option
2023-06-22 17:46:57 +01:00
Daniel Barlow
bc62f7df45
remove rsync openssl dependency
2023-06-22 17:34:44 +01:00
Daniel Barlow
26cb331d8b
remove dead config optiuon
2023-06-22 16:56:30 +01:00
Daniel Barlow
5e45817f98
example rotuer-secrets
2023-06-22 16:54:24 +01:00
Daniel Barlow
943820d4dd
add doc note about finding supported devices
2023-06-22 10:06:40 +01:00
Daniel Barlow
fc620df322
thunk
2023-06-22 09:40:27 +01:00
Daniel Barlow
6bc45c2b55
preinit: null-terminate argv array for execve
2023-06-22 09:29:44 +01:00
Daniel Barlow
b898364719
extend timeout for pppoe test
2023-06-20 23:39:46 +01:00
Daniel Barlow
0896c9c1d3
remove non-building ntp service from test config
2023-06-20 22:15:38 +01:00
Daniel Barlow
b002a94e07
rotuer: use firewallgen to make packet filter rules
2023-06-20 20:20:32 +01:00
Daniel Barlow
d79a1e15bb
get fennel from source instead of luarocks
2023-06-20 20:19:11 +01:00
Daniel Barlow
340f7211ef
remove unused packages
2023-06-20 20:13:59 +01:00
Daniel Barlow
3dd247a719
update arch for gl-ar750
...
not sure this is needed, tbh
2023-06-20 20:11:25 +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
a7e7146887
preinit: disable nolibc
...
- it stopped working with 22.11->23.05
- linking statically against musl is about 17k, so
this is costing us 11k or so
2023-06-18 23:04:26 +01:00
Daniel Barlow
d66f5901a2
fix nftables syntax
2023-06-18 22:18:44 +01:00
Daniel Barlow
a65bb9d585
improve file-exists? function
2023-06-18 17:41:09 +01:00
Daniel Barlow
80639a7256
add firewallgen package, which creates an nft script
2023-06-18 17:40:16 +01:00
Daniel Barlow
994cca671b
þe saga continueth
2023-05-31 23:30:41 +01:00
Daniel Barlow
3f4dbfcfd3
ipv6 prefix delegation for rotuer
...
much tidying needed, but it works
2023-05-31 23:29:05 +01:00
Daniel Barlow
d82173133c
odhcpc script: mkdir
2023-05-30 21:00:20 +01:00
Daniel Barlow
19212b1eeb
add funky dd features reqd by ath10k_cal_data
2023-05-30 18:20:42 +01:00
Daniel Barlow
cb30ce52eb
rotuer: use writeFennelScript for odhcpc update script
2023-05-30 18:20:14 +01:00
Daniel Barlow
fdffdbb22a
add writeFennelScript function, make ifwait use it
2023-05-29 20:20:12 +01:00
Daniel Barlow
fa7e682e87
dhcp6c readiness notification
2023-05-26 18:36:44 +01:00
Daniel Barlow
447f068569
partly support getting IPv6 addresses
...
- gets interface id from ppp
- runs odhcpc to get RA and prefix delegation
- doesn't do anything useful with the data yet
2023-05-24 23:01:50 +01:00
Daniel Barlow
339c2d9873
upgrade to ppp 2.5.0
2023-05-22 23:31:57 +01:00
Daniel Barlow
3f6585f6be
mention min-copy-closure
2023-05-22 00:27:41 +01:00
Daniel Barlow
e83b33686f
typo
2023-05-22 00:20:52 +01:00
Daniel Barlow
35a5605266
improve(?) markup
2023-05-22 00:14:32 +01:00
Daniel Barlow
4429f2b177
grammar
2023-05-21 23:48:10 +01:00
Daniel Barlow
43fa9f0679
link to OpenWrt serial console docs
2023-05-21 23:41:42 +01:00
Daniel Barlow
805c2f7984
update CoC
2023-05-21 23:31:28 +01:00
Daniel Barlow
7bcf6b15c3
declare build product
2023-05-21 21:27:52 +01:00
Daniel Barlow
7020fa99ee
build manual in CI
2023-05-21 20:53:05 +01:00
Daniel Barlow
bc27f121d9
/etc/ashrc for interactive non-login shells
2023-05-21 17:08:32 +01:00
Daniel Barlow
0173a9ced9
set PATH correctly in ssh sessions
...
for a non=interactive shell ("ssh linminix foo") ash does not source
*any* startup files, so we need to set this to something more useful
than /bin:usr/bin
2023-05-21 17:07:19 +01:00
Daniel Barlow
a48d51ffdc
keep dropbear host keys in /persist if it exists
2023-05-21 12:01:42 +01:00
Daniel Barlow
f249c12bec
cruft
2023-05-20 22:48:30 +01:00
Daniel Barlow
b363840901
min-collect-garbage and next steps
2023-05-20 22:48:05 +01:00
Daniel Barlow
eadd982a79
rotuer: set hostname
2023-05-20 22:34:57 +01:00
Daniel Barlow
39b09df4d7
liminix-rebuild: test if nix-build succeeds
2023-05-20 22:30:22 +01:00
Daniel Barlow
ea2f48cfc9
liminix-rebuild copy nix-store-paths to /persist
2023-05-20 21:55:37 +01:00
Daniel Barlow
b0098f1c8e
move min-list-garbage into min-collect-garbage pkg
...
we don't want it in the same package as min-copy-closure as
that depends on bash
2023-05-20 21:55:23 +01:00
Daniel Barlow
68ab6faeb3
write etc/nix-store-paths in systemConfiguration
2023-05-19 23:57:50 +01:00
Daniel Barlow
00aeb81811
min-list-garbage: check all store paths against file
...
this is step 1 of min-collect-garbage, no point implementing
deletion ourselves when rm -r exists
(arguably no point in implementing any of it, but this is the bit we
can't do efficiently in bourne shell - it means we're reading the
store-paths list once instead of grepping it afresh for every entry in
/nix/store/)
2023-05-19 23:49:11 +01:00
Daniel Barlow
a809c28dde
liminix-rebuild source /etc/profile to get PATH for reboot
2023-05-18 22:43:08 +01:00
Daniel Barlow
292a4c4d46
liminix-rebuild: put activate in /persist
2023-05-17 22:49:10 +01:00
Daniel Barlow
4cb4399a1c
remove standard.nix modues from qemu test
...
qemu kernel can't be configured for CONFIG_MTD_SPLIT_UIMAGE_FW
required by flashimage
2023-05-17 21:51:54 +01:00
Daniel Barlow
07b92b5df3
more thought
2023-05-17 15:38:22 +01:00
Daniel Barlow
aa3b635f61
bordervm: add sshd, usbutils
2023-05-17 15:38:22 +01:00
Daniel Barlow
648ac2eb7f
Document jffs2, min-copy-closure, liminix-rebuild
...
Some of the code is now out of date w.r.t. some of the text
2023-05-17 15:38:22 +01:00
Daniel Barlow
b1f4db00a0
add liminix-rebuild command
2023-05-17 15:38:22 +01:00
Daniel Barlow
b0a0fdcfcc
add "standard" module, which includes flashimage kexec & jffs2
...
most systems need most of these, so it makes writing the docs a
lot easier
2023-05-17 15:38:22 +01:00
Daniel Barlow
6870abfe83
add min-copy-closure to buildEnv
2023-05-11 23:53:25 +01:00
Daniel Barlow
ddd7b68b30
min-copy-closure: remove verbose output
2023-05-11 23:52:13 +01:00
Daniel Barlow
6184148dfd
add example host config for bordervm ethernet
2023-05-10 21:38:46 +01:00
Daniel Barlow
b70c8ee258
support USB ethernet in bordervm
2023-05-09 22:58:56 +01:00
Daniel Barlow
55387b0ee3
extract common shell fns in tests
2023-05-07 23:01:24 +01:00
Daniel Barlow
d8cc6ab61c
eth1 is lan in qemu
2023-05-07 22:52:09 +01:00
Daniel Barlow
cc6c790746
set up path for min-copy-closure
2023-05-07 22:51:10 +01:00
Daniel Barlow
bcf5dac5d7
min-copy-closure: honour $SSH_COMMAND env var
2023-05-07 22:07:35 +01:00
Daniel Barlow
1c002c4065
min-copy-closure: improve output
2023-05-07 22:06:49 +01:00
Daniel Barlow
2af8f2382a
test min-copy-closure
2023-05-07 22:02:10 +01:00
Daniel Barlow
74f2aa6247
initramfs-peek: an initramfs image with a shell, for debugging
2023-05-06 23:03:51 +01:00
Daniel Barlow
888a0d5f74
mips-vm: allow env var to override la network interface
...
this is handy if you want to connect to it from the host
for e.g. seeing if min-copy-closure works
2023-05-06 23:01:56 +01:00
Daniel Barlow
30153a2d4e
add min-copy-closure, a minimal nix-copy-closure substitute
2023-05-06 22:47:03 +01:00
Daniel Barlow
67768004ee
erase full flash, it seems to help with jffs2
2023-04-26 22:19:01 +01:00
Daniel Barlow
26c6eac937
delete config boot.tftp.enable as it doesn't enable anything
2023-04-26 22:18:23 +01:00
Daniel Barlow
4cfaed7303
specify root device as /dev/mtdblockn
...
the (openwrt?) magic that autodetects it based on mtd labels
won't work with a two-stage boot
2023-04-26 22:16:15 +01:00
Daniel Barlow
6d6dbe1cbb
tftpboot: allow padding image with freeSpaceBytes
...
this is useful for writable filesystems so that there's more than
an erase block of space to write into
2023-04-26 22:15:19 +01:00
Daniel Barlow
151dc88c28
little evidence of thinking
2023-04-23 21:24:37 +01:00
Daniel Barlow
2f3b108ef1
tftpboot: set phram erase block size to match hardware
...
this is needed for tftp boot with a jffs2 filesystem
2023-04-23 21:24:37 +01:00
Daniel Barlow
6adab44fcf
rotuer; run chronyd for accurate time
2023-04-23 20:56:20 +01:00
Daniel Barlow
4342d3403f
make rotuer example build again
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
2c4f8b823e
remove jffs2boot target
...
It's not needed now initramfs is compiled into the kernel.
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
99af416e14
use /bin/sh for init scripts
2023-04-19 21:41:05 +01:00
Daniel Barlow
ad3ef53171
ntp: don't install manpages, docs etc
2023-04-18 23:57:15 +01:00
Daniel Barlow
65dfbad365
systemconfig: chown files if uid/gid > 0
2023-04-15 22:53:28 +01:00
Daniel Barlow
5dd0c6e3c0
rewrite preinit as very small C program
...
By using the kernel "nolibc" header to avoid requiring a C library, we
can bring the initramfs size to around 4k
This does involve a tiny bit of inline mips assembly which I'm not
sure about. gcc seems unwilling to generate the code to load $gp at
function entry of main(), so we do it by hand - but I'd rather find
out why gcc doesn't.
2023-04-15 18:27:39 +01:00
Daniel Barlow
b1a89ae8c3
jffs2: squash uids, enable lzo compression
2023-04-15 17:23:58 +01:00
Daniel Barlow
11f2715d18
mips-vm: enlarge mtd
2023-04-15 17:22:35 +01:00
Daniel Barlow
1cc0b13b57
rewrite systemconfig in C and link statically
...
systemconfig (a.k.a "activate") is run from the initramfs. Converting
it from a shell script to an executable means it doesn't depend on
there being a shell in the initramfs
2023-04-15 17:21:27 +01:00
Daniel Barlow
c744ef8c17
systemconfig: accept uid and gid options
...
all we do with them is assert they're zero, to unbreak CI.
This code is getting rewritten anyway
2023-04-14 23:19:56 +01:00
Daniel Barlow
9f3c80e774
make initramfs busybox (very slightly) smaller
2023-04-11 23:08:02 +01:00
Daniel Barlow
29c7af5892
set qemu flash erase block size
2023-04-10 22:57:51 +01:00
Daniel Barlow
2566dc564c
remove need for symlinks in initramfs busybox
2023-04-10 22:57:50 +01:00
Daniel Barlow
0ad7b0e48b
don't hardcode mtd0 initramfs->second stage
2023-04-10 22:57:50 +01:00
Daniel Barlow
0a2881914b
set erase block size to something that works for jffs2
2023-04-10 22:57:50 +01:00
Daniel Barlow
4638092d3d
build initramfs into kernel
...
this doesn't matter for qemu, but there's no other way of
getting a hardware device to find it if the bootloader
won't co-operate
2023-04-10 22:57:50 +01:00
Daniel Barlow
633a4f8003
move BLK_DEV_INITRD to base.nix
2023-04-10 22:57:50 +01:00