Commit Graph
3611 Commits
Author SHA1 Message Date
Mattias WalströmandGitHub 3fcb6a376a Merge pull request #1142 from kernelkit/banana-pi
Add support for Banana Pi (BPi-R3)
2025-09-14 14:56:12 +02:00
Mattias Walström 33e873c2fa workflows: create-image: add banana pi r3 as target board
No eMMC support added yet, only SD card.
2025-09-14 13:37:49 +02:00
Mattias Walström 56fce18d66 workflows/build-boot: Add mt7976 bootloader
It is the chipset used on banana pi r3.
2025-09-14 13:37:49 +02:00
Mattias Walström 399894e9a1 Add new board banana pi r3
The Banana Pi R3 is a high-performance networking board featuring:
- MediaTek MT7986 ARM Cortex-A53 quad-core processor
- 4x Gigabit LAN ports (lan1-lan4)
- 1x Gigabit WAN port
- 2x SFP ports (sfp1, sfp2) for fiber connectivity
- Dual WiFi interfaces (wifi0 for 2.4GHz, wifi1 for 5GHz)
- USB support
- SD card boot support
2025-09-14 13:37:48 +02:00
Mattias Walström 8146e0570e gen-interfaces: Fix bug when generating on boards with mounted Wi-Fi chipsets
These should not appear in a generated factory-config or failure-config.
2025-09-12 23:23:14 +02:00
Mattias WalströmandGitHub 153ceda2f4 Merge pull request #1153 from kernelkit/upgrade-buildroot
Upgrade buildroot and linux kernel
2025-09-11 14:12:49 +02:00
Mattias Walström b134733dd2 Upgrade Buildroot to 2025.02.6 (LTS) 2025-09-11 09:21:39 +02:00
Mattias Walström 8082b271d9 Upgrade Linux kernel to 6.12.46 (LTS) 2025-09-11 09:21:38 +02:00
Mattias WalströmandGitHub 02d8c97e98 Merge pull request #1145 from kernelkit/add-resize
Add resize2fs to be able to resize ext partitions
2025-09-08 10:44:09 +02:00
Mattias Walström 7bb3f64191 Add resize2fs to be able to resize ext partitions
This is useful when using sdcard images, to expand /var to cover rest of disk.
2025-09-08 08:27:16 +02:00
Joachim WibergandGitHub f2af4d6cdf Merge pull request #1141 from kernelkit/defconfig-branding
Update factory-configs and links and description in defconfigs
2025-09-07 23:00:14 +02:00
Joachim Wiberg 4417465135 Update factory-config.cfg for NanoPi and RPi
The motd-banner was behind on the new slogan:

.-------.
|  . .  | Infix OS — Immutable.Friendly.Secure
|-. v .-| https://kernelkit.org
'-'---'-'

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-09-07 19:30:21 +02:00
Joachim Wiberg cf50c75a3e Update links to vendor + docs, and a more relevant description
Fixes #1134

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-09-07 19:30:12 +02:00
Joachim WibergandGitHub 7ab265992a Merge pull request #1140 from kernelkit/more-logo-sizes 2025-09-07 18:43:08 +02:00
Joachim Wiberg 35cf9e4cc9 doc: add more logos for convenience
This commit completes the collection.  We now have small, medium, and
large sizes.  Useful for easy conversion to other formats, e.g., bmp.

[skip ci]

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-09-07 18:21:36 +02:00
Mattias WalströmandGitHub 3fbbd16690 Merge pull request #1118 from kernelkit/create-sdcard
Create sdcard
2025-09-07 18:07:40 +02:00
Mattias Walström 01029321c9 board: rpi4: Add splashscreen on boot
Show splash in uboot.
2025-09-07 18:06:43 +02:00
Mattias Walström 0477446e49 package/bootloader-splashscreen: New packet for adding/modify bootloader splash 2025-09-07 18:06:43 +02:00
Mattias Walström 700ec2f855 Add crete SD Card workflow 2025-09-07 13:43:27 +02:00
Mattias Walström 709f2769ce Build aux when build infix 2025-09-07 13:43:26 +02:00
Mattias Walström 19b965ac41 RPI4: dts: Create a new device tree for the DSI display 2025-09-07 13:43:26 +02:00
Mattias Walström 28d8748bdb uboot: Att uboot patches for 2025.01
- Fix CTRL-C misbehave
- Add new command to detect RPI standard display
2025-09-07 13:43:25 +02:00
Mattias WalströmandGitHub 497990a2d3 Merge pull request #1138 from kernelkit/test-sanity 2025-09-05 18:55:18 +02:00
Mattias Walström dce9a9c53d test: Add new sanity check tests
One to verify it is the correct version on the duts and one
that check that it is the correct bootorder.
2025-09-05 16:34:11 +02:00
Mattias Walström 4f0aded5a0 utils: Add script to add a new version to GNS3 marketplace
You need first to clone gns3-registry from https://github.com/GNS3/gns3-registry

