571adf84c0
inherit builtins.map
2024-06-07 16:55:45 +01:00
f091bbd706
devout: recognise attr,attrs when parsing search term string
2024-06-01 23:48:05 +01:00
04b068f7a3
delete unused code
2024-06-01 22:43:48 +01:00
53f57c1a8c
devout: support sysfs attributes for (grand*)parent device
2024-06-01 22:43:27 +01:00
19aba0d873
devout: support search for sysfs attributes
2024-06-01 21:20:41 +01:00
7d00b39249
rename attributes->properties when referring to uevent fields
...
properties: key-value pairs in the uevent message
attributes: file contents in sysfs
2024-06-01 12:17:49 +01:00
a3fca5bf05
devout: add functions to read sysfs attributes
2024-05-26 18:03:32 +01:00
af9200a136
skip symlink handing unless linkname was provided
2024-05-26 18:00:31 +01:00
58cd007ccc
barebones usb_modeswitch package
2024-05-22 18:54:49 +01:00
c0ef6ce282
list pkgs we need in bordervm build
...
it's a bit silly trying to build it with the whole liminix overlay
when it's a nixos system not a liminix system
2024-05-22 18:45:35 +01:00
471c63b399
s6-rc do cleanup in "finish", don't append to "run" script
...
s6-supervise sends signals (e.g. SIGTERM) to the pid of the process
running "run", so how do we know if the ceanup commands are even
getting executed if the shell interpreter that is supposed to do that
got killed already?
2024-05-13 17:53:02 +01:00
8b69dcc209
pass entire config fragment to levitate, not just services
...
to make it useful we need to be able to set packages, passwords, ssh
keys etc
2024-04-29 20:07:01 +01:00
3d4e782929
devout: run tests in postBuild
...
because checkPhase is not executed when cross-compiling, and this
package is always only cross-compiled
2024-04-27 21:07:25 +01:00
1b6a05aec5
make uevent-watch use devout instead of direct netlink
2024-04-27 21:07:25 +01:00
80628a3d90
move event matching tests to devout
...
in preparation for future uevent-watch not needing to do
event matching
2024-04-27 21:07:25 +01:00
bf0cafffed
start devout alongside mdevd
...
ensure it starts before mdevd-coldplug so it can populate
its database
2024-04-26 20:52:12 +01:00
e49aba127c
devout: improve socket error handling
2024-04-26 20:49:23 +01:00
324465bc18
devout: write uevent KEY=value format to clients
2024-04-26 17:37:28 +01:00
b33249a050
devout: add readiness notification
2024-04-26 17:23:29 +01:00
b9c084415e
devout: handle readiness on netlink socket but no event
2024-04-26 17:20:33 +01:00
cf9cadd212
devout: replay relevant events to new subscriber
2024-04-26 17:20:33 +01:00
a116fe084a
devout: use socket constants from anoia.net.constants
2024-04-26 16:48:51 +01:00
74cf3e0711
add anoia.net.constants for SOCK_{STREAM,DGRAM} etc
...
we use an ugly bit of C preprocessor to get the values from
header files, because certain constants are different on MIPS
than on other architectures
2024-04-26 16:43:09 +01:00
cdb23b147c
convert anoia.fs to use lualinux
2024-04-25 21:14:37 +01:00
dbd1264352
convert anoia.fs to use lualinux instead of lfs
2024-04-24 20:44:32 +01:00
18335b95e3
devout: strip newlines from client terms
...
this is just to make testing with socat easier
2024-04-24 18:33:02 +01:00
6bee2f67ac
devout: add incoming netlink messages to database
2024-04-24 18:32:27 +01:00
b4ba3eea21
fix revents in unpack-pollfds
2024-04-24 18:31:26 +01:00
16af3984c9
add lualinux to fennelrepl
2024-04-24 18:30:34 +01:00
ce7e395295
devout test: replace minisock with lualinux
2024-04-24 18:29:24 +01:00
7e13e017eb
add readline suport to fennelrepl
2024-04-24 18:28:39 +01:00
bbf2f53c0e
cross-compile lualinux
2024-04-24 18:28:14 +01:00
032d0f8aca
add netlink socket
...
it's not hooked up to anything yet, but it proves we can
do this with lualinux
2024-04-23 23:34:25 +01:00
b8ac9e5279
convert devout from minisock to lualinux
2024-04-23 23:33:11 +01:00
72789984ce
add lualinux package
2024-04-23 22:41:38 +01:00
90d9d0e811
update minisock to not scribble on lua strings
2024-04-23 20:19:33 +01:00
97a8ae1c84
devout: add event loop and main run
function
2024-04-23 20:15:02 +01:00
52eb283a26
implement unsubscribe
...
and add ids to subscribe so that there's a unique identifier
to pass to unsubscribe
2024-04-23 20:12:46 +01:00
cbb1de804e
switch to minisock fork witj poll() call
...
this is likely to be temporary as minisock is getting
replaced with lualinux
2024-04-23 20:09:41 +01:00
f9c03998b8
implement subscriptions with callback
2024-04-21 13:19:17 +01:00
50de1b090f
add the rest of the test list (all we've thought of)
2024-04-21 11:22:26 +01:00
648382f64a
report bodyless tests as PENDING
2024-04-21 11:19:42 +01:00
e9370358ae
implement "remove" events
2024-04-21 11:19:06 +01:00
762ce7b6b8
cut/paste devout implementation into a real module
2024-04-20 22:48:00 +01:00
b1c0560f4f
implement fetch by path
2024-04-20 22:20:43 +01:00
e34135c41a
improve failed test reporting
2024-04-20 21:46:37 +01:00
712c9b266f
implement find
2024-04-20 18:42:42 +01:00
4df963996c
devout: add device
2024-04-20 18:24:10 +01:00
349bfecbb8
new package "devout", does nothing yet
2024-04-20 17:45:40 +01:00
450d3820b2
clean up uevent-watch test using writeFennel and mainFunction
...
requires less cavorting with globals and stuff
2024-04-20 16:53:43 +01:00
771585546d
import expect= where previously it was copy-pasted
2024-04-20 15:09:50 +01:00
73abf952d5
package minisock, a minimal Lua socket library
2024-04-20 15:09:17 +01:00
8af4e9fd5b
package anoia assert macros and point fennelrepl at them
2024-04-20 14:59:14 +01:00
7e19d80130
anoia: add assert macro module
...
contains expect and expect=
2024-04-20 14:04:32 +01:00
ea2b25168e
add uevent-watch, which toggles services based on uevent msgs
2024-04-15 21:15:07 +01:00
5564cf0554
add nellie.close
2024-04-14 22:45:29 +01:00
f3a13630d3
add multicast groups param to nellie.open
2024-04-14 22:45:29 +01:00
f233acf9ff
netlink uevent hello world
2024-04-14 22:45:29 +01:00
b231664a06
anoia: add basename, dirname
2024-04-11 23:11:20 +01:00
f4bf3029fa
anoia: alphabetize exports
2024-04-11 23:11:13 +01:00
4795dd05b7
unconditionally restart trigger services on liminix-rebuild
...
We call s6-rc -u -p default to restart/start the base services
on a rebuild, otherwise services that are only in the new
configuration won't come up. However, this stops any service
started by a trigger. So, workaround is to restart the trigger
service and expect it to restart the services it manages if they're
needed
2024-04-03 23:07:56 +01:00
a873dc6608
Merge commit 'efcfdcc'
2024-03-28 23:47:04 +00:00
2fb4756a7f
add soft restart option to liminix-rebuild
...
instead of doing a full reboot, it runs activate / and uses
s6-rc-update to install the new service database
2024-03-28 23:45:10 +00:00
76f11bcc93
liminix-rebuild: remove -f flag from reboot call
...
now we have timeouts in service definitions, shouldn't need this
any more
2024-03-28 21:37:47 +00:00
77f1a78331
ifwait block if s6-rc lock is held
...
otherwise it doesn't trigger the service if something else is
slow to start
2024-03-28 20:59:39 +00:00
b8a46fc05e
allow buildInputs param to s6 service
...
this is in preparation for trigger services that need to
close over the triggered service without adding it to
s6-rc dependencies
2024-03-28 20:58:53 +00:00
8ac2c6cec1
support timeouts (default 30s) for starting s6-rc services
2024-03-28 20:58:47 +00:00
8879b2d1ba
fix rt2x00 wifi
2024-03-28 20:58:39 +00:00
e4ac7f19dc
fix ifwait deps
2024-03-16 20:16:49 +00:00
f164f19d95
service starts and stops
2024-03-06 23:19:47 +00:00
dd4ab41f6a
rename run-event
2024-03-06 23:19:47 +00:00
5d5dff6729
WIP add failing test that service starts
2024-03-06 23:19:47 +00:00
570d29c368
pass command line params to run instead of reffing global
2024-03-06 23:19:47 +00:00
725af00dc9
improve test for dummy0 up
...
if we run off the end of the events fixture, it didn't work
2024-03-06 23:19:47 +00:00
e1b932ec27
remove hardcoded filename in test event generator
2024-03-06 23:19:47 +00:00
7173b6fb1c
don't call os.exit
2024-03-06 23:19:47 +00:00
ed9548f21d
pass event producer fn as param
2024-03-06 23:19:47 +00:00
0787807a7f
ifwait: don't run on load if in test harness
2024-03-06 23:19:47 +00:00
38ed91f641
simplify assertion
2024-03-06 23:19:47 +00:00
ffe9603c39
remove file-scoped parameters var
2024-03-06 23:19:47 +00:00
cbd3dfefc5
ifwait fixture/test harness
2024-03-06 23:19:47 +00:00
018c1868b5
ifwait: use anoia.assoc
2024-03-06 23:19:47 +00:00
5184ff63f7
add anoia.nl, a convenience wrapper on netlink
2024-03-06 23:19:47 +00:00
35909c9a23
add netlink to fennelrepl
2024-03-06 23:19:47 +00:00
9730cdd63b
add assoc to anoia
2024-03-06 23:19:47 +00:00
sinavir
29c9de248d
fix import of openwrt sources
2024-02-22 21:57:33 +01:00
f9ab0590a6
Merge remote-tracking branch 'raito/nwa50ax'
2024-02-21 19:27:23 +00:00
84fa8d65f4
fennel: system: verbose log of command that was run
2024-02-21 19:27:14 +00:00
Raito Bezarius
c5145b5fc9
devices/zyxel-nwa50ax: make zyxel-bootconfig
executable
...
Otherwise, it doesn't work well…
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-02-19 03:13:21 +01:00
Raito Bezarius
422f3edab1
modules/zyxel-dual-image: init
...
This adds a simple boot blessing module, to be used, with the Zyxel NWA50AX.
There's a lot of elephant in the rooms: how do you upgrade kernel, etc.
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-02-19 02:48:50 +01:00
Raito Bezarius
019fef6929
zyxel-bootconfig: init at no version
...
This tool is useful for manipulating the A/B boot status of the image.
2024-02-18 20:30:41 +01:00
Raito Bezarius
dde8386f75
builders/uimage: support aligning the FIT
...
This is necessary when writing to a MTD partition with a certain erasesize.
2024-02-18 20:30:41 +01:00
Raito Bezarius
0a8343be66
pkgs/kernel/uimage: introduce commandLineDtbNode
...
Certain devices like the Zyxel NWA50AX will pass information on the command-line
to explain what is the current image (`bootImage=1` vs. `bootImage=0`).
Unfortunately, if we set the `chosen/bootargs` node, this will be overridden forcibly
by U-Boot.
To avoid this problem, it's easier to simply just use another DTB node like `bootargs-override` which
is what OpenWRT does [1].
[1]: https://git.openwrt.org/?p=openwrt/openwrt.git;a=blob;f=target/linux/ramips/patches-5.15/314-MIPS-add-bootargs-override-property.patch;h=e7dca7af886e8c0b69ba2b23f5855ddfeeb0d4a1;hb=refs/heads/main
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-02-18 20:30:41 +01:00
Raito Bezarius
d14ee41325
liminix-rebuild: use -f
flag to reboot effectively
...
My AP does not reboot upon `reboot` but `reboot -f`… why?
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-02-17 11:45:17 +00:00
4bcc3d5b28
dhcpc6 scripts: simplify (and improve correctness)
2024-02-16 18:47:12 +00:00
b5722a0153
gl-ar750: ath10k wireless depends on firmware
...
so make sure the firmware is present _first_
the ath10k is still broken anyway, looking into why
2024-02-16 00:38:36 +00:00
3c950704e1
rename /run/service-state to /run/services/outputs
2024-02-13 21:41:43 +00:00
16e4b05653
dhcp6c: set preferred and valid address lifetimes
...
also workaround a bug in rebinding/updates where we get an error
from "ip addr add" trying to add an address that's already present
2024-02-13 13:49:12 +00:00
79926c6fe7
remove call to deleted package
2024-02-12 14:56:12 +00:00
b9c0d93670
build modules at same time as main kernel vmlinux
...
This changes the practice for building kernel modules: now we expect
that the appropriate Kconfig symbols are set to =m in
config.kernel.config, and then use pkgs.kmodloader to create
a service that loads and unloads all the modules depended on by
a particular requirement.
Note that modules won't be installed on the target device just by
virue of having been built: only the modules that are referenced by a
kmodloader package will be in the closure.
An example may make this clearer: see modules/firewall/default.nix
in this commit.
Why?
If you have a compiled Linux kernel source tree and you change some
symbol from "is not set" to m and then run make modules, you cannot in
general expect that newly compiled module to work. This is because
there are places in the build of the main kernel where it looks to see
which modules _may_ be defined and uses that information to
accommodate them.
For example in an in-kernel build of
https://github.com/torvalds/linux/blob/master/net/netfilter/core.c#L689
some symbols are defined only if CONFIG_NF_CONNTRACK is set, meaning
this code won't work if we have it unset initially then try later to
enable it and build modules only. Or see
https://github.com/torvalds/linux/blob/master/include/linux/netdevice.h#L160
2024-02-11 23:47:11 +00:00
812f497660
add kernel.version param to allow for version-specific patches
...
default to 5.15.137 to avoid breaking the devices that don't declare it
2024-02-11 16:19:52 +00:00
273c66b2d3
Merge pull request 'Add support for TP-Link Archer AX23' ( #6 ) from raboof/liminix:add-archer-ax23-v1-bak into main
...
Reviewed-on: #6
2024-02-08 17:47:46 +00:00
82537bbe68
delete commented-out code
2024-02-07 23:47:38 +00:00
c9e4c1b0da
kernel-modules: use linuxArch instead of case expression
2024-02-07 16:20:34 +00:00
Arnout Engelen
61494fdc0c
Add tplink module for creating 'safeloader' images
2024-02-06 17:59:38 +01:00
b0709a6443
systemconfig: fix missing backslashes on env vars
2024-02-04 17:19:03 +00:00
86f5c9b568
schnapps needs util-linux for mount
...
specifically, it expects mount /dev/foo -o blah /dest to work,
but busybox mount expects options to precede all the other
command line args
2024-02-04 15:50:25 +00:00
Arnout Engelen
04895f9cf6
openwrt: update to v23.05.2
2024-01-25 12:29:03 +01:00
83ee488e4c
systemconfig: /boot needs to go inside /persist
2024-01-09 13:10:02 +00:00
c1101d3af5
make extlinux work with liminix-rebuild
...
add /boot to the systemConfiguration closure
2024-01-08 18:58:07 +00:00
228c0a1668
pass rootOptions config as rootflags= kernel cmdline opt
2024-01-08 18:54:49 +00:00
63f034e362
preinit: parse rootflags= in kernel command line
2024-01-08 00:35:13 +00:00
6971d03520
preinit: check return from write()
2024-01-07 21:24:16 +00:00
c0c4752350
systemconfig "install" cmd honours prefix on source
2024-01-07 16:54:44 +00:00
45e8db09e1
liminix-rebuild: escape brackets in usage message
2024-01-07 14:18:19 +00:00
2a93f24a58
add turris "schnapps" tool
...
in its current state this is useful for turris omnia only, but will
allow us to do installs and rollback to turris os if needed.
2024-01-05 00:07:01 +00:00
136c5e6f32
alphabetize package list
2024-01-04 10:15:23 +00:00
9369fdf314
use patched qemu only for run-liminix-vm
2024-01-03 17:53:30 +00:00
ff991508ae
build kernel only once for multiple outputs
...
e.g. vmlinux + zImage
2024-01-02 19:40:57 +00:00
d6f96c0448
add libubootenv package
2024-01-02 17:44:56 +00:00
2152a3f207
a test for liminix-rebuild
...
it's hacky as Selby, but it's better than no test
2023-12-29 22:11:04 +00:00
1a041392aa
liminix-rebuild: add --no-reboot param
2023-12-27 17:47:42 +00:00
6469408d5f
run-liminix-vm: don't reverse order of --flags params
2023-12-26 21:59:00 +00:00
e5cbc2b86b
WIP add systemConfiguration "install" command
...
which copies the init stuff (whatever it is) from store to /persist
instead of making liminix-rebuild have to know what the files are.
This is principally to ease making a system configuration in /mnt or
similar when operating in a rescue/recovery scenario, and we
don't want to liminix-rebuild because it will reboot
2023-12-23 23:53:47 +00:00
29f35cb902
min-copy-closure: add --root to copy to non-standard place
2023-12-23 23:12:40 +00:00
aecc44aaa0
run-liminix-vm: --flag parameter passes arg straight to qemu
2023-12-23 15:32:59 +00:00
9f851b229c
inadvertently committed, remove
2023-12-22 16:25:54 +00:00
4a606a4b19
tidy up kernel patch
2023-12-21 21:12:55 +00:00
9c894bdabf
add tftpboot test for mips
2023-12-21 19:25:45 +00:00
a962f18369
run-liminix-vm: map rootfs file iff --phram-address supplied
2023-12-21 19:25:45 +00:00
9a29a042e8
fix tftpboot test on boards without autoboot, swap wan/lan
...
This is for MIPS. I spent a while investigating why the second virtio
net device doesn't function in qemu mips malta u-boot, but with no
success. Use the first one instead.
2023-12-21 19:25:16 +00:00
ab0631c555
qemu mips expects different file size for u-boot
2023-12-19 18:48:28 +00:00
32c13c46bb
support aarch64 in tftpboot test
2023-12-19 12:12:12 +00:00
ebaa7b2bcb
unbreak fennel test
2023-12-09 17:10:41 +00:00
07e66c462b
use virtio-bk-pci instead of virtio-bk-device
...
u-boot is happy with either but Linux can autodetect the PCI-based
hardware
2023-12-09 15:53:40 +00:00
03b17fa3ed
add zImage output
2023-12-07 22:31:26 +00:00
a8891461aa
use devtmpfs in initramfs
...
static device nodes don't work with virtio
2023-12-07 20:03:03 +00:00
5adfb0230f
WIP generate bootable disk image with partition table
2023-12-05 23:54:09 +00:00
b519bd15df
pretty-print the qemu command line
...
well, pretty-ish
2023-12-05 17:32:18 +00:00
f2daa0b669
exclude rootfs region from kernel-visible ram
2023-12-05 17:32:18 +00:00
f08c10c8ba
patch u-boot to add ubifs support
...
not that we're using it yet
2023-12-04 23:39:27 +00:00
0242cec977
run-liminix-vm: remove unneeded second copy of pad code
2023-12-04 23:37:39 +00:00
Raito Bezarius
644f42c35e
kernel: make the build FSAT on FSAT computers
...
I have 128 threads, builds should take only but a moment!
2023-12-03 23:05:12 +00:00
98d3336926
rewrite run-liminix-vm as a fennel program
...
the effect of shell quoting/word splitting rules was reaching
completely unreasonable, insofar as I was unable to reason about it
2023-12-03 22:51:39 +00:00
e35b61b68c
mac80211: support ath9k pci variant
...
if you ask for "ath9k" you get AHB, but if you ask for "atk9k_pci"
now you get PCI. Note that the kernel module name is the same in
both cases.
2023-11-25 18:39:15 +00:00
a8f98ccfe7
use linuxArch instead of case statement
2023-11-25 18:16:20 +00:00
3f0f621809
openwrt patches for mvebu (armv7l)
2023-11-24 22:43:58 +00:00
5ba14fd915
add levitate package
...
sets up a chroot system in tmpfs that will be executed on the next
reboot to enable system maintenance without the regular filesystems
mounted
2023-11-23 22:21:03 +00:00
c8b2d58dd3
exit 0 on service down even if no outputs to delete
2023-11-21 17:25:50 +00:00
f9f4d97bb8
convert flash params to int
2023-11-12 20:39:06 +00:00
abfb35a231
and entryPoint
2023-11-12 18:50:47 +00:00
315907de98
convert hardware loadAddress to int
2023-11-12 18:47:31 +00:00
6489a39424
qemu armv7
2023-11-05 23:19:11 +00:00
c40eef25d6
qemu: use phram instead of block2mtd
2023-11-05 19:13:51 +00:00
c5c5f1687a
patch qemu to load uncompressed ARM kernels at correct offset
2023-11-05 11:32:47 +00:00
824536f9b3
in uimage FIT, honour ${arch}
2023-11-05 11:31:28 +00:00
c3ccee6506
preinit: print errno (in hex, it's easier) for failures
2023-11-05 11:27:57 +00:00
6db982f25f
preinit: pause before exiting
...
as explained in the comment, this is to give us a
chance to see error messages before the kernel panics
2023-11-05 11:27:57 +00:00
86a5224f3c
preinit: fix compiler warnings
2023-11-05 11:27:43 +00:00
155a29d9b3
preinit: strip trailing newline(s) on /proc/cmdline
2023-11-05 11:27:34 +00:00
d2f517a4e9
preinit.c: reindent
2023-10-19 21:02:18 +01:00
0f38ee0e9c
remove PREINIT_USE_LIBC option as it is now the only option
2023-10-19 18:59:02 +01:00
61dc5beca8
preinit: parse rootfstype from kernel command line
2023-10-19 18:56:09 +01:00
8798ee9830
partial fix for timeout handling
...
1) "Unknown transfer id" message was because the local variable "tid"
is not a transfer id, it is a sequence number - so the check was
actually comparing expected vs actual acknowledged sequence number,
not TID. It's still a problem if we get the wrong one, but it
indicates a lost packet (so we should resend) not a packet that was
sent from somewhere else.
2) if the ACK packet has not been received, our retry should involve
_resending_ it, not just trying to wait for it again.
3) I have removed the timeout condition for terminating the resend
loop, because in practice (assuming both ends have the same timeout
setting) all it did was ensure that the loop only ran once. The
timeout is supposed to regulate how long we wait for before retrying
(it doesn't do this, we wait indefinitely), not how long we wait for
before giving up.
2023-10-18 23:35:23 +01:00
629914f65e
initial support for ubifs
2023-10-16 19:55:17 +01:00
0693cf23d8
preinit: improve error logging for fork_exec
2023-10-12 19:00:57 +01:00
c341eb46b6
use hostPlatform.linuxArch in kernel derivation
2023-10-12 18:59:45 +01:00
1a369ff3bf
preinit: remove no-longer-used mips assembly
2023-10-12 18:57:54 +01:00
bd20f3e419
uimage: make fit optional
2023-10-09 19:47:57 +01:00
c18f07f02f
aarch64: make tftpboot work
...
- patch dtb to add reserved-memory stanza for the phram device to use
(aarch64 does not accept memmap= command line option)
- patch phram driver to use memremap() instead of ioremap() as
ioremap can't be used for system ram on arm devices
2023-10-09 19:47:57 +01:00
269e972970
use FIT images not appended DTB for aarch64 uimage
2023-10-07 22:52:09 +01:00
2a5669c2cd
enable openwrt mediatek family patches
2023-10-07 22:42:31 +01:00
b01840fa7f
add support for mt7915, mt7615 in mac80211 package
...
mt7915 additionally requires working MTD, so that it can
read calibration data from flash
2023-10-07 22:29:38 +01:00
abd01a7809
apply mtdpslit patch only for openwrt kernel
...
it doesn't apply to mainline because there's no mtdsplit
in mainline
2023-09-26 18:40:22 +01:00
dfe7228b99
fix jffs2 mtd partition splitting on little-endian CPU
2023-09-26 16:43:03 +01:00
3205a38ac9
mac80211 use correct arch
2023-09-24 00:17:32 +01:00
119d6ad379
pkgconfig is now pkg-config
2023-09-21 12:25:35 +01:00
be22fbbb0a
bootable aarch64 liminux with qemu
...
I may have broken the run-liminix-vm command a bit for MIPS due to
necessary changes in how we pass the command line. If CI isn't green
for this commit and youre trying the worked examples, I suggest
reverting to the commit before this one.
2023-09-20 22:55:51 +01:00
57eb55de58
found another mips-vm to rename
2023-09-20 19:13:04 +01:00
4389fa15f7
rename mips-vm as run-liminix-vm
2023-09-20 18:33:20 +01:00
4f29bdd3ed
detect arch in kernel and uimage
...
also move kernel builder to pkgs/
FIXME we need to straighten out the mess in calling
dtb.nix/uimage.nix
2023-09-20 18:26:33 +01:00
f7b30939b5
remove service-state when service exits
2023-09-13 22:49:00 +01:00
106a429b3d
odhcp-script only write addresses if there are any
2023-09-13 17:51:07 +01:00
b3e505abf4
anoia.system print command if it failed
2023-09-13 17:50:40 +01:00
8f97c5bf3c
anoia service :events method behaves as iterator
2023-09-12 20:46:52 +01:00
7904c6bfe9
anoia users now need lfs
...
... and we need to figure out how to do transitive
dependencies, because this is not a great experience
2023-09-12 18:46:04 +01:00
343d3b6508
writeFennel is writeFennelScript with knobs on
...
The second parameter is now an options attrset, wherein we will pile
all kinds of cool stuff.
Right now the only cool bit is `mainFunction`, which allows you to
compile a fennel module into a lua script and name the function that
should be executed when the script runs. This makes it easier to
write testable Fennel code, because the test script can require the
module and call stuff in it.
2023-09-12 17:45:18 +01:00
96e19767e9
odhcpc-script don't require fennel at runtime
2023-09-12 17:39:06 +01:00
d49cbbb8ed
test for acquire-wan-address
2023-09-11 00:07:49 +01:00
3ff55d3aad
odhcp-script: unique subdirectory names for each parsed address
2023-09-10 12:15:34 +01:00
22275f311c
anoia: add simple hash function and base64 encoder
2023-09-10 12:14:39 +01:00
870da62a1e
anoia.svc outputs may be directories (read as table)
2023-09-09 00:30:02 +01:00
0312f7a999
fennelrepl look for .fnl before .lua
...
this means fennelrepl in nix-shell will prefer local
source files to generated lua files, making it easier
to change library code without restarting the shell
2023-09-09 00:11:35 +01:00
9dd3cf23b4
anoia.fs.mktree replaces mkdir
...
This uses lfs to make the tree in-process instead of
shelling out to the mkdir command
2023-09-08 21:17:42 +01:00
4e9227dff3
move rmtree to anoia library
2023-09-08 21:03:18 +01:00
eaa45906ff
fennelrepl runs with --correlate
...
this is so that error message line numbers match up
2023-09-08 21:02:26 +01:00
12e25722fa
odhcp-script: delete stale dirs from previous runs
...
This requires adding LFS as a dependency because native Lua has
no way to iterate a directory, but it seems to be Not Huge and
hopefully we'll have other uses for it
2023-09-08 20:48:01 +01:00
09fe21260e
rename fn
2023-09-08 20:48:01 +01:00
4bd3ccc8fd
inline write-{addresses,prefixes}
2023-09-08 20:48:01 +01:00
3e163d4253
remove unused fn
2023-09-08 20:47:55 +01:00