2
0

1701 Commits

Author SHA1 Message Date
8e36690ae2 Merge remote-tracking branch 'pcc/upg' 2026-05-11 12:19:17 +01:00
6a390fa716 add luad (unused yet) 2026-05-11 12:19:09 +01:00
Peter Collingbourne
b2a7ae4bc4 openwrt: v25.12.1 -> v25.12.3 2026-05-08 02:40:44 -07:00
7e5d1ccf67 fix tests thst need overlay.nix 2026-05-05 20:51:40 +01:00
93125bb09b fix fennel errors in test 2026-05-05 20:50:53 +01:00
43fd9112af Merge remote-tracking branch 'pcc/fix1' 2026-05-05 14:25:43 +01:00
482b60eb91 Merge remote-tracking branch 'pcc/fix5' 2026-05-05 14:18:20 +01:00
875a4ae512 Merge remote-tracking branch 'pcc/fix7' 2026-05-05 14:17:32 +01:00
cf490e8c26 Merge remote-tracking branch 'pcc/fix9' 2026-05-05 14:15:33 +01:00
Peter Collingbourne
b061e6903b anoia: Fix crash if a watched output directory does not exist 2026-05-03 20:18:29 -07:00
ce56c9e1f4 Merge remote-tracking branch 'pcc/fix10' 2026-05-03 13:35:23 +01:00
639e924ce2 Merge remote-tracking branch 'pcc/fix11' 2026-05-03 13:31:59 +01:00
be882c62a6 Merge remote-tracking branch 'pcc/fix3' 2026-05-03 13:30:59 +01:00
ab93e0075c Merge remote-tracking branch 'pcc/fix2' 2026-05-03 13:30:27 +01:00
aead19df04 Merge remote-tracking branch 'pcc/fix12' 2026-05-03 13:27:02 +01:00
65847bec4b Merge remote-tracking branch 'pcc/fix13' 2026-05-03 13:26:27 +01:00
f2ec49f9f2 Merge remote-tracking branch 'pcc/fix14' 2026-05-03 13:26:09 +01:00
Peter Collingbourne
17d8576cc4 Make Liminix usable as an input to a flake
This change allows Liminix to be used as a non-flake input to a flake
by making <nixpkgs> into a default argument.

An example flake that makes use of this is here:
https://github.com/pcc/liminix-flake-demo
2026-05-03 04:02:31 -07:00
Peter Collingbourne
15a886cf9a ifwait: Fix flapping on bridged interfaces
We use ifwait to monitor a bridged interface so we can add or remove it
to the bridge by bringing the associated service up or down. However,
bridge related netlink events can cause ifwait to incorrectly consider
the interface to have gone down. For example, nlmsg_type=RTM_DELLINK
with ifi_family=AF_BRIDGE, which is triggered by removing an interface
from a bridge, and does not indicate that the interface itself was
removed. Because a later RTM_NEWLINK will indicate that the link is still
up, ifwait will bring the service down and then up again, triggering
more netlink messages that keep ifwait in an infinite loop.

Fix it by checking specifically for RTM_NEWLINK and RTM_DELLINK messages
with ifi_family=AF_UNSPEC, which indicates an event related to the
interface itself.
2026-05-03 04:02:31 -07:00
Peter Collingbourne
86e55ff3cf dnsmasq: Pass --bind-interfaces
This allows users to run another DNS server, such as unbound, and have
dnsmasq use it as the upstream.
2026-05-03 04:02:31 -07:00
Peter Collingbourne
33f2a93489 ifwait: React to interface up by bringing up the service tree
This allows a system to be configured to dynamically bring up services
associated with an interface. For example, attaching a USB ethernet
adapter could trigger starting a DHCP client and an additional default
route for failover to an additional upstream.
2026-05-03 04:02:31 -07:00
Peter Collingbourne
3dee66b3d5 openwrt: Add a patch to fix the MT7915 build in 25.12
These changes are part of the patch that went upstream [1], but for some
reason they're missing from OpenWrt's backport [2].

[1] 96326447d4
[2] a0c7d5ecff/target/linux/generic/backport-6.12/731-v6.18-net-mediatek-wed-Introduce-MT7992-WED-support-to-MT7.patch
2026-05-03 04:02:31 -07:00
Peter Collingbourne
83e7c6f2dc Move extraRules to the end of the recursiveUpdate
extraRules is the user-specified ruleset so this allows the
user configuration to override the builtin rules.
2026-05-03 04:02:31 -07:00
Peter Collingbourne
e994e25d6e Avoid dependency on specific PCI addresses in qemu config
These addresses will vary depending on the target architecture,
so let's name them via /bus instead.
2026-05-03 04:02:31 -07:00
Peter Collingbourne
b832496802 openwrt-one: Upgrade to kernel 6.12
The config changes here are a combination of:

