Commit Graph
4072 Commits
Author SHA1 Message Date
Mattias Walström 0ea3380349 Upgrade python-libyang to support libyang4 2025-12-16 08:06:38 +01:00
Richard AlpeandGitHub 7fcbc88105 Merge pull request #1316 from kernelkit/statd-journaling
Add operational data journal with retention policy
2025-12-15 16:55:20 +01:00
Richard Alpe cb9aeea351 statd: compress journal snapshots with gzip
Store historical snapshots as compressed .json.gz files to reduce disk
usage. The operational.json file remains uncompressed for easy access.

Signed-off-by: Richard Alpe <richard@bit42.se>
2025-12-15 11:07:45 +01:00
Joachim WibergandGitHub 8d5e9c7ea0 Merge pull request #1320 from kernelkit/kernel-upgrade-c0ebffc2-d335-4b53-be81-f87050bba030
Upgrade to kernel 6.12.62
2025-12-13 07:13:35 +01:00
ael-bot 9fb9ac41d6 Upgrade Linux kernel to 6.12.62 2025-12-13 03:59:40 +00:00
Joachim WibergandGitHub 231bf1ed96 Merge pull request #1318 from kernelkit/rusage
Kernel config changes and resource usage monitoring
2025-12-12 11:55:11 +01:00
Tobias WaldekranzandGitHub 17d99aec41 Merge pull request #1312 from kernelkit/run-vs-qemu
Update documentation: qemu.sh -> run.sh
2025-12-11 00:05:55 +01:00
Richard Alpe c767a6f9a0 statd: add operational data journal with retention policy
Dump operational datastore to timestamped JSON snapshots every 5 minutes
(in /var/lib/statd/). The operational.json symlink always points to the
latest snapshot.

Implement hierarchical retention policy that keeps the first snapshot of
each time period (hour/day/week/month/year), providing fine-grained recent
history while preventing unbounded disk usage.

This will allow us to plot / track how the system state evolves as
well as give us somewhat fine-grained info in the case of an event,
such as a crash.

Add unit test simulating months of snapshots to verify retention
behavior using a statd stub that only runs the retention code locally
(unit test)

