Daniel Barlow
cbd3dfefc5
ifwait fixture/test harness
2024-03-06 23:19:47 +00:00
Daniel Barlow
018c1868b5
ifwait: use anoia.assoc
2024-03-06 23:19:47 +00:00
Daniel Barlow
5184ff63f7
add anoia.nl, a convenience wrapper on netlink
2024-03-06 23:19:47 +00:00
Daniel Barlow
35909c9a23
add netlink to fennelrepl
2024-03-06 23:19:47 +00:00
Daniel Barlow
4383462199
deep thoughts
2024-03-06 23:19:47 +00:00
Daniel Barlow
9730cdd63b
add assoc to anoia
2024-03-06 23:19:47 +00:00
dan
095853214b
Merge pull request 'Fix kernel build on belkin' ( #10 ) from sinavir/liminix:fix_kernel_build_on_belkin into main
...
Reviewed-on: https://gti.telent.net/dan/liminix/pulls/10
2024-03-06 18:21:13 +00:00
Daniel Barlow
9d6e50cbbc
extract extneder example to a "profile"
...
this is a bit of an experiment to reduce the copy-paste in
examples by turning them into "application" modules.
planning to follow up with another module for "wifi router"
2024-02-27 23:13:12 +00:00
Daniel Barlow
94dbc56595
fix doc
2024-02-27 20:08:30 +00:00
Daniel Barlow
2cd7f932eb
alignment may be null
2024-02-27 19:47:46 +00:00
Daniel Barlow
3ca0d87c27
ci.nix: alphabetise systems
2024-02-21 19:49:14 +00:00
Daniel Barlow
8f30db58ae
New port to Zyxel NWA50AX: update NEWS and ci.nix
2024-02-21 19:32:50 +00:00
Daniel Barlow
f9ab0590a6
Merge remote-tracking branch 'raito/nwa50ax'
2024-02-21 19:27:23 +00:00
Daniel Barlow
84fa8d65f4
fennel: system: verbose log of command that was run
2024-02-21 19:27:14 +00:00
Daniel Barlow
9b0149ecb7
deep thoughts
2024-02-21 19:26:33 +00:00
Daniel Barlow
60508f4d4e
update NEWS
...
* Turris Omnia
* possible wifi regressions
2024-02-16 21:00:59 +00:00
Daniel Barlow
ca64e9035e
gl-ar750 ath9k needs cal data from MTD
2024-02-16 20:44:56 +00:00
Daniel Barlow
4bcc3d5b28
dhcpc6 scripts: simplify (and improve correctness)
2024-02-16 18:47:12 +00:00
Daniel Barlow
28fe37d555
deep thoughts
2024-02-16 18:30:54 +00:00
Daniel Barlow
175db9f604
tail -F for rotuer
2024-02-16 18:30:24 +00:00
Daniel Barlow
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
Daniel Barlow and Arnout Engelen
c373152673
make tftpboot work on devices with old u-boot
...
Some devices have a U-boot variant that does not accept a third
parameter on the "bootm" command, meaning we can't override the dtb
in the bootloader so have to smush it back into the kernel image
This doesn't work in QEMU but I think the problem is with the
U-Boot configuration for QEMU. It does work on at least one
hardware device so I'm pushing it anyway
Based on
https://gti.telent.net/raboof/liminix/src/branch/tftp-old-uboot
Co-authored-by: Arnout Engelen <arnout@bzzt.net >
2024-02-15 23:44:47 +00:00
Daniel Barlow
7e7171556f
subdue dnsmasq logs
...
we need to find a better way of doing this. people might _want_
to have All The Logs from evey dns query
2024-02-15 23:43:54 +00:00
Daniel Barlow
6920ee765d
deep thoughts
2024-02-15 09:11:54 +00:00
Daniel Barlow
71a1ef286e
deep thoughts
2024-02-13 22:32:57 +00:00
Daniel Barlow
ffe0e9d26b
use mkstate for dropbear keys
2024-02-13 22:12:26 +00:00
Daniel Barlow
2b22c7aa91
dnsmasq: store dhcp lease file on /persist
2024-02-13 21:54:45 +00:00
Daniel Barlow
3c950704e1
rename /run/service-state to /run/services/outputs
2024-02-13 21:41:43 +00:00
Daniel Barlow
8578a554c7
deep thoughts
2024-02-13 21:11:30 +00:00
Daniel Barlow
3851698d35
fix tftpboot compressed rootfs
2024-02-13 18:16:17 +00:00
Daniel Barlow
f69ebbb6f5
fix doc CI target
2024-02-13 15:41:45 +00:00
Daniel Barlow
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
Daniel Barlow
8ac848b1e6
ath10k_pci: wifi modules must be modules
2024-02-13 12:56:03 +00:00
Daniel Barlow
b7efbd3e21
update NEWS file
2024-02-12 21:10:52 +00:00
Daniel Barlow
a654577ac2
improve port-forwarding comment
2024-02-12 21:05:01 +00:00
Daniel Barlow
c50423f689
turris omnia: upgrade to mainline 6.7.4 kernel
...
On this device we don't need the openwrt kernel or patches. The
newer kernel also fixes the weird one minute pause at boot when
it was doing something with either mmc or switch.
2024-02-12 20:43:01 +00:00
Daniel Barlow
65479e206b
use regular kernel not backports for mac80211
...
the kernel on most devices is now newer than the version that the
backported drivers were backported from
2024-02-12 20:41:10 +00:00
Daniel Barlow
79926c6fe7
remove call to deleted package
2024-02-12 14:56:12 +00:00
Daniel Barlow
ae4856ea7c
improve firewall comment
2024-02-12 13:56:56 +00:00
Daniel Barlow
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
Daniel Barlow
11287a8436
allow lan dns queries (ipv6)
2024-02-11 23:32:46 +00:00
Daniel Barlow
57aece0709
rotuer: don't forward queries for local domain
2024-02-11 23:32:46 +00:00
Daniel Barlow
c1d285a220
rotuer: network debugging tools
2024-02-11 23:32:46 +00:00
Daniel Barlow
dce983ec79
move kernel module to its own subdir
2024-02-11 18:15:55 +00:00
Daniel Barlow
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
Daniel Barlow
1206d02200
rotuer-secrets: remove root_password, add wifi ssid and domainName
...
this is step one towards getting rid of rotuer-secrets completely and
turning rotuer into a "profile" module that can be less hackily
customised for other people's networks
2024-02-11 15:56:14 +00:00
Daniel Barlow
7c196bf9b4
rotuer: make 5GHz wifi faster
...
VHT doesn't work unless HT is enabled, apparently
2024-02-11 15:38:19 +00:00
Daniel Barlow
86d19c54b3
turris omnia kernel: add RTC, i2c mux, eeprom
2024-02-09 22:34:46 +00:00
Daniel Barlow
aca3e11631
firewall: make ipv4 work
2024-02-08 23:15:48 +00:00
dan
273c66b2d3
Merge pull request 'Add support for TP-Link Archer AX23' ( #6 ) from raboof/liminix:add-archer-ax23-v1-bak into main
...
Reviewed-on: https://gti.telent.net/dan/liminix/pulls/6
2024-02-08 17:47:46 +00:00
Daniel Barlow
87f6a31a06
improve firewall log format
2024-02-08 17:21:26 +00:00
Daniel Barlow
a9ea01428e
firewall: don't drop in conntrack rule
...
as there are other rules following that might want to accept
2024-02-08 17:20:39 +00:00
Daniel Barlow
92b0bec038
rotuer: add schnapps and the rest of the lan interfaces
2024-02-07 23:48:10 +00:00
Daniel Barlow
82537bbe68
delete commented-out code
2024-02-07 23:47:38 +00:00
Daniel Barlow
efb29c5901
demo-firewall: add some rules for ipv4
2024-02-07 23:47:09 +00:00
Daniel Barlow
29e61be26c
rotuer: get lan rfc1918 prefix from secrets
2024-02-07 23:46:16 +00:00
Daniel Barlow
6f1f9d6f20
firewall: fix module loading
2024-02-07 23:43:41 +00:00
Daniel Barlow
34291292c0
fix dependency on kernel moduels in firewall service
2024-02-07 16:21:14 +00:00
Daniel Barlow
c9e4c1b0da
kernel-modules: use linuxArch instead of case expression
2024-02-07 16:20:34 +00:00
Daniel Barlow
891d6e5f20
thenk
2024-02-05 19:20:13 +00:00
dan
c4041b00f6
Merge pull request 'docs: add hardware recommendation' ( #2 ) from raboof/liminix:hardware-recommendations into main
...
Reviewed-on: https://gti.telent.net/dan/liminix/pulls/2
2024-02-05 15:56:07 +00:00
Daniel Barlow
f875622100
improve formatting
2024-02-04 18:24:01 +00:00
Daniel Barlow
49ec4a2961
installation instructions for Turris Omnia
...
feels like a milestone, or at least a big step towards one
2024-02-04 18:20:04 +00:00
Daniel Barlow
c8154a2db9
kernel: add "conditional" config
...
imagine: you are using a device that requires
CONFIG_MYDEVICE_FROBOZZ_DRIVER but only if CONFIG_FROBOZZ has been
specified elsewhere. Because we check that every requested config
symbol actually appears in .config then it can't be added
unconditionally or the build will fail if CONFIG_FROBOZZ wasn't asked
for.
I'm not 100% happy about this design but it's the best I've thought of
so far.
2024-02-04 18:12:15 +00:00
Daniel Barlow
02cf2c6b80
add ssh keys in recovry image
2024-02-04 18:10:58 +00:00
Daniel Barlow
b0709a6443
systemconfig: fix missing backslashes on env vars
2024-02-04 17:19:03 +00:00
Daniel Barlow
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
Daniel Barlow
ef707de8b1
add extlinux in recovery example
...
this needlessly bloats the TFTP image, which is a shame, but is
needed for installing onto usb stick
2024-02-02 19:51:41 +00:00
Daniel Barlow
89c88dd472
specify type for rootDevice module option
2024-02-02 19:50:13 +00:00
Daniel Barlow
c1ad139310
whitespace
2024-02-02 19:43:34 +00:00
Daniel Barlow
f682b26c29
omnia seems very fussy about tftp load address
...
when loading with 0x1000000 base address, something was getting
corrupted in the uncompressed rootfs
$ head -c $(printf "%d" 0x2be0000) rootfs | sha1sum
142571fe0436c18191727d1d4c2fd32163c1f2e1 -
=> sha1sum 0x1000000 2be0000
sha1 for 01000000 ... 03bdffff ==> 142571fe0436c18191727d1d4c2fd32163c1f2e1
but!
$ head -c $(printf "%d" 0x2bf0000) rootfs | sha1sum
7aa004ba87c6772bade491fbade164e2dfe100f9 -
=> sha1sum 0x1000000 2bf0000
sha1 for 01000000 ... 03beffff ==> 1a0923a94784d0c0b86006c5e6fff1649770dad3
2024-02-02 19:36:11 +00:00
Daniel Barlow
84ce618213
recovery: grow fs to partition size before starting sshd
...
sshd expects there to be space in /persist/secrets that it can
use to write host keys, but when we make ext4fs images we don't
put any free space in them
2024-01-28 11:30:19 +00:00
Daniel Barlow
9e199c6957
tftpboot: compute dtbSize *after* changing dtb
...
Adding the reserved-memory node to the dtb can cause it to grow
by enough that it needs an extra page - this will overlap the start
of the kernel image if we calculate offsets based on the original size
Reported-by: sinavir
Authored-by: sinavir
2024-01-26 22:51:58 +00:00
Daniel Barlow
c8e3d84bf4
think
2024-01-26 22:46:36 +00:00
Daniel Barlow
dd8ec18881
restore boot.tftp.freeSpaceBytes
2024-01-26 22:46:36 +00:00
Daniel Barlow
1730cf07b1
bug workaround
...
If we set squashfs rootfsType, the image doesn't rebuild when
the kernel config is changed. Need to figure out why
2024-01-26 22:46:36 +00:00
Daniel Barlow
de51bfe13d
default root device in recovery to sda1
...
It will probably work fine for USB-stick boot (except in the case
where there is > 1 usb device plugged in, so maybe don't do that)
It doesn't matter for TFTP boot because boot.scr overrides the root=
param anyway
2024-01-26 22:46:36 +00:00
Daniel Barlow
b09723345c
don't put all of util-linux in recovery
...
it adds ~ 5MB to the image size
2024-01-26 22:46:36 +00:00
Daniel Barlow
1781d4b6e4
add lzma to buildenv
2024-01-26 22:46:36 +00:00
Daniel Barlow
c219350d7c
add usb storage for turris omnia
...
ideally we would make this a module instead of compiling in
directly
2024-01-26 22:46:36 +00:00
dan
6f83282ff5
Merge pull request 'openwrt: update to v23.05.2' ( #4 ) from raboof/liminix:openwrt-update-to-v23.05.2 into main
...
Reviewed-on: https://gti.telent.net/dan/liminix/pulls/4
2024-01-26 22:39:11 +00:00
dan
5f2d1660bd
Merge pull request 'belkin-rt3200: Enable watchdog drivers' ( #3 ) from sinavir/liminix:add_belkin_watchdog into main
...
Reviewed-on: https://gti.telent.net/dan/liminix/pulls/3
2024-01-24 14:36:08 +00:00
Daniel Barlow
83ee488e4c
systemconfig: /boot needs to go inside /persist
2024-01-09 13:10:02 +00:00
Daniel Barlow
f19a937eda
omnia needs MARVELL_PHY for the WAN port to work
...
interestingly, we only see this when it boots from mmc, because
for tftpboot the bootloader has already performed negotiation
and therefore it works despite the missing option.
2024-01-09 13:07:14 +00:00
Daniel Barlow
f0490f37d5
turris omnia: tidy config, remove dead bits
2024-01-08 19:22:42 +00:00
Daniel Barlow
c1101d3af5
make extlinux work with liminix-rebuild
...
add /boot to the systemConfiguration closure
2024-01-08 18:58:07 +00:00
Daniel Barlow
9a3d7a387e
correct turris omnia root device
2024-01-08 18:55:41 +00:00
Daniel Barlow
228c0a1668
pass rootOptions config as rootflags= kernel cmdline opt
2024-01-08 18:54:49 +00:00
Daniel Barlow
63f034e362
preinit: parse rootflags= in kernel command line
2024-01-08 00:35:13 +00:00
Daniel Barlow
6971d03520
preinit: check return from write()
2024-01-07 21:24:16 +00:00
Daniel Barlow
7bc9cb6c55
why is extlink hardcoding root device?
2024-01-07 20:30:23 +00:00
Daniel Barlow
a251ceeb99
omnia releng
2024-01-07 16:54:44 +00:00
Daniel Barlow
38a7f0b03b
turris omnia: add all lan devices
...
I think we might turn "lan" into a bridge, but that's for later
2024-01-07 16:54:44 +00:00
Daniel Barlow
c0c4752350
systemconfig "install" cmd honours prefix on source
2024-01-07 16:54:44 +00:00
Daniel Barlow
3c941b4ce2
partial btrfs support
...
doesn't actually know how to make the filesystem, just
kernel config and accept it as a valid option
2024-01-07 16:43:43 +00:00
Daniel Barlow
243295aab8
recovery config for turris omnia
2024-01-07 14:58:46 +00:00
Daniel Barlow
45e8db09e1
liminix-rebuild: escape brackets in usage message
2024-01-07 14:18:19 +00:00
Daniel Barlow
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
Daniel Barlow
64898eada8
mount tmpfs on /tmp
...
too much stuff doesn't work without it and it's not
all worth patching
2024-01-04 23:22:02 +00:00
Daniel Barlow
136c5e6f32
alphabetize package list
2024-01-04 10:15:23 +00:00