Raito Bezarius
da91a17cbc
modules/usteer: init
...
build liminix / build_zyxel-nwa50ax_mips (pull_request) Successful in 16s
build liminix / test_shell_customization (pull_request) Successful in 17s
build liminix / build_vm_qemu_mips (pull_request) Successful in 30s
build liminix / test_hostapd (pull_request) Successful in 1m11s
This adds the usteer daemon service for Liminix.
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2025-02-06 01:37:26 +01:00
Raito Bezarius
1322de1ee0
feat: add support for untagged frames
...
build liminix / build_vm_qemu_mips (push) Successful in 39m35s
build liminix / build_zyxel-nwa50ax_mips (push) Successful in 39m35s
build liminix / test_shell_customization (push) Successful in 39m31s
build liminix / test_hostapd (push) Successful in 39m52s
Should cover egress & ingress.
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-12-09 01:25:52 +01:00
Raito Bezarius
9490822c1a
feat: introduce iproute2 module for linkage
...
build liminix / build_vm_qemu_mips (push) Has been cancelled
build liminix / test_hostapd (push) Has been cancelled
build liminix / build_zyxel-nwa50ax_mips (push) Has been cancelled
build liminix / test_shell_customization (push) Has been cancelled
In the future, we will make it possible to choose between iproute2 and
busybox more properly.
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-12-09 00:43:45 +01:00
Raito Bezarius
4dabd970f0
feat: use iproute2 by default instead of busybox
...
build liminix / build_vm_qemu_mips (push) Has been cancelled
build liminix / build_zyxel-nwa50ax_mips (push) Has been cancelled
build liminix / test_hostapd (push) Has been cancelled
build liminix / test_shell_customization (push) Has been cancelled
iproute2 brings so much on the table, it's worth it.
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-12-09 00:09:21 +01:00
Raito Bezarius
752ff19e21
fix: switch to writeClosure
...
build liminix / build_zyxel-nwa50ax_mips (push) Has been cancelled
build liminix / test_hostapd (push) Has been cancelled
build liminix / build_vm_qemu_mips (push) Has been cancelled
build liminix / test_shell_customization (push) Has been cancelled
writeReferencesToFile has been removed from nixpkgs…
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-12-07 16:00:57 +01:00
7eff028b02
fix: hostname at early boot
build liminix / build_zyxel-nwa50ax_mips (pull_request) Successful in 19s
build liminix / build_vm_qemu_mips (pull_request) Successful in 20s
build liminix / test_shell_customization (pull_request) Successful in 20s
build liminix / test_hostapd (pull_request) Successful in 21s
2024-10-04 11:21:46 +02:00
eec7a6e985
fix PS1
2024-10-04 11:21:46 +02:00
Raito Bezarius
562b050341
feat: add environment variables and prompt customization in login shells
...
This way, we can configure a bit our prompt.
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-10-04 11:12:05 +02:00
Raito Bezarius
013e4c396c
feat: repair CI and cleanup cross-compilation mechanism
...
build liminix / build_vm_qemu_mips (push) Successful in 6m24s
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-09-16 18:14:39 +02:00
Raito Bezarius
8ac3e32b8b
fix(modules/hostname): hash the hostname to avoid duplicate services in the db
...
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-09-08 00:31:15 +02:00
Raito Bezarius
b468275f53
fix(tftpboot): revert squashfs use and go back to JFFS2
...
build liminix / build_vm_qemu_mips (push) Failing after 27s
squashfs doesn't copy all the files we need.
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-09-07 23:48:13 +02:00
Raito Bezarius
73ea02b982
feat(modules/nixpkgs): introduce source parameter
...
build liminix / build_vm_qemu_mips (push) Failing after 27s
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-09-07 23:05:03 +02:00
Raito Bezarius
c942b2be09
feat(initramfs): enable zstd compression
...
build liminix / build_vm_qemu_mips (push) Failing after 27s
Busybox is still 3MB.
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-09-07 22:49:25 +02:00
Raito Bezarius
95850a44c2
feat(recovery): implement failsafe boot
...
for TFTP or anything, really.
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-09-07 22:49:25 +02:00
Raito Bezarius
13069415fd
feat(modules/hostapd): offer readiness oneshot
...
build liminix / build_vm_qemu_mips (pull_request) Failing after 27s
WLAN oper wait until the WLAN interface is ready.
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-09-07 21:15:31 +02:00
Raito Bezarius
ffc6492365
fix(ubus): set the socket path properly
...
build liminix / build_vm_qemu_mips (pull_request) Failing after 28s
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-09-07 17:15:31 +02:00
Raito Bezarius
0fb671023c
feat(services): introduce structured bundles
...
build liminix / build_vm_qemu_mips (push) Failing after 27s
Structured bundles keep their original contents as a `passthru` field
named `components`.
This enable users to depend on a specific piece of the bundle instead of
the whole bundle.
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-09-05 14:54:12 +02:00
Raito Bezarius
ebcdbf76bc
fix(bridge): members are now granular services
...
They are still part of the bundle, but we can wait on each of them
independently now.
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-09-05 14:54:12 +02:00
Raito Bezarius
c24c659ee1
modules/ubus: init
...
build liminix / build_vm_qemu_mips (push) Failing after 27s
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-09-04 16:08:56 +02:00
Raito Bezarius
1bd9af1e9d
fix(bridge): reorder initialization for bridge dependents
...
build liminix / build_vm_qemu_mips (push) Failing after 27s
Consider the scenario where you run DHCPv4 on the primary bridge
interface.
You have no real interface to "wait upon", so it's OK. Nonetheless,
anything depending on successful completion of DHCPv4, e.g. adding a
default route, will block `s6-rc -v2 up change default`.
The way new interfaces are attached to the bridge is via `s6-rc -b -u
change $attach-oneshot-service`, this introduce in turn a deadlock.
At some point, DHCPv4 will timeout, unblocking the deadlock and
attaching the members to the primary bridge interface, making it ready
to send L2 broadcast packets for DHCP, unblocking DHCP in turn again.
This is not satisfying because we really want to have a no-hiccups
bring-up.
To fix this, we proceed to multiple changes:
- we remove `svc.ifwait.build` out of band `s6-rc -b -u $oneshot-attach`
call, which is, by design, wrong here.
- users can now depend on the members service to know when a bridge is
fully operational (we could make it more granular and let them depend
on the LAN member joining rather than WLAN, etc.)
- users can also depend on the primary service being brought up rather
than just being present, this is useful if you need to bring it up
when it has AT LEAST one member to get link local address or MAC
addresses (fixing DHCPv6 bring up as well because `ff02::1` is used
there).
One thing is not addressed yet, if you are running a WLAN service using
RADIUS attached to the bridge, at bring up time, it will try to reach
out the external RADIUS server and *fail*.
To solve this, granular dependency on the DHCPv4 once LAN is joined.
Then the hostapd can wait on defaultroute4 completion so that
connectivity is available to reach RADIUS server.
It can join the bridge later on without any hiccup as well.
This is left as a TODO as hostapd can survive RADIUS authentication
failure and retry later.
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-09-01 18:15:28 +02:00
Raito Bezarius
21ff11503e
fix(bridge): pick up MAC from another interface
...
This avoids the OPERSTATE unknown when the bridge is brought up but the
members are not ready yet.
This will make OPERSTATE to down, enabling us to wait until we have
brought up completely all the members.
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-09-01 17:48:54 +02:00
Raito Bezarius
1d0fc24111
fix(bridge/members): log attach/detach
...
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-09-01 17:48:54 +02:00
Daniel Barlow
36f3015acd
dhcpc handle case when env vars are missing
...
the notify-script should continue and signal readiness even if one or
more of the outputs it writes are mssing in the environment
2024-09-01 17:48:54 +02:00
Raito Bezarius
664624a478
feat(jitterentropy): introduce a jitterentropy module
...
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-09-01 17:48:54 +02:00
Raito Bezarius
f34a63d1c8
feat(pki): init TLS PKI module
...
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-09-01 17:48:54 +02:00
Raito Bezarius
3d528a71e9
feat(hostapd): make the package configurable to enable RADIUS
...
The default hostapd disable too many things, we need a bit more for
RADIUS.
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-09-01 17:48:54 +02:00
Raito Bezarius
17355c3911
fix(preinit): scan multiple times the cmdline and rename altroot in rootalt
...
The way the parsing works is examining one character at a time.
First, if we had `rootfstype=... root=...`, the parsing would jump and
ignore `root=...`, which sucks.
To fix this, we scan multiple times a copy of the cmdline.
Now, we have a new problem: `root=... altroot=...` lead to opts.device
being equal to the altroot as we are looking one char at a time, so we
will arrive at a moment looking at `root=...` for `altroot=...`.
To avoid this, we rename `altroot` in `rootalt`, cheap, I know.
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-09-01 17:48:54 +02:00
Raito Bezarius
c1e61d6af5
fix(zyxel/nwa50ax): ubi cannot run on phram
...
Discovered the hard way.
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-09-01 17:48:54 +02:00
Raito Bezarius
86e81efbd6
tftp: introduce an alternative command line for TFTP
...
Normal command line and TFTP command line can be sometimes very
different.
e.g. We don't want to load UBI filesystems for a TFTP boot as it may
interfere with our root device loading.
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-09-01 17:48:54 +02:00
Raito Bezarius
2d6414ea41
tftp: introduce the FIT enclosing boot.scr
...
This simplify TFTP.
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-09-01 17:48:54 +02:00
Raito Bezarius
afe9d2211b
outputs/vmroot: use the build runtime shell
...
otherwise, this will use the cross runtime shell, which is wrong!
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-08-25 19:07:42 +02:00
Raito Bezarius
46217b24a3
fix(modules/hardware): default for ubi.mtds is []
...
Otherwise, evaluation error for anything not using it.
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-08-23 19:37:43 +02:00
Raito Bezarius
7206fea4b4
fix(nixpkgs): drop meta.*
...
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-05-24 19:00:29 +02:00
Raito Bezarius
561d47822a
fix(assertions): wire up the assertion system
...
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-05-24 19:00:04 +02:00
Raito Bezarius
8a6709e91b
fix(nixpkgs): drop nixpkgs.initialSystem
...
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-05-24 18:54:16 +02:00
Raito Bezarius
081b9ab370
feat(modules): add a nixpkgs module
...
Like nixpkgs itself, we can control Liminix's package set via the module
system.
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-05-24 17:36:05 +02:00
Daniel Barlow
00a99d16b5
make a serviceDefn for wwan
2024-05-24 17:23:27 +02:00
Daniel Barlow
c3d6c55a74
commentary
2024-05-24 17:23:27 +02:00
Daniel Barlow
fa7fde87db
add hacky wwan service with hardcoding all over
2024-05-24 17:23:27 +02:00
Daniel Barlow
0f520ceee2
create cdc-ncm module
2024-05-24 17:23:27 +02:00
Daniel Barlow
1c9f20dd40
exec xl2tpd
...
haven't fully worked out why, but without this s6 is unable to stop it.
2024-05-24 17:23:27 +02:00
Daniel Barlow
4a6d93dc2c
add rudimentary l2tp service module
2024-05-24 17:23:27 +02:00
1e9204f2f0
Merge pull request 'feat: add proper A/B schema' ( #1 ) from preinit-ab into main
...
Reviewed-on: #1
2024-05-24 17:22:45 +02:00
Raito Bezarius
59d6640343
feat(zyxel): cleanup A/B schema
...
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-05-13 01:45:27 +02:00
Daniel Barlow
782feaeafa
set default for firewall extraRules
2024-05-03 16:28:53 +01:00
Daniel Barlow
e249f48cff
add deps on {ins,rm}mod and kconfig for firewall module
2024-05-01 23:06:12 +01:00
Daniel Barlow
660ed5df8f
vlan interface services depend on primary
2024-04-28 21:33:36 +01:00
Daniel Barlow
7e4a05bbf8
separate kernel and base modules
...
this is needed for levitate
2024-04-28 12:44:27 +01:00
Daniel Barlow
a4ba5c85e1
alphabetize list in all-modules
2024-04-28 12:42:47 +01:00
Daniel Barlow
1b6a05aec5
make uevent-watch use devout instead of direct netlink
2024-04-27 21:07:25 +01:00