Follow this steps:
1. ./utils/bump-gns3.py 25.08.0 ../../gns3/gns3-registry/appliances/infix.gns3a
2. TEST in gns3, just add the new version, start it.
3. run python3 check.py inside gns3-registry, verify infix is ok.
4. Create a pull request to gns3-registry

This fix #1107
2025-09-04 17:48:43 +02:00
Mattias Walström 73298469d5 Upgrade Linux kernel to 6.12.45 (LTS) 2025-09-04 17:48:42 +02:00
Mattias WalströmandGitHub 7c019190c8 Merge pull request #1133 from kernelkit/ci-fixes
CI: Only build minimal for PRs without ci:main tag
v25.08.0 v25.08.0-rc2
2025-09-02 14:22:33 +02:00
Richard Alpe 17df77ca0f .github: rename ci work branch
This branch can be used to test push events which is especially
useful when working on the CI infrastructure.

Signed-off-by: Richard Alpe <richard@bit42.se>
2025-09-02 13:16:05 +02:00
Richard Alpe a188f4269d .github: only run _minimal build for PRs
PRs which doesn't have the label ci:main.

Signed-off-by: Richard Alpe <richard@bit42.se>
2025-09-02 13:14:39 +02:00
Mattias WalströmandGitHub 6cdcd5775d Merge pull request #1126 from kernelkit/misc
Upgrade podman to fix critical container issues
v25.08.0-rc1
2025-09-02 12:05:17 +02:00
Joachim Wiberg 1d0c2be515 patches: silence libyang "Obsolete schema node" warnings in log
Fixes #1127

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-09-02 10:53:49 +02:00
Joachim Wiberg fc7e1d0745 test/case/infix_containers: extend retry for containers
For a heavily loaded system, 10 seconds/retries is not enough time to
expect containers to have started up.  Particularly after the changes
done recently to do prune before and after a container is started.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-09-02 10:53:49 +02:00
Joachim Wiberg 950a6ef794 test/case/infix_containers: new test, verify environment
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-09-02 10:53:48 +02:00
Joachim Wiberg 7f829cfbdf test/case/infix_containers: new test, verify enable/disable
Regression test for issue #1123

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-09-02 10:53:48 +02:00
Joachim Wiberg 86df54c107 test/case/infix_containers: ensure IP forwarding is enabled
Usually the CNI bridge plugin "takes care" of enabling IPv4 forwarding
on all interfaces, see issue #1125, but when the container tests are run
in a different order from the infix_containers.yaml, Infix may reset the
IPv4 forwarding on this critical interface.

This change is both future proof and also ensures the test works as it
was intended even if tests are run out-of-order.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-09-02 10:53:47 +02:00
Joachim Wiberg 34dead1a50 test/case: disable mdns-allow-deny for release, unstable
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-09-02 10:53:47 +02:00
Joachim Wiberg 313554d12e test/case: minor, cleanup
- Drop redundant comments
 - Drop redundant imports
 - PEP-8 fixes

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-09-01 14:03:51 +02:00
Joachim Wiberg 8b39d3fdc7 confd: explicitly declare cni backends
- the port-mapping plugin supports iptables or nftables
 - the firewall plugin support only iptables or firewalld

Enforce use of iptables wrapper for nftables, for now, in both plugins.
This all needs to be refactored to run podman with "unmanaged" networks
in the future.

Related to issue #1125

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-09-01 14:03:51 +02:00
Joachim Wiberg 66a5e5304b board/common: fix container network change detection on pull
When a container's image is on an inaccessible remote server, the
container wrapper script waits in the background for any netowrk
changes to retry download of the image.

This change avoids the dangerous previous construct, and is also
easier to read: timeuot after 60 seconds unless ip monitor reads
at least one event before that.

Fixes #1124

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-09-01 14:03:50 +02:00
Joachim Wiberg 12df83e6d2 board/common: allow containers to shut down properly
The extended kill delay (10 sec) is sometimes not enough for complex
system containers.  Also, podman sometimes take the opportunity to do
housekeeping tasks when stopping a container.  So, allow for up to 30
sec. grace period before we send SIGKILL.