Signed-off-by: Richard Alpe <richard@bit42.se>
2025-12-09 16:16:53 +01:00
Joachim Wiberg c2a9ee4fbc board/*/linux_defconfig: panic on lockups and hung tasks
Turn on OOPS-to-panic, soft/hard lockup panic, hung-task panic, and
extra workqueue watchdog reporting. This makes latent stalls visible
instead of silently freezing, improving diagnosis of issues like the
recent resource-pressure lockup.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-12-08 17:01:54 +01:00
Joachim Wiberg d155f33b7c board/common: log disk/mem/filenr resource usage every hour
Dec  8 15:22:44 ix-00-00-00 watchdogd[2599]: Memory usage: 195036 kB, cached: 69740 kB, total: 423628 kB
Dec  8 15:22:44 ix-00-00-00 watchdogd[2599]: File system /var usage: blocks 4710/52564 inodes 80/65456
Dec  8 15:22:44 ix-00-00-00 watchdogd[2599]: File descriptor usage: 640/34603

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-12-08 17:01:54 +01:00
Joachim Wiberg f374bc12c5 Follow-up to ec0ed82b, update documentation
[skip ci]

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-12-07 09:15:47 +01:00
Joachim WibergandGitHub d9af63c2be Merge pull request #1311 from kernelkit/kernel-upgrade-077cf354-823d-43ad-b980-6022549c60dc
Upgrade to kernel 6.12.61
2025-12-07 08:39:19 +01:00
ael-bot 9044aef9d3 Upgrade Linux kernel to 6.12.61 2025-12-06 22:35:33 +00:00
Mattias WalströmandGitHub 6fafafc828 Merge pull request #1310 from kernelkit/remove-python-statd 2025-12-06 23:18:40 +01:00
Mattias Walström dc6abfaaae statd: Remove python-statd package
Now statd handling the rebuilding of the python libraries by using
the same script as buildroot uses for building python-packages.
2025-12-06 22:03:55 +01:00
Joachim WibergandGitHub 2d35f15242 Merge pull request #1306 from kernelkit/rip 2025-12-06 20:44:58 +01:00
Mattias WalströmandGitHub 167184ddd9 Merge pull request #1309 from kernelkit/rpi-fw
buildroot: bump rpi-firmware version to 95be71b
2025-12-06 15:39:56 +01:00
Joachim Wiberg 19471dd95e buildroot: bump rpi-firmware version to 95be71b
Newer board revisions of RPi4 and CM4, as well as older boards with
upgraded EEPROM, require newer firmware.

This is a backport of the latest rpi-firmware on Buildroot master.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-12-06 14:05:51 +01:00
Joachim WibergandGitHub 5e353a8470 Merge pull request #1307 from kernelkit/flaky 2025-12-06 14:03:35 +01:00
Joachim WibergandGitHub c35342baec Merge pull request #1308 from kernelkit/misc
Fix factory-config, duplicate IPv6 address entry
2025-12-06 13:08:01 +01:00
Mattias Walström 0a0e03a504 Add .claude to gitignore 2025-12-06 11:48:11 +01:00
Mattias Walström dd9ebf2d3f factory-config: Remove duplicate "ietf-ip:ipv6" node
Signed-off-by: Mattias Walström <lazzer@gmail.com>
2025-12-06 10:51:12 +01:00
Joachim Wiberg e596ffc7c4 doc: relocate support data collection to separate section
Does not really fit under "System Configuration".

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-12-05 17:46:05 +01:00
Joachim Wiberg 69bbf6fafc support: use $0 in usage text and error messages
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-12-05 16:33:06 +01:00
Joachim Wiberg c89c1f689b support: diagnostic debug for flaky test
This patch adds diagnostic data and additional logging to catch the root
cause for issue #1303:

  - Exactly when and why cleanup is called
  - Whether the cd /tmp command succeeds
  - The actual tar exit code (not just 255 from SSH)
  - Whether cleanup happens before tar completes (race condition)
  - The full collection.log showing the sequence of events

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-12-05 14:40:02 +01:00
Joachim Wiberg a6966dff88 doc: update ChangeLog, RIP support
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-12-05 11:15:35 +01:00
Joachim Wiberg ab54b4cf47 doc: add RIP documentation
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-12-05 11:12:04 +01:00
Joachim Wiberg 8c52ffc4ca test: update unit test data for new ip forwarding
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-12-05 11:12:04 +01:00
Joachim Wiberg 0a491ffff5 test: add new tests for RIP
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-12-05 11:12:03 +01:00
Joachim Wiberg 024b51cc6a statd: add support for ip forwarding operational state
This patch unlocks "routing interfaces" support in the ietf-routing yang
model.  An array of interface with IP forwarding enabled.

Note, because of #515 we skip IPv6 forwarding for now.  This will in the
near future be handled by a per-interface force_forwarding sysctl flag.

The 'show interface [ifname]' admin-exec command has been extended with
a Flags field for a quick overview of which interfaces have forwarding
currently enabled.

Fixes #647

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-12-05 11:12:03 +01:00
Joachim Wiberg 1cbc9a49a2 confd: initial support for rip
Fixes #582

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-12-05 10:58:35 +01:00
Tobias WaldekranzandGitHub dc6e82759a Merge pull request #1304 from kernelkit/post-post-post-image
Move to a post `post-post-image` world
2025-12-04 10:25:51 +01:00
Tobias Waldekranz db5309cb40 defconfig: Fix boot defconfigs post post-post-image
After merging post-post-image, TRUSTED_KEYS must be set in order for
the keys to be injected into the U-Boot DTB, so we need to explicitly
enable it for all boards that use the generic secure boot scripts.
2025-12-04 09:35:59 +01:00
Tobias Waldekranz c7bde09aa6 aarch64_qemu_boot: Don't repack a new QCOW image
This was a stray config fragment used during development that was
accedentally included in the referenced commit.

Fixes: 0fe5964909 ("aarch64_qemu_boot: Restore build after removing post-image.sh")
2025-12-04 09:35:53 +01:00
Joachim WibergandGitHub ec0ed82b71 Merge pull request #1267 from kernelkit/post-post-image
Move to a post post-image world

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-12-03 20:32:36 +01:00
Tobias Waldekranz bac11dad0f defconfig: Update all architectures to use new image types 2025-12-03 16:46:16 +01:00
Tobias Waldekranz 0fe5964909 aarch64_qemu_boot: Restore build after removing post-image.sh
Use the new image-itb-dl-release to compose a QCOW with Infix and
U-Boot, in the same way that we previously did in post-image.sh.
2025-12-03 16:46:15 +01:00
Tobias Waldekranz cf6e211b91 board/common/qemu: Downgrade CPU to Cortex-A53 on aarch64
This CPU has less emulation overhead than `max`, which is what we
mostly care about.
2025-12-03 16:46:14 +01:00
Tobias Waldekranz 87b3f9c304 board/common: Restore capability to create QEMU image from tarball
Previously, post-image.sh was able to create QEMU images from an
existing release tarball. This was useful when you wanted to test a
new bootloader build without having to wait for a full Infix build.

Restore this capability by adding a separate image target for it, and
then allow image-itb-qcow to source its input images from that instead
of a locally build squash+aux.
2025-12-03 16:46:13 +01:00
Tobias Waldekranz 04e33c0f15 board/common: Remove post-image.sh
Now that all components are generated from their own fragments, we
have no need for post-image.sh anymore.
2025-12-03 16:46:12 +01:00
Tobias Waldekranz 696d41d263 board/common: Move README.md installation to separate make target 2025-12-03 16:46:11 +01:00
Tobias Waldekranz 94f5463504 onieprom: Create proper package 2025-12-03 16:46:10 +01:00
Tobias Waldekranz ceb9c0bb6f board/common: Remove unused MMC image creation script
Remnants from the olde country.
2025-12-03 16:46:09 +01:00
Tobias Waldekranz 6e485ccb53 board/common: Skip unused infix-branded symlink to rootfs.squashfs
This is an internal artifact, so there is no need to give it a branded
name.
2025-12-03 16:46:08 +01:00
Tobias Waldekranz 516313b489 board/common: Move QEMU script generation to separate make target 2025-12-03 16:46:07 +01:00
Tobias Waldekranz 065c131285 board/common: Move GNS3 appliance creation to separate make target
Limit support to x86, like we do on the "official" appliances on the
marketplace. Aarch64 has never really been used AFAIK.

Avoid the os-release import, since all that info is not important now
that these appliance files are only for development scenarios. In all
other cases, the official one, based on a proper release, should be
used.
2025-12-03 16:46:06 +01:00
Tobias Waldekranz 046a736dc9 board/common: Remove broken "Traditional FIT image"
We have not installed .dtb:s to $O/images/ for quite some time, and
nobody cared. That goes to show that this is not really used.

The image is still useful at times, so if it needed in the future,
then we can resurrect it from the logs and refactor it to an image
package.
2025-12-03 16:46:05 +01:00
Tobias Waldekranz aee053c94b board/common: Move QEMU disk creation to separate make target 2025-12-03 16:46:04 +01:00
Tobias Waldekranz 290bdfcedb board/common: Consolidate aux.ext4 generation
Add a generic image target to build aux.ext4, which can be used both
when creating target-specific SD-card images, and when creating
regular disk images.

While we're here, make sure that we don't need a RAUC bundle in order
to generate aux.ext4 (which mkrauc-status.sh did). This saves us time
on _every_ incremental build.
2025-12-03 16:46:03 +01:00
Tobias Waldekranz dd98c57bc7 board/common: Move RAUC bundle creation to separate make target 2025-12-03 16:46:02 +01:00