Commit Graph
100 Commits
Author SHA1 Message Date
Daniel Barlow 0cb18eabcd boot.expect: improve reliability
don't depend on seeing u-boot prompt, it's just too easy to get
out of sync
2024-12-27 18:08:01 +00:00
Daniel Barlow 24151425b8 and fix quoting 2024-12-24 14:29:01 +00:00
Daniel Barlow e06295ed83 rt3200: add fw_setenv commands to update boot_production 2024-12-24 14:19:29 +00:00
Daniel Barlow 608d3e3abf proofread 2024-12-24 14:01:30 +00:00
Daniel Barlow 3e19f1b927 Merge branch 'runciter' 2024-12-24 13:47:27 +00:00
Daniel Barlow 3f6e9b6384 rt3200 defaults to ubifs 2024-12-24 13:46:36 +00:00
Daniel Barlow 294492a176 jiggle imports 2024-12-24 13:46:19 +00:00
Daniel Barlow 67a1cd3718 improve install instructions for belkin rt3200 2024-12-24 13:45:11 +00:00
Daniel Barlow 0ee9c76c33 think 2024-12-24 12:30:15 +00:00
dan 452aaa2f60 Merge pull request 'use Linux kernel sources associated with openwrt by default' (#12) from raboof/liminix:linux-version-with-openwrt into main
Reviewed-on: https://gti.telent.net/dan/liminix/pulls/12
2024-12-24 12:24:31 +00:00
dan 52967f746b Merge branch 'main' into linux-version-with-openwrt 2024-12-24 12:24:13 +00:00
Daniel Barlow f3fadd5cd7 think 2024-12-24 12:20:48 +00:00
Daniel Barlow bc20f4c6b7 rt3200 test install 2024-12-23 23:59:52 +00:00
Daniel Barlow 848214d104 add ubivolume output 2024-12-23 22:37:07 +00:00
Daniel Barlow ede8f12d2b declare options.hardware.ubi unconditionally
this is so it can be defined in device modules even when
ubifs is not included in the configuration
2024-12-23 22:37:07 +00:00
Daniel Barlow 6cd5b90678 outputs.rootubifs -> ubifs 2024-12-23 22:37:07 +00:00
Daniel Barlow db4f098c02 add fit bootloader
this is for the belkin rt3200, whose uboot doesn't do
extlinux but can load a fit from a ubifs. It adds the
a kernel+dtb as /boot/fit
2024-12-23 11:21:58 +00:00
Daniel Barlow 1347937345 rename file 2024-12-23 10:31:22 +00:00
Daniel Barlow a7b5f80674 rename extlinux output to bootfiles
this is in preparation for introducing other non-extlinux
modules that populate /boot
2024-12-23 00:09:31 +00:00
Daniel Barlow 5c78338d71 make mtdutils use no-systemd util-linux 2024-12-22 23:24:11 +00:00
Daniel Barlow ed02d02767 bump NEWS 2024-12-22 21:12:36 +00:00
Daniel Barlow f07a38b0fd extract uimage output module into own file 2024-12-22 21:10:07 +00:00
Daniel Barlow ac189f2977 outputs.zimage -> outputs.kernel.zImage
remove config option/derivation in favour of accessing
as output of the kernel derivation (matches what we do
with e.g. modulesupport)
2024-12-22 17:27:59 +00:00
Daniel Barlow ebb4d4a831 think 2024-12-22 16:03:24 +00:00
Daniel Barlow 6bfbdf352d bordervm: expose ssh on port 2222 2024-12-22 16:01:38 +00:00
Daniel Barlow 4ea1cf7f32 rt3200 better install docs 2024-12-20 22:26:40 +00:00
Daniel Barlow f60b74f415 add a new updater output
this is so that we don't have to obfuscate store paths in
systemConfiguration to avoid dragging in build system
deps.

breaking-ish change to workflows, docs updated
2024-12-20 00:05:07 +00:00
Daniel Barlow 812e35b7b9 systemconfig: improve filenames/pathnames
no more make-stuff
2024-12-19 22:28:30 +00:00
Daniel Barlow 172f368633 fix markup 2024-12-19 21:59:04 +00:00
Daniel Barlow 1af9a39db1 omnia: delete pstore config we're probably not using 2024-12-19 20:59:52 +00:00
Daniel Barlow 420552ce98 add omnia to ci 2024-12-19 20:56:05 +00:00
Daniel Barlow 56c667cfd5 extract systemConfiguration into its own output module 2024-12-19 20:55:10 +00:00
Daniel Barlow f9b4f0bc9c move modules/squashfs.nix into outputs/ 2024-12-19 14:33:50 +00:00
Daniel Barlow ba5e4704a0 add short note about persistent logs 2024-12-18 23:08:28 +00:00
Daniel Barlow 3357d21d7f enlarge pmsg buffer to full size of ramoops region
4k was a piddly amount and we weren't using the rest of it for
anything else
2024-12-18 21:16:49 +00:00
Daniel Barlow ffaca615ba copy logs to /dev/pmsg0 when ogging.persistent.enabled 2024-12-18 21:11:58 +00:00
Daniel Barlow 77cd4492b2 unbreak nix-shell 2024-12-17 23:26:56 +00:00
Daniel Barlow 81f5550bf0 config.logging.persistent enables /dev/pmsg0
- whatever's written to /dev/pmsg0 appears as
/sys/fs/pstore/pmsg-ramoops-0 after reboot

- only works on devices with the relevant device tree
support (gl-ar750 and whatever has it by default)

- nothing in the system is actually writing this file yet

- or reading it at boot time, for that matter
2024-12-17 23:24:31 +00:00
Daniel Barlow b52133a28b add hardware.dts.includes option 2024-12-17 20:36:14 +00:00
Daniel Barlow 44caefcd3b rename config.hardware.dts.includes -> includePaths
(1) it's a better name
(2) I want to use `includes` to specify dtsi files
2024-12-17 17:41:53 +00:00
Daniel Barlow 6e6b8790eb think 2024-12-17 17:24:52 +00:00
Daniel Barlow 2e5a8a572e tufted: more robust merge-pathname impl 2024-12-17 17:24:40 +00:00
Daniel Barlow 464d046b5a append-path spec behaviour for repeated / 2024-12-17 17:24:16 +00:00
Daniel Barlow ac8b971cc0 new fn append-path in anoia
complains if you try to ../../../
2024-12-11 17:26:44 +00:00
Daniel Barlow 13087d17e3 use assert macros in anoia/init.fnl
there is no circularity (maybe there was once?)
2024-12-11 17:25:39 +00:00
Daniel Barlow 5572c0ecb0 rewrite parts of inout test to be differently wrong 2024-12-09 23:36:22 +00:00
Daniel Barlow 4cbe3ba683 add some debug output in inout test 2024-12-09 21:00:11 +00:00
Daniel Barlow 20f4a12689 inout: improve robustness, maybe? 2024-12-07 16:02:42 +00:00
Daniel Barlow 33e5c436d5 add environment variables that scapy now needs (24.11) 2024-12-04 21:16:36 +00:00
Daniel Barlow cde30bcd54 in nixos 24.11 chrony no longer expects nss/nspr/readline 2024-12-03 21:39:54 +00:00
Daniel Barlow 1f7d6544e3 provide stdout to ppp callback scripts
pppd runs them with 0,1,2 => /dev/null but we actually quite like
seeing errors in the logs
2024-10-17 21:37:08 +01:00
Daniel Barlow 1bca072509 fix chrony pidfile error 2024-10-17 21:35:33 +01:00
Daniel Barlow 7b98724643 turns out we did need usepeerdns 2024-10-17 21:05:16 +01:00
Daniel Barlow b1625763ee ppp service signal readiness only when ip-up has run
as downstream services need e.g. ifname which is not written by ipv6-up
2024-10-16 22:59:01 +01:00
Daniel Barlow 91bdfc2766 remove apparently obsolete rp-pppoe configure setting
this were copied from nixpkgs but perhaps is for an older version of
rp-pppoe because it builds just fine without
2024-10-16 22:56:05 +01:00
Daniel Barlow 14bfebc5c3 enable unloading modules so that scripts work
if we can't unload them then the service that loads them will fail
the second time it's run
2024-10-16 22:54:19 +01:00
Daniel Barlow 0447ac0ff9 did we need MODULE_SIG?
I think this may be a hangover from using backports modules for wlan
2024-10-16 22:53:16 +01:00
Daniel Barlow e35a1514ab send kernel logs to s6 2024-10-16 18:59:42 +01:00
Daniel Barlow 4a0120487c remove usepeerdns - it causes only errors
we handle dns with service outputs anyway
2024-10-16 18:58:34 +01:00
Daniel Barlow 888688ce28 buuld ppp with path to /run 2024-10-16 18:57:26 +01:00
Daniel Barlow 9e3f48768e think 2024-10-14 18:49:10 +01:00
Daniel Barlow 72171021e3 support finish script in longrun 2024-10-10 18:26:14 +01:00
Daniel Barlow 17517dd34f remove KEXEC from base kernel config
we're not using it any more
2024-10-10 18:23:50 +01:00
Daniel Barlow 5112eab4da apply incoming-allowed-ip[46] rules to input as well as forward pkts
this makes it possible to open ports on the router itself
2024-10-10 18:18:23 +01:00
Daniel Barlow e383f1b3d3 obfuscate store path for min-copy-closure
otherwise the systemconfig closure drags in a bunch of build system
things (bash, etc) which we don't want or need to copy to the device
2024-10-10 16:25:00 +01:00
Daniel Barlow da1245432e no more iminix-rebuild 2024-10-09 19:34:55 +01:00
Daniel Barlow 541b1c61c2 ensure $toplevel is path in /nix/store 2024-10-09 18:59:33 +01:00
Daniel Barlow 55c7410a55 add result/install.sh to systemConfiguration output
this makes it possible to install a systemconfig instead of
having to use nix-shell (which is very slow)
2024-10-09 13:35:02 +01:00
Daniel Barlow 0f50648157 don't put hostname in levitate logs
there might not be one
2024-10-08 22:55:39 +01:00
Daniel Barlow f1c260d4f7 make ci.ni "all" a derivation
this is to stop hydra complaining
2024-10-06 18:04:56 +01:00
Daniel Barlow 3d611d3ba2 fix unstable qemu build?
nix-repl> (lib.versionOlder "24.11pre-git" "24.11")
true

nix-repl> (lib.versionOlder "24.11pre-git" "24.10")
false

n
2024-10-06 18:04:48 +01:00
Daniel Barlow e6b7d86381 sort lines 2024-10-06 17:53:34 +01:00
Daniel Barlow 83fbffb39b catch another uncaught-logs 2024-10-06 17:53:09 +01:00
Daniel Barlow f8c579b41e add CI "all" target 2024-10-06 17:52:59 +01:00
Daniel Barlow ca9efc4b26 simplify CI
* I didn't know what I was doing when I set up Hydra

* it's not certain that I do now either, but hey ho
2024-10-06 15:55:01 +01:00
Daniel Barlow 336fc7e495 think 2024-10-06 14:27:45 +01:00
Daniel Barlow 4cc0add2ad update refs to uncaught-logs in docs/tests 2024-10-06 13:46:14 +01:00
Daniel Barlow 2d7e6188ac log shipping service now gets logs on stdin
instead of having to open the unix socket
2024-10-06 13:26:58 +01:00
Daniel Barlow b9999857cb longrun: don't add logger if producer-for is already set 2024-10-06 13:13:04 +01:00
Daniel Barlow ba03ddeb38 border-vm: add tang service 2024-10-06 12:38:06 +01:00
Daniel Barlow 493c5f69d7 add module for certifix-client 2024-10-06 11:27:39 +01:00
Daniel Barlow 1a915e91ff add altname to CSR 2024-10-06 10:13:28 +01:00
Daniel Barlow 197e2eb5b1 new package certifix-client uses certifix to sign ssl client cert
this is initially for TLS-enabled logging but would be useful for
anything on a liminix box that wants to talk to a network service in a
"zero trust" setup
2024-10-03 23:00:08 +01:00
Daniel Barlow 7ca822c826 more messing around with lua derivation 2024-10-03 23:00:08 +01:00
Daniel Barlow e5631783e1 add luaossl package with patch for CSR attributes 2024-10-03 23:00:08 +01:00
Daniel Barlow 635590d37a implement log shipping config
to use this, you need config like for example

+  logging.shipping = {
+    enable = true;
+    service = longrun {
+      name = "ship-logs";
+      run = let path = lib.makeBinPath (with pkgs; [ s6 s6-networking s6 execline ]);
+            in ''
+        PATH=${path}:$PATH
+        s6-ipcserver -1 ${config.logging.shipping.socket} \
+        s6-tcpclient 10.0.2.2 19612 \
+        fdmove -c 1 7 cat
+      '';
+    };
+  };

but I think we can reduce the noise a bit if we use an s6-rc pipeline
with an s6-ipcserver on one side and and a (whatever the user wants)
on the other
2024-09-18 22:14:34 +01:00
Daniel Barlow 17630f2678 rename logtee->logtap 2024-09-18 20:58:02 +01:00
Daniel Barlow 707a471bc2 add logtee to catchall logger 2024-09-16 21:30:06 +01:00
Daniel Barlow d3fce5edd4 implement error() for musl 2024-09-16 20:35:23 +01:00
Daniel Barlow 5771108fed improve logtee socket connection warning
* print it less often
* to the correct stream (stdout not stderr)
2024-09-16 20:34:26 +01:00
Daniel Barlow 9e5f2d663d close socket fd if we can't connect it 2024-09-15 22:09:31 +01:00
Daniel Barlow 21eeb1671e print diagnostic when eof on stderr 2024-09-15 21:59:24 +01:00
Daniel Barlow 44762d38fc write start cookie when socket connect succeeds 2024-09-15 21:54:21 +01:00
Daniel Barlow 1f6cfc3679 extract method is_connected 2024-09-15 21:40:05 +01:00
Daniel Barlow 8ec00f1710 improve error message 2024-09-15 21:37:04 +01:00
Daniel Barlow 6a6dd32dea make pollfd array global 2024-09-15 21:32:48 +01:00
Daniel Barlow 9b1fc11a59 logshipper/logtee :copy stdin to stdout & to a unix socket if present
first draft
2024-09-15 19:33:21 +01:00
Daniel Barlow aaa6e353db incz is a very rudimentary log shipper for zinc search
although it probably would work with elasticsearch as well
as zinc is alleged to be ES-compatible

this is just the package and needs hooking into the service/log
infrastructure somehow
2024-09-08 16:38:37 +01:00
Daniel Barlow 69bf6cb5fb write-fennel quote PATH properly
escapeShellArg only quotes if the string contains special
characters, but for a Lua string we must quote unconditionally
2024-09-07 22:31:44 +01:00
Daniel Barlow 9f58e7b926 maybe fix nixpkgs-unstable lua 2024-09-07 00:58:11 +01:00