- Converting the output of (in the OpenWrt repo):
```
git diff v24.10.6:./target/linux/mediatek/filogic/config-6.6 v25.12.2:./target/linux/mediatek/filogic/config-6.12
```
  into Nix.

- Removing some overspecification of the kernel configuration, not
  only for the 6.12 upgrade but also to support some changes that I made
  to my personal configuration.
2026-05-03 04:02:31 -07:00
Peter Collingbourne
0d5922c811 kmodloader: Filter out builtin lines from modprobe output
modprobe will print "builtin" lines for modules that are statically
linked into the kernel, which confuses this shell pipeline. Fix it by
adding a grep for "^insmod".
2026-05-03 04:02:31 -07:00
Peter Collingbourne
5a224c8980 openwrt-one: Move the load address again
U-Boot declares a reserved-memory region at address 0x4fc00000 which makes
0x48000000 problematic for very large images. Move it again to 0x50000000.
2026-05-03 04:02:31 -07:00
Peter Collingbourne
57f6656d87 tufted: Roll over the tid on overflow
The specific rollover value is unspecified, but we assume that the other
side is U-Boot which rolls over to 0.
bb0f3eebb3/net/tftp.c (L275)

This allows for very large images to be transferred, which is sometimes
necessary for running debugging or profiling tools designed for normal
Linux distributions such as perf.
2026-05-03 04:02:31 -07:00
d0376d4101 add configuration for gateway test
it can't share the rotuer example as rotuer's secrets aren't
checked into git
2026-04-29 13:23:18 +01:00
5f2abc0d2b test that rotuer example builds
there is no test in CI that builds the firewall or any of those
modules, so this is temporary-ish to increase coverage
2026-04-26 18:10:56 +01:00
Peter Collingbourne
c03d50235a Move openwrt-one TFTP load address after reserved-memory regions
I was seeing random filesystem corruption when booting larger images
over TFTP, and it turned out to be caused by the image being loaded
on top of some reserved-memory regions (see link below).

897d54018c/arch/arm64/boot/dts/mediatek/mt7981b.dtsi (L72)
2026-04-26 12:57:53 +01:00
f1277b0564 make elfutils build 2026-04-26 12:33:32 +01:00
Peter Collingbourne
16fb3f5343 Remove iptables modules
With Linux 6.12, some of the iptables modules are no longer directly
selectable, leading to a failure to build the module loader. We don't
need them anyway as we use nftables, so remove them.
2026-04-26 11:58:17 +01:00
9c62e8333d think 2026-04-26 11:57:06 +01:00
dc62a8b75f disaable util-linux lastlog support as it depends on PAM 2026-03-30 14:03:02 +01:00
7f6b05ef96 switch from mainline ag71xx driver to openwrt version 2026-03-30 13:35:19 +01:00
4299293cc5 backport OF "compatible" changes for ath79 2026-03-28 21:17:55 +00:00
b6b420bc5b gl-ar750 upgrade ath10k firmware 2026-03-28 21:17:08 +00:00
5af28615f1 gl-ar750: update to newer kernel + openwrt
this device is not (yet?) in mainline, but openwrt 25.12 has
the right patches to make it work with linux 6.12
2026-03-28 21:15:51 +00:00
e8a60d2860 bordervm switch usb passthru from ehci to xhci
this was to fix a bug that turned out to be something else,
but the qemu docs say it's better anyway
2026-03-22 15:23:50 +00:00
82164d3968 think 2026-03-22 15:23:19 +00:00
0b179a6e04 force create ca-certificate symlink 2026-03-22 15:22:56 +00:00
29d51396f5 s6-rc-up-tree doesn't need runtime fennel 2026-03-18 21:09:55 +00:00
5f92529f4f odhcp6c: upgrade to newer (but not new) upstream
* we need new enough for cmake 3
* but not so new it depends on libubox

This is a "get it working again" patch, not a long-term solution.
Either we should add libubox to liminix or we should find another
dhcp6 client
2026-03-18 21:07:49 +00:00
a1d7c49e22 luaossl: remove .orig file after patching
*something* tries to patch src/openssl.c again in the install phase
(I haven't figured out what) and dies because it can't make
src/openssl.c.orig if it exists already.
2026-03-18 21:06:19 +00:00
7f23c5dc0f update dropbear, simplify authorized_keys patch 2026-03-11 18:22:39 +00:00
c364095c44 build our own fennel
final.lua53Packages.fennel seems somehow to drag in glibc
2026-03-11 07:45:00 +00:00
ef07dcc10a bump ubifs max leb count 2026-03-11 07:38:00 +00:00
4b40e51a1d run-liminix-vm tell qemu not to reboot when guest terminates 2026-03-11 07:30:00 +00:00
9fef673ca0 remove ci.nix "all" attribute
use ci-all.nix instead if you want to do all the jobs
2026-03-09 12:01:19 +00:00