With the latest image prune extension, set a 60 sec. timeout for the
cleanup task, in case podman gets stuck.  This to prevent any future
mishaps.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-09-01 14:03:50 +02:00
Joachim Wiberg 6b0145f92e board/common: minor fix to usage text, and silence logs
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-09-01 14:03:50 +02:00
Joachim Wiberg b21043c7e5 package/podman: bump 4.5.0 -> 4.9.5
This major upgrade, along with the upgrade to Finit v4.14, is what is
needed to fix #1123, which was caused by some odd futex locking bug in
Podman that left lingering issues in /var/lib/containers state files.
The root cause as fixed already in v4.7.x, but since CNI is supported
up to and including 4.9.5, going with a later release seemd prudent.

Full changelogs at:
 - <https://github.com/containers/podman/releases/tag/v4.5.1>
 - <https://github.com/containers/podman/releases/tag/v4.6.0>
 - <https://github.com/containers/podman/releases/tag/v4.6.1>
 - <https://github.com/containers/podman/releases/tag/v4.6.2>
 - <https://github.com/containers/podman/releases/tag/v4.7.0>
 - <https://github.com/containers/podman/releases/tag/v4.7.1>
 - <https://github.com/containers/podman/releases/tag/v4.7.2>
 - <https://github.com/containers/podman/releases/tag/v4.8.0>
 - <https://github.com/containers/podman/releases/tag/v4.8.1>
 - <https://github.com/containers/podman/releases/tag/v4.8.2>
 - <https://github.com/containers/podman/releases/tag/v4.8.3>
 - <https://github.com/containers/podman/releases/tag/v4.9.0>
 - <https://github.com/containers/podman/releases/tag/v4.9.1>
 - <https://github.com/containers/podman/releases/tag/v4.9.2>
 - <https://github.com/containers/podman/releases/tag/v4.9.3>
 - <https://github.com/containers/podman/releases/tag/v4.9.4>
 - <https://github.com/containers/podman/releases/tag/v4.9.5>

Fixes #1123

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-09-01 12:25:55 +02:00
Joachim Wiberg ab9b2f555b package/finit: bump to v4.14
Highlights:
 - fixes to systemd and s6 type services
 - bare-bones libsystemd replacement with #include <systemd/sd-daemon.h>
 - new reload:script mimicking systemd ExecReload, and
 - new stop:script mimicking systemd ExecStop
 - exit status/signal info when a process dies
 - service kill:SEC now support up to 300 sec.
 - the /tmp/norespawn trick now also covers service_retry()
 - the sysv 'stop' command process environment is now same as 'start'
 - State machine ordering issue: enter new config generation after
   services disabled in previous generation have been stopped

Full changelog at:
 - <https://github.com/troglobit/finit/releases/tag/4.13>
 - <https://github.com/troglobit/finit/releases/tag/4.14>

Fixes #1123

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-09-01 12:25:54 +02:00
Joachim Wiberg cfeefc1d86 doc: slight refresh and pivot
As Infix matures as an operating system it is quickly becoming more and
more useful also for end-device use-cases.  The README should reflect
this change in focus.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-09-01 12:25:54 +02:00
Joachim Wiberg d65c478a28 doc: update logo with new slogan
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-09-01 11:05:36 +02:00
Joachim Wiberg 477f7aed72 Follow-up to bb19d064, prune *all* unused images
From the documentation:

> 'podman image prune' removes all dangling images from local storage.
> With the all option, all unused images are deleted (i.e., images not
> in use by any container).
>
> The image prune command does not prune cache images that only use
> layers that are necessary for other images.

So, when the container script is called in the cleanup phase of the
lifetime of a container, we can use the '--all' option to ensure we also
remove this container's loaded image.  In the case this happens before
a reboot of the system, there will be no old version of the image loaded
to /var/lib/containers after boot.

Issue #1098

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-09-01 11:05:35 +02:00
Joachim WibergandGitHub da3bf57515 Merge pull request #1116 from kernelkit/ci-fixes
.github: various small improvements

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-08-31 23:51:58 +02:00
Joachim WibergandGitHub 0d43e135a9 Merge pull request #1120 from kernelkit/upgrade-kernel
Upgrade Linux kernel to 6.12.44 (LTS)
2025-08-29 09:53:34 +02:00
Mattias Walström ddd5172a6b Upgrade Linux kernel to 6.12.44 (LTS) 2025-08-29 08:41:18 +02:00
Tobias WaldekranzandGitHub 6717bbbe26 Merge pull request #1117 from kernelkit/test-stability
Test stability
2025-08-27 13:23:15 +02:00