Compare commits

...
22 Commits
Author SHA1 Message Date
Joachim WibergandGitHub 8d57337fcf Merge pull request #1567 from kernelkit/kernel-upgrade-c7cf8e8a-c974-4873-a74d-00042e95b98b
Upgrade to kernel 6.18.39
2026-07-18 20:16:26 +02:00
ael-bot b29bbc56f9 Upgrade Linux kernel to 6.18.39 2026-07-18 15:42:43 +00:00
Joachim WibergandGitHub 05e34a5441 Merge pull request #1566 from kernelkit/bump-buildroot 2026-07-16 13:09:16 +02:00
Mattias Walström ec52472949 Bump buildroot to 2025.02.16
2025.02.16, released July 15, 2026

	Important / security related fixes:

	apache: CVE-2026-29167, CVE-2026-29170, CVE-2026-34355, CVE-2026-34356,
	  CVE-2026-42535, CVE-2026-42536, CVE-2026-43951, CVE-2026-44119,
	  CVE-2026-44185, CVE-2026-44186, CVE-2026-44631, CVE-2026-48913,
	  CVE-2026-49975
	asterisk: GHSA-3g56-cgrh-95p5, GHSA-3rhj-hhw7-m6fw,
	  GHSA-4pgv-j3mr-3rcp, GHSA-589g-qgf8-m6mx, GHSA-746q-794h-cc7f,
	  GHSA-8jhw-m2hg-vp3h, GHSA-8jw3-ccr9-xrmf, GHSA-g8q2-p36q-94f6,
	  GHSA-h5hv-jmgj-92q2, GHSA-j2mm-57pq-jh94, GHSA-mxgm-8c6f-5p8f,
	  GHSA-ph27-3m5q-mj5m, GHSA-q9fr-m7g8-6ph5, GHSA-qf8j-jp7h-c5hx,
	  GHSA-r6c2-hwc2-j4mp, GHSA-vfhr-r9x9-c687, GHSA-vrfp-mg3q-3959,
	  GHSA-wcvv-g26m-wx5c, GHSA-x348-j6c9-77f3, GHSA-xgj6-2gc5-5x9c
	avahi: CVE-2026-34933
	bind: (no CVE assigned), CVE-2026-3593
	cpp-httplib: CVE-2026-45352, CVE-2026-45372, CVE-2026-46527
	cups-filters: CVE-2025-64503
	expat: CVE-2026-50219, CVE-2026-56131, CVE-2026-56132, CVE-2026-56403,
	  CVE-2026-56404, CVE-2026-56405, CVE-2026-56406, CVE-2026-56407,
	  CVE-2026-56408, CVE-2026-56409, CVE-2026-56410, CVE-2026-56411,
	  CVE-2026-56412
	ghostscript: (no CVE assigned)
	glibc: CVE-2026-5450, CVE-2026-5928
	icu: CVE-2025-5222
	imagemagick: CVE-2026-48724, CVE-2026-48733, CVE-2026-48734,
	  CVE-2026-48994, CVE-2026-49218, CVE-2026-49219, CVE-2026-53460,
	  CVE-2026-53461, CVE-2026-53462, CVE-2026-53463, CVE-2026-53464,
	  CVE-2026-53465
	jq: CVE-2026-32316, CVE-2026-33947, CVE-2026-33948, CVE-2026-39979,
	  CVE-2026-40164, CVE-2026-40612, CVE-2026-41256, CVE-2026-41257,
	  CVE-2026-43894, CVE-2026-43896, CVE-2026-44777, CVE-2026-49839,
	  CVE-2026-54679
	libarchive: (no CVE assigned)
	libcurl: CVE-2026-10536, CVE-2026-11352, CVE-2026-11564,
	  CVE-2026-11586, CVE-2026-11856, CVE-2026-12064, CVE-2026-8286,
	  CVE-2026-8458, CVE-2026-8924, CVE-2026-8925, CVE-2026-8926,
	  CVE-2026-8927, CVE-2026-8932, CVE-2026-9079, CVE-2026-9080,
	  CVE-2026-9545, CVE-2026-9546, CVE-2026-9547
	libevent: (no CVE assigned)
	libglib2: CVE-2025-14087
	libgsasl: CVE-2026-48829
	libinput: CVE-2026-50292
	libopenssl: CVE-2026-34180, CVE-2026-34181, CVE-2026-34182,
	  CVE-2026-34183, CVE-2026-42764, CVE-2026-42766, CVE-2026-42767,
	  CVE-2026-42768, CVE-2026-42769, CVE-2026-42770, CVE-2026-45445,
	  CVE-2026-45446, CVE-2026-45447, CVE-2026-7383, CVE-2026-9076
	libssh2: CVE-2026-55199, CVE-2026-55200
	mariadb: CVE-2026-48163, CVE-2026-48165, CVE-2026-49261
	mesa3d: CVE-2026-40393
	mongoose: (no CVE assigned yet)
	nginx: CVE-2026-42055, CVE-2026-48142
	openjpeg: CVE-2026-6192
	openvpn: CVE-2026-11771, CVE-2026-12932, CVE-2026-12996,
	  CVE-2026-13117, CVE-2026-13122, CVE-2026-13698
	php: CVE-2026-12184, CVE-2026-14355
	python-django: CVE-2026-35192, CVE-2026-35193, CVE-2026-48587,
	  CVE-2026-5766, CVE-2026-6873, CVE-2026-6907, CVE-2026-7666,
	  CVE-2026-8404
	python3: CVE-2026-11940, CVE-2026-9669
	redis: CVE-2026-23479, CVE-2026-23631, CVE-2026-25243
	squid: CVE-2026-33515, CVE-2026-33526, CVE-2026-47729, CVE-2026-50012
	sudo: CVE-2026-35535
	swupdate: CVE-2026-28525
	tiff: CVE-2026-36849
	tor: TROVE-2026-025, TROVE-2026-026.
	util-linux: CVE-2025-14104, CVE-2026-27456, CVE-2026-53612,
	  CVE-2026-53613, CVE-2026-53614
	webkitgtk: CVE-2026-28847, CVE-2026-28883, CVE-2026-28901,
	  CVE-2026-28902, CVE-2026-28903, CVE-2026-28904, CVE-2026-28905,
	  CVE-2026-28907, CVE-2026-28942, CVE-2026-28946, CVE-2026-28947,
	  CVE-2026-28953, CVE-2026-28955, CVE-2026-28958, CVE-2026-43658,
	  CVE-2026-43660
	wolfssl: CVE-2026-10097, CVE-2026-10098, CVE-2026-10512,
	  CVE-2026-10592, CVE-2026-11310, CVE-2026-11703, CVE-2026-11999,
	  CVE-2026-12340, CVE-2026-55958, CVE-2026-55960, CVE-2026-55961,
	  CVE-2026-55962, CVE-2026-55964, CVE-2026-55967, CVE-2026-6091,
	  CVE-2026-6092, CVE-2026-6094, CVE-2026-6291, CVE-2026-6325,
	  CVE-2026-6329, CVE-2026-6330, CVE-2026-6331, CVE-2026-6412,
	  CVE-2026-6450, CVE-2026-6678, CVE-2026-6681, CVE-2026-6731,
	  CVE-2026-7511, CVE-2026-7531, CVE-2026-7532, CVE-2026-8720

	Toolchain:

	- gcc: bump 14.x series to 14.4.0
	- glibc, localedef: security bump to version 2.41-143-gfc7a48bc9

	Infrastructure updates/fixes:

	- support/testing Improve TestPythonPy3NetworkmanagerGoi
	- generate-cyclonedx: fixup scp-style git sites
	- support/testing: Fix test_gnupg2
	- support/testing: various internal refactorings

	Updated / fixed packages: apache, asterisk, avahi, bind, bind,
	  cpp-httplib, cpp-httplib, cups-filters, expat, gcc:, ghostscript,
	  glibc, hwdata, icu, imagemagick, jq, kodi-screensaver-rsxs,
	  libarchive, libcurl, libepoxy, libevent, libglib2, libglib2,
	  libglib2-bootstrap, libgsasl, libgsasl, libinput, libopenssl,
	  libssh2, libssh2, linux, mariadb, mdnsd, mesa3d, mongoose, mpd,
	  nginx, ntp, openjpeg, openrc, openvpn, php, python-django, python3,
	  python3, qt5, redis, rsync, ruby, shadow, shim, squid, squid, squid,
	  squid, strongswan, sudo, swupdate, tiff, tor, util-linux, util-linux,
	  util-linux, util-linux, util-linux, util-linux, webkitgtk, wolfssl
2026-07-16 10:53:11 +02:00
Joachim WibergandGitHub 05fe5b5d46 Merge pull request #1563 from kernelkit/misc
Firewall address-set support
2026-07-06 09:37:21 +02:00
Joachim Wiberg 17a1b80b83 Namespace Infix Kconfig options under IX_
Infix defines its own Kconfig options with unprefixed names (IMAGE_*,
QEMU_*, TRUSTED_KEYS*) and an INFIX_ prefix.  Unprefixed names risk
clashing with Buildroot and with other br2-externals/spins that source
our tree.

Rename all 86 options to a common IX_ prefix, collapsing the existing
INFIX_ ones, e.g. INFIX_IMAGE_ID becomes IX_IMAGE_ID.  The os-release
INFIX_DESC field is a runtime interface, not a Kconfig option, and is
kept; the qemu Config.in generator's @ARCH@ symbol is updated to match.

Closes #1305

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-07-06 05:28:11 +02:00
Joachim Wiberg 461c092346 .github: publish .pkg bundle and Raspberry Pi image on release
Releases exposed the RAUC upgrade bundle only inside the per-arch
tarball, and shipped no ready-to-flash Raspberry Pi image; users had
to unpack the tarball or assemble an image from a separate bootloader.

Upload output/images/*.pkg as its own artifact, and build an rpi64 SD
card image in the aarch64 release leg before rootfs.squashfs is
stripped from the tarball, combining it with the rpi64 bootloader from
the latest-boot release.  Publish both as release assets; the tarball
still carries the .pkg too.

Closes #1084

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-07-06 05:28:10 +02:00
Joachim Wiberg b2a7c0aac5 board: enable ip_nonlocal_bind for IPv4 and IPv6
Services could not bind to addresses not yet present on an interface,
e.g. floating VIPs managed by a routing daemon, since nonlocal bind
was left at the kernel default of disabled.

Enable net.ipv4.ip_nonlocal_bind and net.ipv6.ip_nonlocal_bind among
the router defaults in /etc/sysctl.d.

Closes #1022

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-07-06 05:28:09 +02:00
Joachim Wiberg e3a0426154 board: mark developer U-Boot builds with -DEVEL
Developer builds report the bare upstream U-Boot version, e.g.
2025.01, and are easily mistaken for release builds.  Nothing stamps
a local version on non-release builds to tell them apart.

Write a .scmversion of -DEVEL from a pre-build hook when INFIX_RELEASE
is unset, so developer builds report 2025.01-DEVEL.  Release builds
are left untouched.

Closes #919

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-07-06 05:28:09 +02:00
Joachim Wiberg 2a51fc41d7 .github: enable mirror.internal for builders
Closes #985

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-07-06 05:28:08 +02:00
Joachim Wiberg b0de6fc89c configs: switch arm and riscv64 to pre-built go toolchain
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-07-06 05:28:08 +02:00
Joachim Wiberg 52ba6d2ecc utils: mirroring script for download artifacts
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-07-06 05:23:53 +02:00
Mattias WalströmandGitHub ef9cfafdd9 Merge pull request #1564 from kernelkit/kernel-upgrade-a4683739-6d7e-4d01-a5c8-bebf8cf6fabc
Upgrade to kernel 6.18.38
2026-07-05 11:05:38 +02:00
ael-bot dc0519043e Upgrade Linux kernel to 6.18.38 2026-07-05 06:53:18 +00:00
Joachim Wiberg 4c6aa115a3 webui: fix more wrappers decoding keyed GETs as bare nodes
Three more RESTCONF wrappers assume the response to a keyed GET is the
bare node, when the server nests it under the full parent path: the
container resource-usage stats always read zero, the WireGuard listen
port never populated, and resetting advertised link modes silently
re-enabled auto-negotiation on links where it was forced off.

Same class of bug as the firewall zone reset fix: the decode matches
nothing and the zero value is used as if valid.  Model the full nesting
in all three wrappers, reusing the existing container list wrapper.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-07-04 09:32:02 +02:00
Joachim Wiberg 7291b812a6 webui: fix firewall zone service resets
Resetting a zone's services (or interfaces) wiped the entire zone:
action, interfaces, address-sets, everything but the name.

The keyed zone GET decodes into a wrapper expecting the node bare, but
the server nests it under the full parent path:

    {"infix-firewall:firewall": {"zone": [ ... ]}}

The decode silently matched nothing, so the reset handler rebuilt the
zone from an empty struct and PUT only the zone name.  The same
mismatch also broke network preservation when saving a zone.

Clear leaf-lists by deleting each instance instead of rebuilding the
zone with PUT, so a reset cannot touch anything else.  Fix the wrapper
shape, document the nesting convention on the RESTCONF client Get, and
log a warning when a non-empty response decodes to a zero-valued
wrapper.  When saving zones, omit empty leaf-lists and a defaulted
action.  Refresh the firewall page after resets and update the handler
tests to mock the real response shape.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-07-04 09:32:01 +02:00
Joachim Wiberg 56ea7faa7c Add firewall address-set (ipset) support
Add firewall address-sets: named sets of IP addresses and networks,
usable as zone sources for per-IP access control, issue #1189.  Static
entries are part of the configuration; dynamic entries are managed at
runtime with new add/remove/flush actions, from the CLI or over
NETCONF/RESTCONF.  Dynamic entries survive firewall configuration
changes but are not saved to the configuration.  Sets with a timeout
expire their entries automatically.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-07-03 08:59:37 +02:00
Joachim Wiberg ca1d40cf7a package/webui: add missing license hash
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-07-01 10:34:12 +02:00
Joachim Wiberg 5b370745fd package/netbrowse: add missing license hash
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-07-01 10:33:59 +02:00
Tobias WaldekranzandGitHub 2a766d7886 Merge pull request #1545 from kernelkit/factory-config-test
test: add generic boot-from-factory-config test
2026-07-01 10:14:13 +02:00
Richard Alpe e233dbc6da test: reboot at end of factory config test to restore
Reboot at end of factory config test to restore test config.

Signed-off-by: Richard Alpe <richard@bit42.se>
2026-06-30 17:19:07 +02:00
Richard Alpe d333c66f9c test: add generic boot-from-factory-config test
Verify that the device's factory-default configuration boots cleanly and
that the device remains usable afterwards -- i.e. it does not fall back to
the fail-secure failure-config.

The test exercises the device's own first-boot bootstrap path: it clears
the startup-config and reboots with the test-mode startup override set, so
confd initialises running from the factory-config (its first-boot path).
That mirrors a factory-fresh / factory-reset device and avoids applying a
full config swap over the live management session -- confd cannot replace
the whole running datastore from within an RPC without timing out, and a
factory config may reconfigure the very transport we are connected over.

The test is image-generic, using whatever factory-config the running image
was built with, so it covers both the stock Infix factory config and any
spin factory config. A single-node (1x1) topology is used on purpose: a
factory config is not written with a lab full of peers in mind, so booting
it across a multi-node topology could trigger broadcast storms or similar.
NETCONF only, as it is the one management transport present in every
factory config.

Signed-off-by: Richard Alpe <richard@bit42.se>
2026-06-30 10:32:43 +02:00
152 changed files with 2922 additions and 583 deletions
+1 -1
View File
@@ -78,7 +78,7 @@ jobs:
- name: Configure ${{ matrix.defconfig }}_defconfig - name: Configure ${{ matrix.defconfig }}_defconfig
run: | run: |
make ${{ matrix.defconfig }}_defconfig make ${{ matrix.defconfig }}_defconfig apply-mirror
- name: Build ${{ matrix.defconfig }}_defconfig - name: Build ${{ matrix.defconfig }}_defconfig
run: | run: |
+1 -1
View File
@@ -173,7 +173,7 @@ jobs:
export BUILD_DIR=$PWD/build export BUILD_DIR=$PWD/build
export BR2_EXTERNAL_INFIX_PATH=$PWD export BR2_EXTERNAL_INFIX_PATH=$PWD
export RELEASE="" export RELEASE=""
export INFIX_ID="infix" export IX_ID="infix"
for target in $TARGETS; do for target in $TARGETS; do
export BINARIES_DIR=$PWD/output_${target}/images export BINARIES_DIR=$PWD/output_${target}/images
+25 -1
View File
@@ -54,7 +54,7 @@ jobs:
run: | run: |
target=${{ matrix.target }}_defconfig target=${{ matrix.target }}_defconfig
echo "Building $target ..." echo "Building $target ..."
make $target make $target apply-mirror
make make
- name: Generate SBOM from Build - name: Generate SBOM from Build
@@ -70,6 +70,25 @@ jobs:
run: | run: |
make test-spec make test-spec
# rootfs.squashfs is still present here; it is stripped from the
# tarball below. mkimage pulls the rpi64 bootloader from the
# latest-boot release and uses the freshly built host genimage.
- name: Build Raspberry Pi image
if: matrix.target == 'aarch64'
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
./utils/mkimage.sh -d -r output raspberrypi-rpi64
mkdir -p rpi-image
mv output/images/*-rpi64-sdcard.img rpi-image/
xz -T0 rpi-image/*-rpi64-sdcard.img
- uses: actions/upload-artifact@v7
if: matrix.target == 'aarch64'
with:
name: artifact-rpi64-image
path: rpi-image/*.img.xz
- name: Prepare Artifacts - name: Prepare Artifacts
run: | run: |
cd output/ cd output/
@@ -98,3 +117,8 @@ jobs:
with: with:
name: artifact-disk-image-${{ matrix.target }} name: artifact-disk-image-${{ matrix.target }}
path: output/images/*.qcow2 path: output/images/*.qcow2
- uses: actions/upload-artifact@v7
with:
name: artifact-pkg-${{ matrix.target }}
path: output/images/*.pkg
+1 -1
View File
@@ -129,7 +129,7 @@ jobs:
- name: Configure ${{ env.TARGET }} - name: Configure ${{ env.TARGET }}
run: | run: |
make ${{ env.TARGET }}_defconfig make ${{ env.TARGET }}_defconfig apply-mirror
- name: Cleanup stale containers and ports - name: Cleanup stale containers and ports
run: | run: |
+1 -1
View File
@@ -95,7 +95,7 @@ jobs:
makeLatest: ${{ steps.rel.outputs.latest }} makeLatest: ${{ steps.rel.outputs.latest }}
discussionCategory: ${{ steps.rel.outputs.cat }} discussionCategory: ${{ steps.rel.outputs.cat }}
bodyFile: release.md bodyFile: release.md
artifacts: "*.tar.gz,*.qcow2" artifacts: "*.tar.gz,*.qcow2,*.pkg,*.img.xz"
- name: Summary - name: Summary
run: | run: |
+19 -19
View File
@@ -2,7 +2,7 @@ source "$BR2_EXTERNAL_INFIX_PATH/board/Config.in"
menu "Branding" menu "Branding"
config INFIX_VENDOR config IX_VENDOR
string "Vendor name" string "Vendor name"
default "KernelKit" default "KernelKit"
help help
@@ -15,7 +15,7 @@ config INFIX_VENDOR
Used for VENDOR_NAME in /etc/os-release and GNS3 appliance files. Used for VENDOR_NAME in /etc/os-release and GNS3 appliance files.
config INFIX_VENDOR_HOME config IX_VENDOR_HOME
string "Vendor URL" string "Vendor URL"
help help
The homepage of the OS vendor. The value should be in RFC3986 The homepage of the OS vendor. The value should be in RFC3986
@@ -24,14 +24,14 @@ config INFIX_VENDOR_HOME
Optional, used for VENDOR_HOME in /etc/os-release Optional, used for VENDOR_HOME in /etc/os-release
config INFIX_NAME config IX_NAME
string "Operating system name" string "Operating system name"
default "Infix" default "Infix"
help help
Mandatory. Used for identifying the OS as NAME in /etc/os-release Mandatory. Used for identifying the OS as NAME in /etc/os-release
and product_name in GNS3 appliance files. and product_name in GNS3 appliance files.
config INFIX_ID config IX_ID
string "Operating system identifier" string "Operating system identifier"
default "infix" default "infix"
help help
@@ -43,9 +43,9 @@ config INFIX_ID
Mandatory. Used for identifying the OS as ID in /etc/os-release and Mandatory. Used for identifying the OS as ID in /etc/os-release and
in the generated image name: ID-ARCH-VERSION.img in the generated image name: ID-ARCH-VERSION.img
config INFIX_IMAGE_ID config IX_IMAGE_ID
string "Operating system image name" string "Operating system image name"
default "${INFIX_ID}-${BR2_ARCH}" default "${IX_ID}-${BR2_ARCH}"
help help
A lower-case string (no spaces or other characters outside of 09, A lower-case string (no spaces or other characters outside of 09,
az, ".", "_" and "-"), for naming critical image files, directories az, ".", "_" and "-"), for naming critical image files, directories
@@ -54,18 +54,18 @@ config INFIX_IMAGE_ID
Mandatory. When INFIX_RELEASE is set, this string is appended to Mandatory. When INFIX_RELEASE is set, this string is appended to
the IMAGE_ID with a '-' separator. the IMAGE_ID with a '-' separator.
config INFIX_COMPATIBLE config IX_COMPATIBLE
string "Operating system compatible string" string "Operating system compatible string"
default "${INFIX_IMAGE_ID}" default "${IX_IMAGE_ID}"
help help
A lower-case string (no spaces or other characters outside of 09, A lower-case string (no spaces or other characters outside of 09,
az, ".", "_" and "-"), used for image identification at upgrade. az, ".", "_" and "-"), used for image identification at upgrade.
E.g., the RAUC [system] compatible string. E.g., the RAUC [system] compatible string.
Mandatory. Defaults to $INFIX_IMAGE_ID, which in turn is composed Mandatory. Defaults to $IX_IMAGE_ID, which in turn is composed
of $INFIX_ID-$BR2_ARCH. of $IX_ID-$BR2_ARCH.
config INFIX_TAGLINE config IX_TAGLINE
string "Operating system tagline" string "Operating system tagline"
default "Infix OS — Immutable.Friendly.Secure" default "Infix OS — Immutable.Friendly.Secure"
help help
@@ -74,25 +74,25 @@ config INFIX_TAGLINE
This is also show at boot when the system init process starts. This is also show at boot when the system init process starts.
config INFIX_DESC config IX_DESC
string "Operating system description" string "Operating system description"
help help
Optional. Used for long description texts about the OS. E.g., Optional. Used for long description texts about the OS. E.g.,
the GNS3 appliance file description field. Saved in the file the GNS3 appliance file description field. Saved in the file
/etc/os-release as INFIX_DESC. /etc/os-release as IX_DESC.
config INFIX_HOME config IX_HOME
string "Operating system URL" string "Operating system URL"
help help
Used for identifying the OS, e.g. as HOME_URL in /etc/os-release Used for identifying the OS, e.g. as HOME_URL in /etc/os-release
config INFIX_DOC config IX_DOC
string "Operating system docs" string "Operating system docs"
help help
Optional. Main documentation URL, will be shown in /etc/os-release Optional. Main documentation URL, will be shown in /etc/os-release
as DOCUMENTATION_URL. as DOCUMENTATION_URL.
config INFIX_SUPPORT config IX_SUPPORT
string "Operating system support" string "Operating system support"
help help
Main support page for the operating system, if there is any. This Main support page for the operating system, if there is any. This
@@ -102,13 +102,13 @@ config INFIX_SUPPORT
Optional. Shown, e.g., as SUPPORT_URL in /etc/os-release or Optional. Shown, e.g., as SUPPORT_URL in /etc/os-release or
maintainer_email in .gns3a. maintainer_email in .gns3a.
config INFIX_OEM_PATH config IX_OEM_PATH
string "Path to OEM br2-external" string "Path to OEM br2-external"
help help
A br2-external using Infix will likely want to version the branded A br2-external using Infix will likely want to version the branded
OS using their own GIT tags. Set this variable to point to the base OS using their own GIT tags. Set this variable to point to the base
directory (absolute path) and the Infix post-build.sh will call `git directory (absolute path) and the Infix post-build.sh will call `git
describe -C $INFIX_OEM_PATH`. describe -C $IX_OEM_PATH`.
Note: the OS version (VERSION, VERSION_ID, BUILD_ID in Note: the OS version (VERSION, VERSION_ID, BUILD_ID in
/etc/os-release) is always derived from `git describe`. The global /etc/os-release) is always derived from `git describe`. The global
@@ -118,7 +118,7 @@ config INFIX_OEM_PATH
endmenu endmenu
# For /etc/os-release, uses CondtionArchitechture= from systemd.unit(5) # For /etc/os-release, uses CondtionArchitechture= from systemd.unit(5)
config INFIX_ARCH config IX_ARCH
string string
default "arm" if BR2_arm default "arm" if BR2_arm
default "arm64" if BR2_aarch64 default "arm64" if BR2_aarch64
@@ -22,7 +22,7 @@ image var.ext4 {
} }
} }
image #INFIX_ID##VERSION#-vero-w-#TARGET#.img { image #IX_ID##VERSION#-vero-w-#TARGET#.img {
hdimage { hdimage {
partition-table-type = "gpt" partition-table-type = "gpt"
gpt-no-backup = true gpt-no-backup = true
@@ -24,7 +24,7 @@ image var.ext4 {
} }
} }
image #INFIX_ID##VERSION#-bpi-r3-#TARGET#.img { image #IX_ID##VERSION#-bpi-r3-#TARGET#.img {
hdimage { hdimage {
partition-table-type = "gpt" partition-table-type = "gpt"
@@ -24,7 +24,7 @@ image var.ext4 {
} }
} }
image #INFIX_ID##VERSION#-bpi-r4-#TARGET#.img { image #IX_ID##VERSION#-bpi-r4-#TARGET#.img {
hdimage { hdimage {
partition-table-type = "gpt" partition-table-type = "gpt"
gpt-no-backup = true gpt-no-backup = true
@@ -24,7 +24,7 @@ image var.ext4 {
} }
} }
image #INFIX_ID##VERSION#-bpi-r64-#TARGET#.img { image #IX_ID##VERSION#-bpi-r64-#TARGET#.img {
hdimage { hdimage {
partition-table-type = "hybrid" partition-table-type = "hybrid"
# MT7622 TF-A partition driver detects GPT by checking MBR[0] # MT7622 TF-A partition driver detects GPT by checking MBR[0]
@@ -26,7 +26,7 @@ image var.ext4 {
} }
} }
image #INFIX_ID##VERSION#-nanopi-r2s-sdcard.img { image #IX_ID##VERSION#-nanopi-r2s-sdcard.img {
hdimage { hdimage {
partition-table-type = "gpt" partition-table-type = "gpt"
} }
@@ -24,7 +24,7 @@ image var.ext4 {
} }
} }
image #INFIX_ID##VERSION#-espressobin-#TARGET#.img { image #IX_ID##VERSION#-espressobin-#TARGET#.img {
hdimage { hdimage {
partition-table-type = "gpt" partition-table-type = "gpt"
} }
@@ -36,7 +36,7 @@ image var.ext4 {
} }
} }
image #INFIX_ID##VERSION#-rpi64-sdcard.img { image #IX_ID##VERSION#-rpi64-sdcard.img {
hdimage { hdimage {
partition-table-type = "hybrid" partition-table-type = "hybrid"
} }
@@ -39,7 +39,7 @@ image var.ext4 {
} }
} }
image #INFIX_ID##VERSION#-sama7g54-ek-#TARGET#.img { image #IX_ID##VERSION#-sama7g54-ek-#TARGET#.img {
hdimage { hdimage {
partition-table-type = "hybrid" partition-table-type = "hybrid"
} }
+1 -1
View File
@@ -36,7 +36,7 @@ image var.ext4 {
} }
} }
image #INFIX_ID##VERSION#-rpi2-sdcard.img { image #IX_ID##VERSION#-rpi2-sdcard.img {
hdimage { hdimage {
partition-table-type = "hybrid" partition-table-type = "hybrid"
} }
+8 -8
View File
@@ -11,7 +11,7 @@ source "$BR2_EXTERNAL_INFIX_PATH/board/common/image/image-readme/Config.in"
endmenu endmenu
config QEMU_SCRIPTS config IX_QEMU_SCRIPTS
bool "QEMU scripts" bool "QEMU scripts"
default y default y
help help
@@ -19,20 +19,20 @@ config QEMU_SCRIPTS
directory, which can be used to launch virtual Infix directory, which can be used to launch virtual Infix
instances. instances.
menuconfig TRUSTED_KEYS menuconfig IX_TRUSTED_KEYS
bool "Trusted keys for image" bool "Trusted keys for image"
help help
Keys that will be accepted for this image Keys that will be accepted for this image
config TRUSTED_KEYS_DEVELOPMENT config IX_TRUSTED_KEYS_DEVELOPMENT
bool "Development key" bool "Development key"
depends on TRUSTED_KEYS depends on IX_TRUSTED_KEYS
config TRUSTED_KEYS_DEVELOPMENT_PATH config IX_TRUSTED_KEYS_DEVELOPMENT_PATH
string string
depends on TRUSTED_KEYS_DEVELOPMENT depends on IX_TRUSTED_KEYS_DEVELOPMENT
default "${BR2_EXTERNAL_INFIX_PATH}/board/common/signing-keys/development/infix.crt" default "${BR2_EXTERNAL_INFIX_PATH}/board/common/signing-keys/development/infix.crt"
config TRUSTED_KEYS_EXTRA_PATH config IX_TRUSTED_KEYS_EXTRA_PATH
string "Path to extra keys to include in image" string "Path to extra keys to include in image"
depends on TRUSTED_KEYS depends on IX_TRUSTED_KEYS
+3 -3
View File
@@ -1,14 +1,14 @@
include $(BR2_EXTERNAL_INFIX_PATH)/board/common/image/image.mk include $(BR2_EXTERNAL_INFIX_PATH)/board/common/image/image.mk
include $(BR2_EXTERNAL_INFIX_PATH)/board/common/qemu/qemu.mk include $(BR2_EXTERNAL_INFIX_PATH)/board/common/qemu/qemu.mk
ifeq ($(TRUSTED_KEYS),y) ifeq ($(IX_TRUSTED_KEYS),y)
include $(BR2_EXTERNAL_INFIX_PATH)/board/common/uboot/uboot.mk include $(BR2_EXTERNAL_INFIX_PATH)/board/common/uboot/uboot.mk
TRUSTED_KEYS=$(TRUSTED_KEYS_DEVELOPMENT_PATH) $(TRUSTED_KEYS_EXTRA_PATH) IX_TRUSTED_KEYS=$(IX_TRUSTED_KEYS_DEVELOPMENT_PATH) $(IX_TRUSTED_KEYS_EXTRA_PATH)
define RAUC_POST_BUILD_INSTALL_CERT define RAUC_POST_BUILD_INSTALL_CERT
@$(call IXMSG,"Installing signing cert for RAUC") @$(call IXMSG,"Installing signing cert for RAUC")
mkdir -p $(TARGET_DIR)/etc/rauc/keys mkdir -p $(TARGET_DIR)/etc/rauc/keys
$(foreach crt,$(shell ls $(TRUSTED_KEYS)), \ $(foreach crt,$(shell ls $(IX_TRUSTED_KEYS)), \
cp $(crt) $(TARGET_DIR)/etc/rauc/keys/$(shell openssl x509 -hash -noout <$(crt)).0;) cp $(crt) $(TARGET_DIR)/etc/rauc/keys/$(shell openssl x509 -hash -noout <$(crt)).0;)
endef endef
+5 -5
View File
@@ -1,4 +1,4 @@
config IMAGE_EXT4_RAUC config IX_IMAGE_EXT4_RAUC
bool "RAUC upgrade bundle (ext4)" bool "RAUC upgrade bundle (ext4)"
depends on BR2_TARGET_ROOTFS_EXT2 depends on BR2_TARGET_ROOTFS_EXT2
select BR2_PACKAGE_HOST_RAUC select BR2_PACKAGE_HOST_RAUC
@@ -7,17 +7,17 @@ config IMAGE_EXT4_RAUC
image. Intended for development boards whose bootloader does image. Intended for development boards whose bootloader does
not support squashfs. not support squashfs.
config IMAGE_EXT4_RAUC_KEY config IX_IMAGE_EXT4_RAUC_KEY
string "signing key" string "signing key"
depends on IMAGE_EXT4_RAUC depends on IX_IMAGE_EXT4_RAUC
default "${BR2_EXTERNAL_INFIX_PATH}/board/common/signing-keys/development/infix.key" default "${BR2_EXTERNAL_INFIX_PATH}/board/common/signing-keys/development/infix.key"
help help
Path to the private key, in PKCS#8 format, used to sign Path to the private key, in PKCS#8 format, used to sign
the RAUC bundle; or a PKCS#11 URI. the RAUC bundle; or a PKCS#11 URI.
config IMAGE_EXT4_RAUC_CERT config IX_IMAGE_EXT4_RAUC_CERT
string "signing certificate" string "signing certificate"
depends on IMAGE_EXT4_RAUC depends on IX_IMAGE_EXT4_RAUC
default "${BR2_EXTERNAL_INFIX_PATH}/board/common/signing-keys/development/infix.crt" default "${BR2_EXTERNAL_INFIX_PATH}/board/common/signing-keys/development/infix.crt"
help help
Path to the X509 certificate which will be associated with Path to the X509 certificate which will be associated with
+2 -2
View File
@@ -1,6 +1,6 @@
config IMAGE_ITB_AUX config IX_IMAGE_ITB_AUX
bool "aux partition" bool "aux partition"
depends on IMAGE_ITB_ROOTFS depends on IX_IMAGE_ITB_ROOTFS
select BR2_PACKAGE_HOST_UBOOT_TOOLS select BR2_PACKAGE_HOST_UBOOT_TOOLS
select BR2_PACKAGE_HOST_GENIMAGE select BR2_PACKAGE_HOST_GENIMAGE
help help
@@ -1,4 +1,4 @@
menuconfig IMAGE_ITB_DL_RELEASE menuconfig IX_IMAGE_ITB_DL_RELEASE
bool "Download existing release" bool "Download existing release"
depends on !BR2_TARGET_ROOTFS_SQUASHFS depends on !BR2_TARGET_ROOTFS_SQUASHFS
help help
@@ -7,9 +7,9 @@ menuconfig IMAGE_ITB_DL_RELEASE
Infix image, to create a full disk image that can be Infix image, to create a full disk image that can be
provisioned to an SD-card or eMMC. provisioned to an SD-card or eMMC.
config IMAGE_ITB_DL_RELEASE_URL config IX_IMAGE_ITB_DL_RELEASE_URL
string "URL" string "URL"
depends on IMAGE_ITB_DL_RELEASE depends on IX_IMAGE_ITB_DL_RELEASE
default "https://github.com/kernelkit/infix/releases/download/latest/infix-${BR2_ARCH}.tar.gz" default "https://github.com/kernelkit/infix/releases/download/latest/infix-${BR2_ARCH}.tar.gz"
help help
URL to release tarball. URL to release tarball.
+6 -6
View File
@@ -1,23 +1,23 @@
menuconfig IMAGE_ITB_GNS3A menuconfig IX_IMAGE_ITB_GNS3A
bool "GNS3 Appliance (ITB)" bool "GNS3 Appliance (ITB)"
depends on BR2_x86_64 depends on BR2_x86_64
select IMAGE_ITB_QCOW select IX_IMAGE_ITB_QCOW
help help
Create a GNS3 appliance description that, together with the Create a GNS3 appliance description that, together with the
disk image, can be imported into GNS3. disk image, can be imported into GNS3.
config IMAGE_ITB_GNS3A_RAM config IX_IMAGE_ITB_GNS3A_RAM
int "Reserved RAM (MiB)" int "Reserved RAM (MiB)"
depends on IMAGE_ITB_GNS3A depends on IX_IMAGE_ITB_GNS3A
default "192" default "192"
help help
Amount of host RAM reserved for an appliance instance. Amount of host RAM reserved for an appliance instance.
Minimum supported size is 192M. Minimum supported size is 192M.
config IMAGE_ITB_GNS3A_IFNUM config IX_IMAGE_ITB_GNS3A_IFNUM
int "Number of interfaces" int "Number of interfaces"
depends on IMAGE_ITB_GNS3A depends on IX_IMAGE_ITB_GNS3A
default "1" default "1"
help help
Number of Ethernet interfaces to create for an appliance instance. Number of Ethernet interfaces to create for an appliance instance.
+16 -16
View File
@@ -1,6 +1,6 @@
menuconfig IMAGE_ITB_QCOW menuconfig IX_IMAGE_ITB_QCOW
bool "QEMU disk image (ITB)" bool "QEMU disk image (ITB)"
depends on (IMAGE_ITB_ROOTFS && IMAGE_ITB_AUX) || IMAGE_ITB_DL_RELEASE depends on (IX_IMAGE_ITB_ROOTFS && IX_IMAGE_ITB_AUX) || IX_IMAGE_ITB_DL_RELEASE
select BR2_PACKAGE_HOST_GENIMAGE select BR2_PACKAGE_HOST_GENIMAGE
help help
Compose a full disk image with redundant Linux OS partitions, Compose a full disk image with redundant Linux OS partitions,
@@ -11,9 +11,9 @@ menuconfig IMAGE_ITB_QCOW
- Creating a GNS3 appliance - Creating a GNS3 appliance
- Developing/debugging issues in the boot process in QEMU - Developing/debugging issues in the boot process in QEMU
menuconfig IMAGE_ITB_QCOW_SIZE menuconfig IX_IMAGE_ITB_QCOW_SIZE
string "Image size" string "Image size"
depends on IMAGE_ITB_QCOW depends on IX_IMAGE_ITB_QCOW
default "512M" default "512M"
help help
Create a disk image of this size. A K/M/G suffix may be used Create a disk image of this size. A K/M/G suffix may be used
@@ -26,22 +26,22 @@ menuconfig IMAGE_ITB_QCOW_SIZE
choice choice
prompt "Bootloader" prompt "Bootloader"
depends on IMAGE_ITB_QCOW depends on IX_IMAGE_ITB_QCOW
default IMAGE_ITB_QCOW_BOOT_EFI if BR2_x86_64 default IX_IMAGE_ITB_QCOW_BOOT_EFI if BR2_x86_64
default IMAGE_ITB_QCOW_BOOT_NONE default IX_IMAGE_ITB_QCOW_BOOT_NONE
config IMAGE_ITB_QCOW_BOOT_NONE config IX_IMAGE_ITB_QCOW_BOOT_NONE
bool "None" bool "None"
help help
Do not create any bootloader partition in the disk image. Do not create any bootloader partition in the disk image.
config IMAGE_ITB_QCOW_BOOT_EFI config IX_IMAGE_ITB_QCOW_BOOT_EFI
bool "EFI" bool "EFI"
help help
Create a boot partition from a directory containing an EFI Create a boot partition from a directory containing an EFI
boot application, e.g. GRUB. boot application, e.g. GRUB.
config IMAGE_ITB_QCOW_BOOT_BIN config IX_IMAGE_ITB_QCOW_BOOT_BIN
bool "Binary" bool "Binary"
help help
Create a boot partition from a raw image containing the boot Create a boot partition from a raw image containing the boot
@@ -49,18 +49,18 @@ config IMAGE_ITB_QCOW_BOOT_BIN
endchoice endchoice
config IMAGE_ITB_QCOW_BOOT_DATA config IX_IMAGE_ITB_QCOW_BOOT_DATA
string "Bootloader data" string "Bootloader data"
depends on IMAGE_ITB_QCOW depends on IX_IMAGE_ITB_QCOW
depends on IMAGE_ITB_QCOW_BOOT_EFI || IMAGE_ITB_QCOW_BOOT_BIN depends on IX_IMAGE_ITB_QCOW_BOOT_EFI || IX_IMAGE_ITB_QCOW_BOOT_BIN
default "${BINARIES_DIR}/efi-part/EFI" if BR2_x86_64 default "${BINARIES_DIR}/efi-part/EFI" if BR2_x86_64
help help
Path to the directory or file holding the bootloader data. Path to the directory or file holding the bootloader data.
config IMAGE_ITB_QCOW_BOOT_OFFSET config IX_IMAGE_ITB_QCOW_BOOT_OFFSET
hex "Bootloader offset" hex "Bootloader offset"
depends on IMAGE_ITB_QCOW depends on IX_IMAGE_ITB_QCOW
depends on IMAGE_ITB_QCOW_BOOT_EFI || IMAGE_ITB_QCOW_BOOT_BIN depends on IX_IMAGE_ITB_QCOW_BOOT_EFI || IX_IMAGE_ITB_QCOW_BOOT_BIN
default 0x8000 default 0x8000
help help
Offset at which the bootloader partition is placed. Remember Offset at which the bootloader partition is placed. Remember
@@ -6,8 +6,8 @@
# We can source the rootfs+aux from a local build, or from a # We can source the rootfs+aux from a local build, or from a
# downloaded release; so adjust our dependencies accordingly. # downloaded release; so adjust our dependencies accordingly.
IMAGE_ITB_QCOW_SRC-$(IMAGE_ITB_ROOTFS) := image-itb-rootfs image-itb-aux IMAGE_ITB_QCOW_SRC-$(IX_IMAGE_ITB_ROOTFS) := image-itb-rootfs image-itb-aux
IMAGE_ITB_QCOW_SRC-$(IMAGE_ITB_DL_RELEASE) := image-itb-dl-release IMAGE_ITB_QCOW_SRC-$(IX_IMAGE_ITB_DL_RELEASE) := image-itb-dl-release
IMAGE_ITB_QCOW_DEPENDENCIES := host-genimage $(IMAGE_ITB_QCOW_SRC-y) IMAGE_ITB_QCOW_DEPENDENCIES := host-genimage $(IMAGE_ITB_QCOW_SRC-y)
IMAGE_ITB_QCOW_CONFIG_VARS := BOOT_DATA BOOT_OFFSET SIZE IMAGE_ITB_QCOW_CONFIG_VARS := BOOT_DATA BOOT_OFFSET SIZE
+6 -6
View File
@@ -1,23 +1,23 @@
menuconfig IMAGE_ITB_RAUC menuconfig IX_IMAGE_ITB_RAUC
bool "RAUC upgrade bundle (ITB)" bool "RAUC upgrade bundle (ITB)"
select IMAGE_ITB_ROOTFS select IX_IMAGE_ITB_ROOTFS
select BR2_PACKAGE_HOST_RAUC select BR2_PACKAGE_HOST_RAUC
help help
Create RAUC upgrade bundle, for targets using ITB images, Create RAUC upgrade bundle, for targets using ITB images,
that can be used to upgrade a running system to this version that can be used to upgrade a running system to this version
of Infix. of Infix.
config IMAGE_ITB_RAUC_KEY config IX_IMAGE_ITB_RAUC_KEY
string "signing key" string "signing key"
depends on IMAGE_ITB_RAUC depends on IX_IMAGE_ITB_RAUC
default "${BR2_EXTERNAL_INFIX_PATH}/board/common/signing-keys/development/infix.key" default "${BR2_EXTERNAL_INFIX_PATH}/board/common/signing-keys/development/infix.key"
help help
Path to the private key, in PKCS#8 format, used to sign Path to the private key, in PKCS#8 format, used to sign
the RAUC bundle; or a PKCS#11 URI. the RAUC bundle; or a PKCS#11 URI.
config IMAGE_ITB_RAUC_CERT config IX_IMAGE_ITB_RAUC_CERT
string "signing certificate" string "signing certificate"
depends on IMAGE_ITB_RAUC depends on IX_IMAGE_ITB_RAUC
default "${BR2_EXTERNAL_INFIX_PATH}/board/common/signing-keys/development/infix.crt" default "${BR2_EXTERNAL_INFIX_PATH}/board/common/signing-keys/development/infix.crt"
help help
Path to the X509 certificate which will be associated with Path to the X509 certificate which will be associated with
@@ -1,4 +1,4 @@
menuconfig IMAGE_ITB_ROOTFS menuconfig IX_IMAGE_ITB_ROOTFS
bool "rootfs.itb+.itbh" bool "rootfs.itb+.itbh"
select BR2_TARGET_ROOTFS_SQUASHFS select BR2_TARGET_ROOTFS_SQUASHFS
select BR2_PACKAGE_HOST_UBOOT_TOOLS select BR2_PACKAGE_HOST_UBOOT_TOOLS
@@ -7,9 +7,9 @@ menuconfig IMAGE_ITB_ROOTFS
and extract detached header (.itbh) for U-Boot based and extract detached header (.itbh) for U-Boot based
targets. targets.
config IMAGE_ITB_ROOTFS_KEY config IX_IMAGE_ITB_ROOTFS_KEY
string "signing key" string "signing key"
depends on IMAGE_ITB_ROOTFS depends on IX_IMAGE_ITB_ROOTFS
default "${BR2_EXTERNAL_INFIX_PATH}/board/common/signing-keys/development/infix.key" default "${BR2_EXTERNAL_INFIX_PATH}/board/common/signing-keys/development/infix.key"
help help
Path to the private RSA key, in PKCS#8 format, used to sign Path to the private RSA key, in PKCS#8 format, used to sign
+1 -1
View File
@@ -1,4 +1,4 @@
config IMAGE_README config IX_IMAGE_README
bool "Install README.md in images" bool "Install README.md in images"
help help
Install a README.md with useful information about getting Install a README.md with useful information about getting
@@ -13,6 +13,6 @@ $(BINARIES_DIR)/README.md: $(IMAGE_README_DIR)/README.md
@mkdir -p $(BINARIES_DIR) @mkdir -p $(BINARIES_DIR)
@cp $< $@ @cp $< $@
ifeq ($(IMAGE_README),y) ifeq ($(IX_IMAGE_README),y)
TARGETS_ROOTFS += image-readme TARGETS_ROOTFS += image-readme
endif endif
+6 -4
View File
@@ -12,15 +12,17 @@ $(1): $$($(2)_DEPENDENCIES)
BINARIES_DIR=$$(BINARIES_DIR) \ BINARIES_DIR=$$(BINARIES_DIR) \
BR2_EXTERNAL_INFIX_PATH=$$(BR2_EXTERNAL_INFIX_PATH) \ BR2_EXTERNAL_INFIX_PATH=$$(BR2_EXTERNAL_INFIX_PATH) \
ARTIFACT=$$(INFIX_ARTIFACT) \ ARTIFACT=$$(INFIX_ARTIFACT) \
COMPATIBLE=$$(INFIX_COMPATIBLE) \ COMPATIBLE=$$(IX_COMPATIBLE) \
VERSION=$$(INFIX_VERSION) \ VERSION=$$(INFIX_VERSION) \
$$(foreach var,$$($(2)_CONFIG_VARS),$$(var)=$$($(2)_$$(var)) ) \ $$(foreach var,$$($(2)_CONFIG_VARS),$$(var)=$$($(3)_$$(var)) ) \
$$($(2)_DIR)/generate.sh $$($(2)_OPTS) $$($(2)_DIR)/generate.sh $$($(2)_OPTS)
ifeq ($$($(2)),y) ifeq ($$($(3)),y)
TARGETS_ROOTFS += $(1) TARGETS_ROOTFS += $(1)
endif endif
endef endef
ix-image = $(call inner-ix-image,$(pkgname),$(call UPPERCASE,$(pkgname))) # $(2) is the package-local make-var prefix (UPPERCASE pkgname); $(3) is
# the IX_ prefixed Kconfig symbol name, see issue #1305.
ix-image = $(call inner-ix-image,$(pkgname),$(call UPPERCASE,$(pkgname)),IX_$(call UPPERCASE,$(pkgname)))
+1 -1
View File
@@ -16,7 +16,7 @@ die()
# DISK_IMAGE_SIZE="512" # DISK_IMAGE_SIZE="512"
# etc. # etc.
# #
# Nested variables, like INFIX_COMPATIBLE="${INFIX_IMAGE_ID}" # Nested variables, like IX_COMPATIBLE="${IX_IMAGE_ID}"
# are handled by sourcing the file in a subshell. # are handled by sourcing the file in a subshell.
# #
# shellcheck disable=SC1090 # shellcheck disable=SC1090
+19 -19
View File
@@ -37,7 +37,7 @@ EOF
} }
if [ -f "$TARGET_DIR/etc/rauc/system.conf" ]; then if [ -f "$TARGET_DIR/etc/rauc/system.conf" ]; then
sed -i "s/compatible=.*/compatible=$INFIX_COMPATIBLE/" "$TARGET_DIR/etc/rauc/system.conf" sed -i "s/compatible=.*/compatible=$IX_COMPATIBLE/" "$TARGET_DIR/etc/rauc/system.conf"
fi fi
if [ -n "${ID_LIKE}" ]; then if [ -n "${ID_LIKE}" ]; then
@@ -53,40 +53,40 @@ cp "$TARGET_DIR/etc/hostname" "$TARGET_DIR/etc/hostname.d/10-default"
ixmsg "Creating /etc/os-release" ixmsg "Creating /etc/os-release"
rm -f "$TARGET_DIR/etc/os-release" rm -f "$TARGET_DIR/etc/os-release"
{ {
echo "NAME=\"$INFIX_NAME\"" echo "NAME=\"$IX_NAME\""
echo "ID=$INFIX_ID" echo "ID=$IX_ID"
echo "PRETTY_NAME=\"$INFIX_TAGLINE $INFIX_VERSION\"" echo "PRETTY_NAME=\"$IX_TAGLINE $INFIX_VERSION\""
echo "ID_LIKE=\"${ID}\"" echo "ID_LIKE=\"${ID}\""
echo "DEFAULT_HOSTNAME=$BR2_TARGET_GENERIC_HOSTNAME" echo "DEFAULT_HOSTNAME=$BR2_TARGET_GENERIC_HOSTNAME"
echo "VERSION=\"${INFIX_VERSION}\"" echo "VERSION=\"${INFIX_VERSION}\""
echo "VERSION_ID=${INFIX_VERSION}" echo "VERSION_ID=${INFIX_VERSION}"
echo "BUILD_ID=\"${INFIX_BUILD_ID}\"" echo "BUILD_ID=\"${INFIX_BUILD_ID}\""
if [ -n "$INFIX_IMAGE_ID" ]; then if [ -n "$IX_IMAGE_ID" ]; then
echo "IMAGE_ID=\"$INFIX_IMAGE_ID\"" echo "IMAGE_ID=\"$IX_IMAGE_ID\""
fi fi
if [ -n "$INFIX_RELEASE" ]; then if [ -n "$INFIX_RELEASE" ]; then
echo "IMAGE_VERSION=\"$INFIX_RELEASE\"" echo "IMAGE_VERSION=\"$INFIX_RELEASE\""
fi fi
echo "ARCHITECTURE=\"${INFIX_ARCH}\"" echo "ARCHITECTURE=\"${IX_ARCH}\""
echo "HOME_URL=$INFIX_HOME" echo "HOME_URL=$IX_HOME"
if [ -n "$INFIX_VENDOR" ]; then if [ -n "$IX_VENDOR" ]; then
echo "VENDOR_NAME=\"$INFIX_VENDOR\"" echo "VENDOR_NAME=\"$IX_VENDOR\""
fi fi
if [ -n "$INFIX_VENDOR_HOME" ]; then if [ -n "$IX_VENDOR_HOME" ]; then
echo "VENDOR_HOME=\"$INFIX_VENDOR_HOME\"" echo "VENDOR_HOME=\"$IX_VENDOR_HOME\""
fi fi
if [ -n "$INFIX_DOC" ]; then if [ -n "$IX_DOC" ]; then
echo "DOCUMENTATION_URL=\"$INFIX_DOC\"" echo "DOCUMENTATION_URL=\"$IX_DOC\""
fi fi
if [ -n "$INFIX_SUPPORT" ]; then if [ -n "$IX_SUPPORT" ]; then
echo "SUPPORT_URL=\"$INFIX_SUPPORT\"" echo "SUPPORT_URL=\"$IX_SUPPORT\""
fi fi
if [ -n "$INFIX_DESC" ]; then if [ -n "$IX_DESC" ]; then
echo "INFIX_DESC=\"$INFIX_DESC\"" echo "INFIX_DESC=\"$IX_DESC\""
fi fi
} > "$TARGET_DIR/etc/os-release" } > "$TARGET_DIR/etc/os-release"
echo "$INFIX_TAGLINE $INFIX_VERSION -- $(date +"%b %e %H:%M %Z %Y")" > "$TARGET_DIR/etc/version" echo "$IX_TAGLINE $INFIX_VERSION -- $(date +"%b %e %H:%M %Z %Y")" > "$TARGET_DIR/etc/version"
ixmsg "Creating /etc/version: $(cat "$TARGET_DIR/etc/version")" ixmsg "Creating /etc/version: $(cat "$TARGET_DIR/etc/version")"
# In case of ambguities, this is what the image was built from # In case of ambguities, this is what the image was built from
+92 -92
View File
@@ -1,85 +1,85 @@
mainmenu "QEMU Virtualization" mainmenu "QEMU Virtualization"
config QEMU_ARCH_IS_32 config IX_QEMU_ARCH_IS_32
bool bool
config QEMU_ARCH_IS_64 config IX_QEMU_ARCH_IS_64
bool bool
choice choice
prompt "Target Architecture" prompt "Target Architecture"
default @ARCH@ default @ARCH@
config QEMU_riscv64 config IX_QEMU_riscv64
bool "risv64" bool "riscv64"
select QEMU_ARCH_IS_64 select IX_QEMU_ARCH_IS_64
config QEMU_x86_64 config IX_QEMU_x86_64
bool "x86_64" bool "x86_64"
select QEMU_ARCH_IS_64 select IX_QEMU_ARCH_IS_64
config QEMU_arm config IX_QEMU_arm
bool "AArch32 (little endian)" bool "AArch32 (little endian)"
select QEMU_ARCH_IS_32 select IX_QEMU_ARCH_IS_32
config QEMU_aarch64 config IX_QEMU_aarch64
bool "AArch64 (little endian)" bool "AArch64 (little endian)"
select QEMU_ARCH_IS_64 select IX_QEMU_ARCH_IS_64
endchoice endchoice
choice choice
prompt "Loader" prompt "Loader"
default QEMU_LOADER_KERNEL default IX_QEMU_LOADER_KERNEL
config QEMU_LOADER_KERNEL config IX_QEMU_LOADER_KERNEL
bool "Kernel" bool "Kernel"
config QEMU_LOADER_UBOOT config IX_QEMU_LOADER_UBOOT
bool "U-Boot" bool "U-Boot"
depends on QEMU_aarch64 depends on IX_QEMU_aarch64
config QEMU_LOADER_OVMF config IX_QEMU_LOADER_OVMF
bool "OVMF (UEFI)" bool "OVMF (UEFI)"
depends on QEMU_x86_64 depends on IX_QEMU_x86_64
endchoice endchoice
choice choice
prompt "Rootfs type" prompt "Rootfs type"
default QEMU_ROOTFS_INITRD default IX_QEMU_ROOTFS_INITRD
config QEMU_ROOTFS_MMC config IX_QEMU_ROOTFS_MMC
bool "MMC" bool "MMC"
depends on QEMU_aarch64 depends on IX_QEMU_aarch64
config QEMU_ROOTFS_INITRD config IX_QEMU_ROOTFS_INITRD
bool "Initrd" bool "Initrd"
depends on QEMU_LOADER_KERNEL depends on IX_QEMU_LOADER_KERNEL
config QEMU_ROOTFS_VSCSI config IX_QEMU_ROOTFS_VSCSI
bool "Virtio SCSI" bool "Virtio SCSI"
endchoice endchoice
choice choice
prompt "Console" prompt "Console"
default QEMU_CONSOLE_SERIAL if QEMU_arm default IX_QEMU_CONSOLE_SERIAL if IX_QEMU_arm
default QEMU_CONSOLE_VIRTIO default IX_QEMU_CONSOLE_VIRTIO
config QEMU_CONSOLE_VIRTIO config IX_QEMU_CONSOLE_VIRTIO
bool "Virtio (hvc0)" bool "Virtio (hvc0)"
config QEMU_CONSOLE_SERIAL config IX_QEMU_CONSOLE_SERIAL
bool "Serial (ttyS0/ttyAMA0)" bool "Serial (ttyS0/ttyAMA0)"
depends on !QEMU_LOADER_OVMF depends on !IX_QEMU_LOADER_OVMF
endchoice endchoice
config QEMU_MACHINE config IX_QEMU_MACHINE
string "Select emulated machine" string "Select emulated machine"
default "qemu-system-arm -M virt,accel=kvm:tcg -cpu max" if QEMU_arm default "qemu-system-arm -M virt,accel=kvm:tcg -cpu max" if IX_QEMU_arm
default "qemu-system-aarch64 -M virt,accel=kvm:tcg -cpu cortex-a53" if QEMU_aarch64 default "qemu-system-aarch64 -M virt,accel=kvm:tcg -cpu cortex-a53" if IX_QEMU_aarch64
default "qemu-system-x86_64 -M pc,accel=kvm:tcg -cpu max" if QEMU_x86_64 default "qemu-system-x86_64 -M pc,accel=kvm:tcg -cpu max" if IX_QEMU_x86_64
help help
You should not have to change this setting, although you may You should not have to change this setting, although you may
want to tweak it, or change the acceleration. want to tweak it, or change the acceleration.
@@ -88,7 +88,7 @@ config QEMU_MACHINE
the defconfig you started with. Currently Infix supports the defconfig you started with. Currently Infix supports
arm (AArch32), aarch64 (ARM64), and x86_64 (AMD64). arm (AArch32), aarch64 (ARM64), and x86_64 (AMD64).
config QEMU_MACHINE_RAM config IX_QEMU_MACHINE_RAM
string "RAM size (k/M/G)" string "RAM size (k/M/G)"
default "448M" default "448M"
help help
@@ -96,62 +96,62 @@ config QEMU_MACHINE_RAM
if you get kernel panic with: "System is deadlocked on memory", if you get kernel panic with: "System is deadlocked on memory",
try increasing this one. try increasing this one.
config QEMU_KERNEL config IX_QEMU_KERNEL
string string
depends on QEMU_LOADER_KERNEL depends on IX_QEMU_LOADER_KERNEL
default "../zImage" if QEMU_arm default "../zImage" if IX_QEMU_arm
default "../Image" if QEMU_aarch64 default "../Image" if IX_QEMU_aarch64
default "../bzImage" if QEMU_x86_64 default "../bzImage" if IX_QEMU_x86_64
config QEMU_BIOS config IX_QEMU_BIOS
string string
depends on !QEMU_LOADER_KERNEL depends on !IX_QEMU_LOADER_KERNEL
default "../u-boot.bin" if QEMU_LOADER_UBOOT default "../u-boot.bin" if IX_QEMU_LOADER_UBOOT
default "../OVMF.fd" if QEMU_LOADER_OVMF default "../OVMF.fd" if IX_QEMU_LOADER_OVMF
config QEMU_ROOTFS config IX_QEMU_ROOTFS
string string
default "@DISK_IMG@" if !QEMU_ROOTFS_INITRD default "@DISK_IMG@" if !IX_QEMU_ROOTFS_INITRD
default "../rootfs.squashfs" if QEMU_ROOTFS_INITRD default "../rootfs.squashfs" if IX_QEMU_ROOTFS_INITRD
config QEMU_DTB_EXTEND config IX_QEMU_DTB_EXTEND
bool bool
depends on QEMU_LOADER_UBOOT depends on IX_QEMU_LOADER_UBOOT
default y if QEMU_aarch64 default y if IX_QEMU_aarch64
if QEMU_ROOTFS_INITRD if IX_QEMU_ROOTFS_INITRD
config QEMU_RW config IX_QEMU_RW
string "Writable /cfg layer" string "Writable /cfg layer"
depends on QEMU_ROOTFS_INITRD depends on IX_QEMU_ROOTFS_INITRD
default "cfg.ext4" default "cfg.ext4"
config QEMU_RW_VAR_OPT config IX_QEMU_RW_VAR_OPT
bool "Separate writable /var" bool "Separate writable /var"
if QEMU_RW_VAR_OPT if IX_QEMU_RW_VAR_OPT
config QEMU_RW_VAR_SIZE config IX_QEMU_RW_VAR_SIZE
string "Size of /var" string "Size of /var"
default "256M" default "256M"
config QEMU_RW_VAR config IX_QEMU_RW_VAR
string "Writable /var layer" string "Writable /var layer"
default "var.ext4" default "var.ext4"
endif endif
endif endif
config QEMU_VPD config IX_QEMU_VPD
bool "Emulate a Vital Product Data (VPD) Memory" bool "Emulate a Vital Product Data (VPD) Memory"
config QEMU_HOST config IX_QEMU_HOST
string "Export host filesystem path" string "Export host filesystem path"
default "/tmp" default "/tmp"
config QEMU_APPEND config IX_QEMU_APPEND
string "Extra kernel options" string "Extra kernel options"
depends on !QEMU_ROOTFS_MMC depends on !IX_QEMU_ROOTFS_MMC
config QEMU_EXTRA config IX_QEMU_EXTRA
string "Extra QEMU options" string "Extra QEMU options"
@@ -159,72 +159,72 @@ comment "RTC"
choice choice
prompt "Mode" prompt "Mode"
default QEMU_RTC_UTC default IX_QEMU_RTC_UTC
config QEMU_RTC_UTC config IX_QEMU_RTC_UTC
bool "UTC" bool "UTC"
config QEMU_RTC_LOCAL config IX_QEMU_RTC_LOCAL
bool "Local time" bool "Local time"
config QEMU_RTC_RANDOM config IX_QEMU_RTC_RANDOM
bool "Random" bool "Random"
endchoice endchoice
choice choice
prompt "Clock" prompt "Clock"
default QEMU_CLOCK_HOST default IX_QEMU_CLOCK_HOST
config QEMU_CLOCK_HOST config IX_QEMU_CLOCK_HOST
bool "Host clock" bool "Host clock"
config QEMU_CLOCK_RT config IX_QEMU_CLOCK_RT
bool "Independent (monotonic)" bool "Independent (monotonic)"
config QEMU_CLOCK_VM config IX_QEMU_CLOCK_VM
bool "Virtual" bool "Virtual"
endchoice endchoice
config QEMU_RTC config IX_QEMU_RTC
string string
default "utc" if QEMU_RTC_UTC default "utc" if IX_QEMU_RTC_UTC
default "localtime" if QEMU_RTC_LOCAL default "localtime" if IX_QEMU_RTC_LOCAL
default "random" if QEMU_RTC_RANDOM default "random" if IX_QEMU_RTC_RANDOM
config QEMU_CLOCK config IX_QEMU_CLOCK
string string
default "host" if QEMU_CLOCK_HOST default "host" if IX_QEMU_CLOCK_HOST
default "rt" if QEMU_CLOCK_RT default "rt" if IX_QEMU_CLOCK_RT
default "vm" if QEMU_CLOCK_VM default "vm" if IX_QEMU_CLOCK_VM
comment "Networking" comment "Networking"
choice choice
prompt "Network Mode" prompt "Network Mode"
default QEMU_NET_USER default IX_QEMU_NET_USER
config QEMU_NET_NONE config IX_QEMU_NET_NONE
bool "None" bool "None"
config QEMU_NET_BRIDGE config IX_QEMU_NET_BRIDGE
bool "Bridged" bool "Bridged"
config QEMU_NET_USER config IX_QEMU_NET_USER
bool "User" bool "User"
config QEMU_NET_TAP config IX_QEMU_NET_TAP
bool "TAP" bool "TAP"
config QEMU_NET_ROCKER config IX_QEMU_NET_ROCKER
bool "Rocker" bool "Rocker"
endchoice endchoice
config QEMU_NET_MODEL config IX_QEMU_NET_MODEL
string "Interface model" string "Interface model"
default "virtio-net-device" if QEMU_arm default "virtio-net-device" if IX_QEMU_arm
default "virtio-net-pci" default "virtio-net-pci"
help help
The default, virtio-net-pci, NIC works for most use-cases, but The default, virtio-net-pci, NIC works for most use-cases, but
@@ -233,23 +233,23 @@ config QEMU_NET_MODEL
Note: ARM 32-bit uses virtio-net-device (MMIO) by default. Note: ARM 32-bit uses virtio-net-device (MMIO) by default.
config QEMU_NET_BRIDGE_DEV config IX_QEMU_NET_BRIDGE_DEV
string "Bridge device" string "Bridge device"
depends on QEMU_NET_BRIDGE depends on IX_QEMU_NET_BRIDGE
default "virbr0" default "virbr0"
config QEMU_NET_USER_OPTS config IX_QEMU_NET_USER_OPTS
string "User mode options" string "User mode options"
depends on QEMU_NET_USER depends on IX_QEMU_NET_USER
help help
Extra -nic user,<OPTIONS> Extra -nic user,<OPTIONS>
config QEMU_NET_TAP_N config IX_QEMU_NET_TAP_N
int "Number of TAPs" int "Number of TAPs"
depends on QEMU_NET_TAP depends on IX_QEMU_NET_TAP
default 1 default 1
config QEMU_NET_PORTS config IX_QEMU_NET_PORTS
int "Number of Rocker switch ports" int "Number of Rocker switch ports"
depends on QEMU_NET_ROCKER depends on IX_QEMU_NET_ROCKER
default 10 default 10
+2 -2
View File
@@ -10,7 +10,7 @@ qemu-kconfig = \
BR2_CONFIG="$(BINARIES_DIR)/qemu/.config" \ BR2_CONFIG="$(BINARIES_DIR)/qemu/.config" \
$(BUILD_DIR)/buildroot-config/$(1) $(2) "$(BINARIES_DIR)/qemu/Config.in" $(BUILD_DIR)/buildroot-config/$(1) $(2) "$(BINARIES_DIR)/qemu/Config.in"
ifeq ($(QEMU_SCRIPTS),y) ifeq ($(IX_QEMU_SCRIPTS),y)
.PHONY: run .PHONY: run
run: run:
@@ -33,7 +33,7 @@ $(BINARIES_DIR)/qemu/run.sh: $(QEMU_SCRIPTS_DIR)/run.sh
$(BINARIES_DIR)/qemu/Config.in: $(QEMU_SCRIPTS_DIR)/Config.in.in $(BINARIES_DIR)/qemu/Config.in: $(QEMU_SCRIPTS_DIR)/Config.in.in
@mkdir -p $(dir $@) @mkdir -p $(dir $@)
@sed \ @sed \
-e "s:@ARCH@:QEMU_$(BR2_ARCH):" \ -e "s:@ARCH@:IX_QEMU_$(BR2_ARCH):" \
-e "s:@DISK_IMG@:../$(INFIX_ARTIFACT).qcow2:" \ -e "s:@DISK_IMG@:../$(INFIX_ARTIFACT).qcow2:" \
< $< >$@ < $< >$@
+73 -73
View File
@@ -40,7 +40,7 @@ usage()
echo " ARGS1 Args before the '--' separator are for kernel space" echo " ARGS1 Args before the '--' separator are for kernel space"
echo " -- Separator" echo " -- Separator"
echo " ARGS2 Args after the '--' separator are for the init process" echo " ARGS2 Args after the '--' separator are for the init process"
echo " Also, qemu.cfg has QEMU_APPEND which can affect this." echo " Also, qemu.cfg has IX_QEMU_APPEND which can affect this."
echo echo
echo "Example:" echo "Example:"
echo " $prognm -- finit.debug" echo " $prognm -- finit.debug"
@@ -62,45 +62,45 @@ load_qemucfg()
# shellcheck disable=SC1090 # shellcheck disable=SC1090
. "./.config" . "./.config"
[ "$CONFIG_QEMU_MACHINE" ] || die "Missing QEMU_MACHINE" [ "$CONFIG_IX_QEMU_MACHINE" ] || die "Missing IX_QEMU_MACHINE"
[ "$CONFIG_QEMU_ROOTFS" ] || die "Missing QEMU_ROOTFS" [ "$CONFIG_IX_QEMU_ROOTFS" ] || die "Missing IX_QEMU_ROOTFS"
[ -n "$CONFIG_QEMU_KERNEL" ] && [ -n "$CONFIG_QEMU_BIOS" ] \ [ -n "$CONFIG_IX_QEMU_KERNEL" ] && [ -n "$CONFIG_IX_QEMU_BIOS" ] \
&& die "QEMU_KERNEL conflicts with QEMU_BIOS" && die "IX_QEMU_KERNEL conflicts with IX_QEMU_BIOS"
[ -z "$CONFIG_QEMU_KERNEL" ] && [ -z "$CONFIG_QEMU_BIOS" ] \ [ -z "$CONFIG_IX_QEMU_KERNEL" ] && [ -z "$CONFIG_IX_QEMU_BIOS" ] \
&& die "QEMU_KERNEL or QEMU_BIOS must be set" && die "IX_QEMU_KERNEL or IX_QEMU_BIOS must be set"
} }
loader_args() loader_args()
{ {
if [ "$CONFIG_QEMU_BIOS" ]; then if [ "$CONFIG_IX_QEMU_BIOS" ]; then
echo -n "-bios $CONFIG_QEMU_BIOS " echo -n "-bios $CONFIG_IX_QEMU_BIOS "
elif [ "$CONFIG_QEMU_KERNEL" ]; then elif [ "$CONFIG_IX_QEMU_KERNEL" ]; then
echo -n "-kernel $CONFIG_QEMU_KERNEL " echo -n "-kernel $CONFIG_IX_QEMU_KERNEL "
fi fi
} }
append_args() append_args()
{ {
# ARM 32-bit doesn't support virtio console properly, always use serial # ARM 32-bit doesn't support virtio console properly, always use serial
if [ "$CONFIG_QEMU_arm" ]; then if [ "$CONFIG_IX_QEMU_arm" ]; then
echo -n "console=ttyAMA0 " echo -n "console=ttyAMA0 "
elif [ "$CONFIG_QEMU_CONSOLE_VIRTIO" ]; then elif [ "$CONFIG_IX_QEMU_CONSOLE_VIRTIO" ]; then
echo -n "console=hvc0 " echo -n "console=hvc0 "
elif [ "$CONFIG_QEMU_x86_64" ]; then elif [ "$CONFIG_IX_QEMU_x86_64" ]; then
echo -n "console=ttyS0 " echo -n "console=ttyS0 "
elif [ "$CONFIG_QEMU_aarch64" ]; then elif [ "$CONFIG_IX_QEMU_aarch64" ]; then
echo -n "console=ttyAMA0 " echo -n "console=ttyAMA0 "
else else
die "Unknown console" die "Unknown console"
fi fi
if [ "$CONFIG_QEMU_ROOTFS_INITRD" = "y" ]; then if [ "$CONFIG_IX_QEMU_ROOTFS_INITRD" = "y" ]; then
# Size of initrd, rounded up to nearest kb # Size of initrd, rounded up to nearest kb
size=$((($(stat -c %s "$CONFIG_QEMU_ROOTFS") + 1023) >> 10)) size=$((($(stat -c %s "$CONFIG_IX_QEMU_ROOTFS") + 1023) >> 10))
echo -n "root=/dev/ram0 ramdisk_size=${size} " echo -n "root=/dev/ram0 ramdisk_size=${size} "
elif [ "$CONFIG_QEMU_ROOTFS_VSCSI" = "y" ]; then elif [ "$CONFIG_IX_QEMU_ROOTFS_VSCSI" = "y" ]; then
echo -n "root=PARTLABEL=primary " echo -n "root=PARTLABEL=primary "
fi fi
@@ -110,20 +110,20 @@ append_args()
echo -n "debug " echo -n "debug "
fi fi
echo -n "${QEMU_APPEND} ${QEMU_EXTRA_APPEND} " echo -n "${IX_QEMU_APPEND} ${QEMU_EXTRA_APPEND} "
} }
rootfs_args() rootfs_args()
{ {
if [ "$CONFIG_QEMU_ROOTFS_INITRD" = "y" ]; then if [ "$CONFIG_IX_QEMU_ROOTFS_INITRD" = "y" ]; then
echo -n "-initrd $CONFIG_QEMU_ROOTFS " echo -n "-initrd $CONFIG_IX_QEMU_ROOTFS "
elif [ "$CONFIG_QEMU_ROOTFS_MMC" = "y" ]; then elif [ "$CONFIG_IX_QEMU_ROOTFS_MMC" = "y" ]; then
echo -n "-device sdhci-pci " echo -n "-device sdhci-pci "
echo -n "-device sd-card,drive=mmc " echo -n "-device sd-card,drive=mmc "
echo -n "-drive id=mmc,file=$CONFIG_QEMU_ROOTFS,if=none,format=raw " echo -n "-drive id=mmc,file=$CONFIG_IX_QEMU_ROOTFS,if=none,format=raw "
elif [ "$CONFIG_QEMU_ROOTFS_VSCSI" = "y" ]; then elif [ "$CONFIG_IX_QEMU_ROOTFS_VSCSI" = "y" ]; then
# ARM 32-bit virt machine uses MMIO virtio devices, not PCI # ARM 32-bit virt machine uses MMIO virtio devices, not PCI
if [ "$CONFIG_QEMU_arm" ]; then if [ "$CONFIG_IX_QEMU_arm" ]; then
echo -n "-drive file=qemu.qcow2,if=none,format=qcow2,id=rootfs " echo -n "-drive file=qemu.qcow2,if=none,format=qcow2,id=rootfs "
echo -n "-device virtio-blk-device,drive=rootfs " echo -n "-device virtio-blk-device,drive=rootfs "
else else
@@ -140,9 +140,9 @@ serial_args()
echo -n "-chardev stdio,id=console0,mux=on " echo -n "-chardev stdio,id=console0,mux=on "
echo -n "-mon chardev=console0 " echo -n "-mon chardev=console0 "
if [ "$CONFIG_QEMU_CONSOLE_VIRTIO" ]; then if [ "$CONFIG_IX_QEMU_CONSOLE_VIRTIO" ]; then
echo -n "-device virtconsole,nr=0,name=console,chardev=console0 " echo -n "-device virtconsole,nr=0,name=console,chardev=console0 "
elif [ "$CONFIG_QEMU_CONSOLE_SERIAL" ]; then elif [ "$CONFIG_IX_QEMU_CONSOLE_SERIAL" ]; then
echo -n "-serial chardev:console0 " echo -n "-serial chardev:console0 "
else else
die "Unknown console" die "Unknown console"
@@ -175,7 +175,7 @@ usb_args()
rw_args() rw_args()
{ {
[ "$CONFIG_QEMU_RW" ] || return [ "$CONFIG_IX_QEMU_RW" ] || return
command -v mkfs.ext4 >/dev/null || die "$prognm: cannot find mkfs.ext4" command -v mkfs.ext4 >/dev/null || die "$prognm: cannot find mkfs.ext4"
@@ -184,45 +184,45 @@ rw_args()
mkfs.ext4 -L aux "aux.ext4" >/dev/null 2>&1 mkfs.ext4 -L aux "aux.ext4" >/dev/null 2>&1
fi fi
if ! [ -f "$CONFIG_QEMU_RW" ]; then if ! [ -f "$CONFIG_IX_QEMU_RW" ]; then
dd if=/dev/zero of="$CONFIG_QEMU_RW" bs=16M count=1 >/dev/null 2>&1 dd if=/dev/zero of="$CONFIG_IX_QEMU_RW" bs=16M count=1 >/dev/null 2>&1
mkfs.ext4 -L cfg "$CONFIG_QEMU_RW" >/dev/null 2>&1 mkfs.ext4 -L cfg "$CONFIG_IX_QEMU_RW" >/dev/null 2>&1
fi fi
# ARM 32-bit virt machine uses MMIO virtio devices, not PCI # ARM 32-bit virt machine uses MMIO virtio devices, not PCI
if [ "$CONFIG_QEMU_arm" ]; then if [ "$CONFIG_IX_QEMU_arm" ]; then
echo -n "-drive file=aux.ext4,if=none,format=raw,id=aux " echo -n "-drive file=aux.ext4,if=none,format=raw,id=aux "
echo -n "-device virtio-blk-device,drive=aux " echo -n "-device virtio-blk-device,drive=aux "
echo -n "-drive file=$CONFIG_QEMU_RW,if=none,format=raw,id=cfg " echo -n "-drive file=$CONFIG_IX_QEMU_RW,if=none,format=raw,id=cfg "
echo -n "-device virtio-blk-device,drive=cfg " echo -n "-device virtio-blk-device,drive=cfg "
if [ "$CONFIG_QEMU_RW_VAR_OPT" ]; then if [ "$CONFIG_IX_QEMU_RW_VAR_OPT" ]; then
if ! [ -f "$CONFIG_QEMU_RW_VAR" ]; then if ! [ -f "$CONFIG_IX_QEMU_RW_VAR" ]; then
dd if=/dev/zero of="$CONFIG_QEMU_RW_VAR" bs=$CONFIG_QEMU_RW_VAR_SIZE count=1 >/dev/null 2>&1 dd if=/dev/zero of="$CONFIG_IX_QEMU_RW_VAR" bs=$CONFIG_IX_QEMU_RW_VAR_SIZE count=1 >/dev/null 2>&1
mkfs.ext4 -L var "$CONFIG_QEMU_RW_VAR" >/dev/null 2>&1 mkfs.ext4 -L var "$CONFIG_IX_QEMU_RW_VAR" >/dev/null 2>&1
fi fi
echo -n "-drive file=$CONFIG_QEMU_RW_VAR,if=none,format=raw,id=var " echo -n "-drive file=$CONFIG_IX_QEMU_RW_VAR,if=none,format=raw,id=var "
echo -n "-device virtio-blk-device,drive=var " echo -n "-device virtio-blk-device,drive=var "
fi fi
else else
echo -n "-drive file=aux.ext4,if=virtio,format=raw,bus=0,unit=3 " echo -n "-drive file=aux.ext4,if=virtio,format=raw,bus=0,unit=3 "
echo -n "-drive file=$CONFIG_QEMU_RW,if=virtio,format=raw,bus=0,unit=1 " echo -n "-drive file=$CONFIG_IX_QEMU_RW,if=virtio,format=raw,bus=0,unit=1 "
if [ "$CONFIG_QEMU_RW_VAR_OPT" ]; then if [ "$CONFIG_IX_QEMU_RW_VAR_OPT" ]; then
if ! [ -f "$CONFIG_QEMU_RW_VAR" ]; then if ! [ -f "$CONFIG_IX_QEMU_RW_VAR" ]; then
dd if=/dev/zero of="$CONFIG_QEMU_RW_VAR" bs=$CONFIG_QEMU_RW_VAR_SIZE count=1 >/dev/null 2>&1 dd if=/dev/zero of="$CONFIG_IX_QEMU_RW_VAR" bs=$CONFIG_IX_QEMU_RW_VAR_SIZE count=1 >/dev/null 2>&1
mkfs.ext4 -L var "$CONFIG_QEMU_RW_VAR" >/dev/null 2>&1 mkfs.ext4 -L var "$CONFIG_IX_QEMU_RW_VAR" >/dev/null 2>&1
fi fi
echo -n "-drive file=$CONFIG_QEMU_RW_VAR,if=virtio,format=raw,bus=0,unit=2 " echo -n "-drive file=$CONFIG_IX_QEMU_RW_VAR,if=virtio,format=raw,bus=0,unit=2 "
fi fi
fi fi
} }
host_args() host_args()
{ {
[ "$CONFIG_QEMU_HOST" ] || return [ "$CONFIG_IX_QEMU_HOST" ] || return
echo -n "-virtfs local,path=$CONFIG_QEMU_HOST,security_model=none,writeout=immediate,mount_tag=hostfs " echo -n "-virtfs local,path=$CONFIG_IX_QEMU_HOST,security_model=none,writeout=immediate,mount_tag=hostfs "
} }
net_dev_args() net_dev_args()
@@ -230,7 +230,7 @@ net_dev_args()
name="e$1" name="e$1"
mac=$(printf "02:00:00:00:00:%02x" "$1") mac=$(printf "02:00:00:00:00:%02x" "$1")
echo -n "-device $CONFIG_QEMU_NET_MODEL,netdev=$name,mac=$mac " echo -n "-device $CONFIG_IX_QEMU_NET_MODEL,netdev=$name,mac=$mac "
echo "$name $mac" >>"$mactab" echo "$name $mac" >>"$mactab"
} }
@@ -252,29 +252,29 @@ net_args()
:> "$mactab" :> "$mactab"
echo -n "-fw_cfg name=opt/mactab,file=$mactab " echo -n "-fw_cfg name=opt/mactab,file=$mactab "
if [ "$CONFIG_QEMU_NET_BRIDGE" = "y" ]; then if [ "$CONFIG_IX_QEMU_NET_BRIDGE" = "y" ]; then
echo -n "-netdev bridge,id=e1,br=$CONFIG_QEMU_NET_BRIDGE_DEV " echo -n "-netdev bridge,id=e1,br=$CONFIG_IX_QEMU_NET_BRIDGE_DEV "
net_dev_args 1 net_dev_args 1
elif [ "$CONFIG_QEMU_NET_TAP" = "y" ]; then elif [ "$CONFIG_IX_QEMU_NET_TAP" = "y" ]; then
for i in $(seq 1 "$CONFIG_QEMU_NET_TAP_N"); do for i in $(seq 1 "$CONFIG_IX_QEMU_NET_TAP_N"); do
echo -n "-netdev tap,id=e$i,ifname=qtap$i " echo -n "-netdev tap,id=e$i,ifname=qtap$i "
net_dev_args "$i" net_dev_args "$i"
done done
elif [ "$CONFIG_QEMU_NET_ROCKER" = "y" ]; then elif [ "$CONFIG_IX_QEMU_NET_ROCKER" = "y" ]; then
sw=sw0 # Only single switch support atm. sw=sw0 # Only single switch support atm.
echo -n "-device '{\"driver\":\"rocker\", \"name\":\"${sw}\", " echo -n "-device '{\"driver\":\"rocker\", \"name\":\"${sw}\", "
echo -n "\"fp_start_macaddr\":\"02:00:00:00:00:01\", " echo -n "\"fp_start_macaddr\":\"02:00:00:00:00:01\", "
echo -n "\"ports\":[" echo -n "\"ports\":["
for i in $(seq 1 "$CONFIG_QEMU_NET_PORTS"); do for i in $(seq 1 "$CONFIG_IX_QEMU_NET_PORTS"); do
[ "$i" -gt 1 ] && echo -n ", " [ "$i" -gt 1 ] && echo -n ", "
echo -n "\"${sw}p${i}\"" echo -n "\"${sw}p${i}\""
done done
echo -n "]}' " echo -n "]}' "
for i in $(seq 1 "$CONFIG_QEMU_NET_PORTS"); do for i in $(seq 1 "$CONFIG_IX_QEMU_NET_PORTS"); do
rocker_port_args 0 "$i" rocker_port_args 0 "$i"
done done
elif [ "$CONFIG_QEMU_NET_USER" = "y" ]; then elif [ "$CONFIG_IX_QEMU_NET_USER" = "y" ]; then
[ "$CONFIG_QEMU_NET_USER_OPTS" ] && useropts=",$CONFIG_QEMU_NET_USER_OPTS" [ "$CONFIG_IX_QEMU_NET_USER_OPTS" ] && useropts=",$CONFIG_IX_QEMU_NET_USER_OPTS"
echo -n "-netdev user,id=e1${useropts} " echo -n "-netdev user,id=e1${useropts} "
net_dev_args 1 net_dev_args 1
else else
@@ -285,7 +285,7 @@ net_args()
# Vital Product data # Vital Product data
vpd_args() vpd_args()
{ {
[ "$CONFIG_QEMU_VPD" = "y" ] || return [ "$CONFIG_IX_QEMU_VPD" = "y" ] || return
vpd_file="${qdir}/vpd" vpd_file="${qdir}/vpd"
@@ -324,8 +324,8 @@ random_date()
rtc_args() rtc_args()
{ {
rtc="${CONFIG_QEMU_RTC:-utc}" rtc="${CONFIG_IX_QEMU_RTC:-utc}"
clock="${CONFIG_QEMU_CLOCK:-host}" clock="${CONFIG_IX_QEMU_CLOCK:-host}"
if [ "$rtc" = "random" ]; then if [ "$rtc" = "random" ]; then
rtc=$(random_date) rtc=$(random_date)
fi fi
@@ -358,28 +358,28 @@ extract_squashfs()
run_qemu() run_qemu()
{ {
# Auto-extract rootfs.squashfs from rootfs.itb if needed for initrd mode # Auto-extract rootfs.squashfs from rootfs.itb if needed for initrd mode
if [ "$CONFIG_QEMU_ROOTFS_INITRD" = "y" ] && [ ! -f "$CONFIG_QEMU_ROOTFS" ]; then if [ "$CONFIG_IX_QEMU_ROOTFS_INITRD" = "y" ] && [ ! -f "$CONFIG_IX_QEMU_ROOTFS" ]; then
itb="${CONFIG_QEMU_ROOTFS%.squashfs}.itb" itb="${CONFIG_IX_QEMU_ROOTFS%.squashfs}.itb"
if [ -f "$itb" ]; then if [ -f "$itb" ]; then
extract_squashfs "$itb" "$CONFIG_QEMU_ROOTFS" extract_squashfs "$itb" "$CONFIG_IX_QEMU_ROOTFS"
else else
die "Missing $CONFIG_QEMU_ROOTFS and cannot find $itb to extract it from" die "Missing $CONFIG_IX_QEMU_ROOTFS and cannot find $itb to extract it from"
fi fi
fi fi
if [ "$CONFIG_QEMU_ROOTFS_VSCSI" = "y" ]; then if [ "$CONFIG_IX_QEMU_ROOTFS_VSCSI" = "y" ]; then
if ! qemu-img check "qemu.qcow2"; then if ! qemu-img check "qemu.qcow2"; then
rm -f "qemu.qcow2" rm -f "qemu.qcow2"
fi fi
if [ ! -f "qemu.qcow2" ]; then if [ ! -f "qemu.qcow2" ]; then
echo "Creating qcow2 disk image for Qemu ..." echo "Creating qcow2 disk image for Qemu ..."
qemu-img create -f qcow2 -o backing_file="$CONFIG_QEMU_ROOTFS" \ qemu-img create -f qcow2 -o backing_file="$CONFIG_IX_QEMU_ROOTFS" \
-F qcow2 "qemu.qcow2" > /dev/null -F qcow2 "qemu.qcow2" > /dev/null
fi fi
fi fi
read -r qemu <<EOF read -r qemu <<EOF
$CONFIG_QEMU_MACHINE -nodefaults -m $CONFIG_QEMU_MACHINE_RAM \ $CONFIG_IX_QEMU_MACHINE -nodefaults -m $CONFIG_IX_QEMU_MACHINE_RAM \
$(loader_args) \ $(loader_args) \
$(rootfs_args) \ $(rootfs_args) \
$(serial_args) \ $(serial_args) \
@@ -391,14 +391,14 @@ run_qemu()
$(rtc_args) \ $(rtc_args) \
$(vpd_args) \ $(vpd_args) \
$(gdb_args) \ $(gdb_args) \
$CONFIG_QEMU_EXTRA $CONFIG_IX_QEMU_EXTRA
EOF EOF
# Save resulting command to a script, because I cannot for the life # Save resulting command to a script, because I cannot for the life
# of me figure out how to embed the JSON snippet for Rocker and run # of me figure out how to embed the JSON snippet for Rocker and run
# it here without issues, spent way too much time on it -- Joachim # it here without issues, spent way too much time on it -- Joachim
run=$(mktemp -t run.qemu.XXX) run=$(mktemp -t run.qemu.XXX)
echo "#!/bin/sh" > "$run" echo "#!/bin/sh" > "$run"
if [ "$CONFIG_QEMU_KERNEL" ]; then if [ "$CONFIG_IX_QEMU_KERNEL" ]; then
echo "$qemu -append \"$(append_args)\" $*" >> "$run" echo "$qemu -append \"$(append_args)\" $*" >> "$run"
else else
echo "$qemu $*" >> "$run" echo "$qemu $*" >> "$run"
@@ -419,9 +419,9 @@ EOF
dtb_args() dtb_args()
{ {
[ "$CONFIG_QEMU_LOADER_UBOOT" ] || return [ "$CONFIG_IX_QEMU_LOADER_UBOOT" ] || return
if [ "$CONFIG_QEMU_DTB_EXTEND" ]; then if [ "$CONFIG_IX_QEMU_DTB_EXTEND" ]; then
# On the current architecture, QEMU will generate an internal # On the current architecture, QEMU will generate an internal
# DT based on the system configuration. # DT based on the system configuration.
@@ -445,12 +445,12 @@ dtb_args()
generate_dot() generate_dot()
{ {
[ "$CONFIG_QEMU_NET_TAP" = "y" ] || return [ "$CONFIG_IX_QEMU_NET_TAP" = "y" ] || return
hostports="<qtap1> qtap1" hostports="<qtap1> qtap1"
targetports="<e1> e1" targetports="<e1> e1"
edges="host:qtap1 -- target:e1 [kind=mgmt];" edges="host:qtap1 -- target:e1 [kind=mgmt];"
for tap in $(seq 2 $((CONFIG_QEMU_NET_TAP_N - 1))); do for tap in $(seq 2 $((CONFIG_IX_QEMU_NET_TAP_N - 1))); do
hostports="$hostports | <qtap$tap> qtap$tap " hostports="$hostports | <qtap$tap> qtap$tap "
targetports="$targetports | <e$tap> e$tap " targetports="$targetports | <e$tap> e$tap "
edges="$edges host:qtap$tap -- target:e$tap;" edges="$edges host:qtap$tap -- target:e$tap;"
@@ -485,7 +485,7 @@ EOF
menuconfig() menuconfig()
{ {
grep -q QEMU_MACHINE Config.in || die "$prognm: must be run from the $$O/images/qemu directory" grep -q IX_QEMU_MACHINE Config.in || die "$prognm: must be run from the $$O/images/qemu directory"
command -v kconfig-mconf >/dev/null || die "$prognm: cannot find kconfig-mconf for menuconfig" command -v kconfig-mconf >/dev/null || die "$prognm: cannot find kconfig-mconf for menuconfig"
exec kconfig-mconf Config.in exec kconfig-mconf Config.in
} }
@@ -24,6 +24,10 @@ net.ipv4.conf.all.arp_ignore=1
net.ipv4.ip_forward=1 net.ipv4.ip_forward=1
net.ipv4.ip_forward_update_priority=0 net.ipv4.ip_forward_update_priority=0
# Allow binding to non-local addresses, e.g. floating VIPs not yet
# configured on an interface, see issue #1022
net.ipv4.ip_nonlocal_bind=1
net.ipv4.conf.all.forwarding=0 net.ipv4.conf.all.forwarding=0
net.ipv4.conf.default.forwarding=0 net.ipv4.conf.default.forwarding=0
@@ -7,6 +7,10 @@ net.ipv6.conf.all.ignore_routes_with_linkdown=1
net.ipv6.conf.all.forwarding=0 net.ipv6.conf.all.forwarding=0
net.ipv6.conf.default.forwarding=0 net.ipv6.conf.default.forwarding=0
# Allow binding to non-local addresses, e.g. floating VIPs not yet
# configured on an interface, see issue #1022
net.ipv6.ip_nonlocal_bind=1
# Accept router advertisements even when forwarding is enabled # Accept router advertisements even when forwarding is enabled
net.ipv6.conf.all.accept_ra=2 net.ipv6.conf.all.accept_ra=2
net.ipv6.conf.default.accept_ra=2 net.ipv6.conf.default.accept_ra=2
+10 -1
View File
@@ -25,7 +25,7 @@ define UBOOT_PRE_BUILD_INSTALL_KEY
$(HOST_DIR)/bin/dtc -a 1024 <(echo '/dts-v1/; / { signature {}; };') \ $(HOST_DIR)/bin/dtc -a 1024 <(echo '/dts-v1/; / { signature {}; };') \
>$(@D)/infix-key.dtb >$(@D)/infix-key.dtb
$(foreach key, \ $(foreach key, \
$(call qstrip,$(TRUSTED_KEYS_DEVELOPMENT_PATH)) $(call qstrip,$(TRUSTED_KEYS_EXTRA_PATH)),\ $(call qstrip,$(IX_TRUSTED_KEYS_DEVELOPMENT_PATH)) $(call qstrip,$(IX_TRUSTED_KEYS_EXTRA_PATH)),\
$(call uboot-add-pubkey,$(key),$(@D)/infix-key.dtb)) $(call uboot-add-pubkey,$(key),$(@D)/infix-key.dtb))
$(HOST_DIR)/bin/dtc -I dtb -O dts \ $(HOST_DIR)/bin/dtc -I dtb -O dts \
<$(@D)/infix-key.dtb \ <$(@D)/infix-key.dtb \
@@ -46,3 +46,12 @@ define UBOOT_PRE_BUILD_INSTALL_ENV
$(@D)/arch/$(UBOOT_ARCH)/dts/ $(@D)/arch/$(UBOOT_ARCH)/dts/
endef endef
UBOOT_PRE_BUILD_HOOKS += UBOOT_PRE_BUILD_INSTALL_ENV UBOOT_PRE_BUILD_HOOKS += UBOOT_PRE_BUILD_INSTALL_ENV
# Stamp non-release builds so they cannot be mistaken for a release,
# U-Boot's setlocalversion picks up .scmversion, see issue #919.
define UBOOT_PRE_BUILD_DEVEL_VERSION
echo "-DEVEL" >$(@D)/.scmversion
endef
ifeq ($(INFIX_RELEASE),)
UBOOT_PRE_BUILD_HOOKS += UBOOT_PRE_BUILD_DEVEL_VERSION
endif
+12 -12
View File
@@ -27,7 +27,7 @@ BR2_ROOTFS_OVERLAY="${BR2_EXTERNAL_INFIX_PATH}/board/common/rootfs ${BR2_EXTERNA
BR2_ROOTFS_POST_BUILD_SCRIPT="${BR2_EXTERNAL_INFIX_PATH}/board/common/post-build.sh" BR2_ROOTFS_POST_BUILD_SCRIPT="${BR2_EXTERNAL_INFIX_PATH}/board/common/post-build.sh"
BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.37" BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.39"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="${BR2_EXTERNAL_INFIX_PATH}/board/aarch64/linux_defconfig" BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="${BR2_EXTERNAL_INFIX_PATH}/board/aarch64/linux_defconfig"
BR2_LINUX_KERNEL_INSTALL_TARGET=y BR2_LINUX_KERNEL_INSTALL_TARGET=y
@@ -143,11 +143,11 @@ BR2_PACKAGE_MARVELL_CN9130_CRB=y
BR2_PACKAGE_MARVELL_ESPRESSOBIN=y BR2_PACKAGE_MARVELL_ESPRESSOBIN=y
BR2_PACKAGE_RASPBERRYPI_RPI64=y BR2_PACKAGE_RASPBERRYPI_RPI64=y
BR2_PACKAGE_STYX_DCP_SC_28P=y BR2_PACKAGE_STYX_DCP_SC_28P=y
INFIX_VENDOR_HOME="https://www.kernelkit.org" IX_VENDOR_HOME="https://www.kernelkit.org"
INFIX_DESC="Infix is an immutable, friendly, and secure operating system that turns any ARM or x86 device into a powerful, manageable network appliance. Deploy on anything from $35 Raspberry Pi boards to enterprise switches as routers, IoT gateways, or edge devices. Infix models Linux networking features using YANG so you can manage your devices using NETCONF/RESTCONF APIs and focus on your business logic running in isolated containers." IX_DESC="Infix is an immutable, friendly, and secure operating system that turns any ARM or x86 device into a powerful, manageable network appliance. Deploy on anything from $35 Raspberry Pi boards to enterprise switches as routers, IoT gateways, or edge devices. Infix models Linux networking features using YANG so you can manage your devices using NETCONF/RESTCONF APIs and focus on your business logic running in isolated containers."
INFIX_HOME="https://github.com/kernelkit/infix/" IX_HOME="https://github.com/kernelkit/infix/"
INFIX_DOC="https://www.kernelkit.org/infix/" IX_DOC="https://www.kernelkit.org/infix/"
INFIX_SUPPORT="mailto:kernelkit@googlegroups.com" IX_SUPPORT="mailto:kernelkit@googlegroups.com"
BR2_PACKAGE_FEATURE_GPS=y BR2_PACKAGE_FEATURE_GPS=y
BR2_PACKAGE_FEATURE_WIFI=y BR2_PACKAGE_FEATURE_WIFI=y
BR2_PACKAGE_FEATURE_WIFI_MEDIATEK=y BR2_PACKAGE_FEATURE_WIFI_MEDIATEK=y
@@ -191,9 +191,9 @@ BR2_PACKAGE_WEBUI=y
BR2_PACKAGE_RAUC_INSTALLATION_STATUS=y BR2_PACKAGE_RAUC_INSTALLATION_STATUS=y
BR2_PACKAGE_HOST_PYTHON_YANGDOC=y BR2_PACKAGE_HOST_PYTHON_YANGDOC=y
BR2_PACKAGE_PCIUTILS=y BR2_PACKAGE_PCIUTILS=y
IMAGE_ITB_AUX=y IX_IMAGE_ITB_AUX=y
IMAGE_ITB_QCOW=y IX_IMAGE_ITB_QCOW=y
IMAGE_ITB_RAUC=y IX_IMAGE_ITB_RAUC=y
IMAGE_README=y IX_IMAGE_README=y
TRUSTED_KEYS=y IX_TRUSTED_KEYS=y
TRUSTED_KEYS_DEVELOPMENT=y IX_TRUSTED_KEYS_DEVELOPMENT=y
+12 -12
View File
@@ -27,7 +27,7 @@ BR2_ROOTFS_OVERLAY="${BR2_EXTERNAL_INFIX_PATH}/board/common/rootfs ${BR2_EXTERNA
BR2_ROOTFS_POST_BUILD_SCRIPT="${BR2_EXTERNAL_INFIX_PATH}/board/common/post-build.sh" BR2_ROOTFS_POST_BUILD_SCRIPT="${BR2_EXTERNAL_INFIX_PATH}/board/common/post-build.sh"
BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.37" BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.39"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="${BR2_EXTERNAL_INFIX_PATH}/board/aarch64/linux_defconfig" BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="${BR2_EXTERNAL_INFIX_PATH}/board/aarch64/linux_defconfig"
BR2_LINUX_KERNEL_INSTALL_TARGET=y BR2_LINUX_KERNEL_INSTALL_TARGET=y
@@ -121,11 +121,11 @@ BR2_PACKAGE_MARVELL_CN9130_CRB=y
BR2_PACKAGE_MARVELL_ESPRESSOBIN=y BR2_PACKAGE_MARVELL_ESPRESSOBIN=y
BR2_PACKAGE_RASPBERRYPI_RPI64=y BR2_PACKAGE_RASPBERRYPI_RPI64=y
BR2_PACKAGE_STYX_DCP_SC_28P=y BR2_PACKAGE_STYX_DCP_SC_28P=y
INFIX_VENDOR_HOME="https://www.kernelkit.org" IX_VENDOR_HOME="https://www.kernelkit.org"
INFIX_DESC="Infix is an immutable, friendly, and secure operating system that turns any ARM or x86 device into a powerful, manageable network appliance. Deploy on anything from $35 Raspberry Pi boards to enterprise switches as routers, IoT gateways, or edge devices. Infix models Linux networking features using YANG so you can manage your devices using NETCONF/RESTCONF APIs and focus on your business logic running in isolated containers." IX_DESC="Infix is an immutable, friendly, and secure operating system that turns any ARM or x86 device into a powerful, manageable network appliance. Deploy on anything from $35 Raspberry Pi boards to enterprise switches as routers, IoT gateways, or edge devices. Infix models Linux networking features using YANG so you can manage your devices using NETCONF/RESTCONF APIs and focus on your business logic running in isolated containers."
INFIX_HOME="https://github.com/kernelkit/infix/" IX_HOME="https://github.com/kernelkit/infix/"
INFIX_DOC="https://www.kernelkit.org/infix/" IX_DOC="https://www.kernelkit.org/infix/"
INFIX_SUPPORT="mailto:kernelkit@googlegroups.com" IX_SUPPORT="mailto:kernelkit@googlegroups.com"
BR2_PACKAGE_CONFD=y BR2_PACKAGE_CONFD=y
BR2_PACKAGE_NETD=y BR2_PACKAGE_NETD=y
BR2_PACKAGE_CONFD_TEST_MODE=y BR2_PACKAGE_CONFD_TEST_MODE=y
@@ -151,9 +151,9 @@ BR2_PACKAGE_MDNS_ALIAS=y
BR2_PACKAGE_ONIEPROM=y BR2_PACKAGE_ONIEPROM=y
BR2_PACKAGE_ROUSETTE=y BR2_PACKAGE_ROUSETTE=y
BR2_PACKAGE_RAUC_INSTALLATION_STATUS=y BR2_PACKAGE_RAUC_INSTALLATION_STATUS=y
IMAGE_ITB_AUX=y IX_IMAGE_ITB_AUX=y
IMAGE_ITB_QCOW=y IX_IMAGE_ITB_QCOW=y
IMAGE_ITB_RAUC=y IX_IMAGE_ITB_RAUC=y
IMAGE_README=y IX_IMAGE_README=y
TRUSTED_KEYS=y IX_TRUSTED_KEYS=y
TRUSTED_KEYS_DEVELOPMENT=y IX_TRUSTED_KEYS_DEVELOPMENT=y
+2 -2
View File
@@ -25,5 +25,5 @@ BR2_PACKAGE_HOST_UBOOT_TOOLS=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SIGNATURE_SUPPORT=y BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SIGNATURE_SUPPORT=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_FDT_ADD_PUBKEY=y BR2_PACKAGE_HOST_UBOOT_TOOLS_FDT_ADD_PUBKEY=y
TRUSTED_KEYS=y IX_TRUSTED_KEYS=y
TRUSTED_KEYS_DEVELOPMENT=y IX_TRUSTED_KEYS_DEVELOPMENT=y
+13 -12
View File
@@ -28,7 +28,7 @@ BR2_ROOTFS_OVERLAY="${BR2_EXTERNAL_INFIX_PATH}/board/common/rootfs ${BR2_EXTERNA
BR2_ROOTFS_POST_BUILD_SCRIPT="${BR2_EXTERNAL_INFIX_PATH}/board/common/post-build.sh" BR2_ROOTFS_POST_BUILD_SCRIPT="${BR2_EXTERNAL_INFIX_PATH}/board/common/post-build.sh"
BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.37" BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.39"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="${BR2_EXTERNAL_INFIX_PATH}/board/arm/linux_defconfig" BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="${BR2_EXTERNAL_INFIX_PATH}/board/arm/linux_defconfig"
BR2_LINUX_KERNEL_INSTALL_TARGET=y BR2_LINUX_KERNEL_INSTALL_TARGET=y
@@ -129,6 +129,7 @@ BR2_PACKAGE_HOST_DOSFSTOOLS=y
BR2_PACKAGE_HOST_E2FSPROGS=y BR2_PACKAGE_HOST_E2FSPROGS=y
BR2_PACKAGE_HOST_ENVIRONMENT_SETUP=y BR2_PACKAGE_HOST_ENVIRONMENT_SETUP=y
BR2_PACKAGE_HOST_GENEXT2FS=y BR2_PACKAGE_HOST_GENEXT2FS=y
BR2_PACKAGE_HOST_GO_BIN=y
BR2_PACKAGE_HOST_KMOD_XZ=y BR2_PACKAGE_HOST_KMOD_XZ=y
BR2_PACKAGE_HOST_MTOOLS=y BR2_PACKAGE_HOST_MTOOLS=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y
@@ -136,11 +137,11 @@ BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SIGNATURE_SUPPORT=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_FDT_ADD_PUBKEY=y BR2_PACKAGE_HOST_UBOOT_TOOLS_FDT_ADD_PUBKEY=y
BR2_PACKAGE_MICROCHIP_SAMA7G54_EK=y BR2_PACKAGE_MICROCHIP_SAMA7G54_EK=y
BR2_PACKAGE_RASPBERRYPI_RPI2=y BR2_PACKAGE_RASPBERRYPI_RPI2=y
INFIX_VENDOR_HOME="https://www.kernelkit.org" IX_VENDOR_HOME="https://www.kernelkit.org"
INFIX_DESC="Infix is an immutable, friendly, and secure operating system that turns any ARM or x86 device into a powerful, manageable network appliance. Deploy on anything from $35 Raspberry Pi boards to enterprise switches as routers, IoT gateways, or edge devices. Infix models Linux networking features using YANG so you can manage your devices using NETCONF/RESTCONF APIs and focus on your business logic running in isolated containers." IX_DESC="Infix is an immutable, friendly, and secure operating system that turns any ARM or x86 device into a powerful, manageable network appliance. Deploy on anything from $35 Raspberry Pi boards to enterprise switches as routers, IoT gateways, or edge devices. Infix models Linux networking features using YANG so you can manage your devices using NETCONF/RESTCONF APIs and focus on your business logic running in isolated containers."
INFIX_HOME="https://github.com/kernelkit/infix/" IX_HOME="https://github.com/kernelkit/infix/"
INFIX_DOC="https://www.kernelkit.org/infix/" IX_DOC="https://www.kernelkit.org/infix/"
INFIX_SUPPORT="mailto:kernelkit@googlegroups.com" IX_SUPPORT="mailto:kernelkit@googlegroups.com"
BR2_PACKAGE_FEATURE_GPS=y BR2_PACKAGE_FEATURE_GPS=y
BR2_PACKAGE_FEATURE_WIFI_MEDIATEK=y BR2_PACKAGE_FEATURE_WIFI_MEDIATEK=y
BR2_PACKAGE_FEATURE_WIFI_REALTEK=y BR2_PACKAGE_FEATURE_WIFI_REALTEK=y
@@ -173,9 +174,9 @@ BR2_PACKAGE_ROUSETTE=y
BR2_PACKAGE_WEBUI=y BR2_PACKAGE_WEBUI=y
BR2_PACKAGE_RAUC_INSTALLATION_STATUS=y BR2_PACKAGE_RAUC_INSTALLATION_STATUS=y
BR2_PACKAGE_HOST_PYTHON_YANGDOC=y BR2_PACKAGE_HOST_PYTHON_YANGDOC=y
IMAGE_ITB_AUX=y IX_IMAGE_ITB_AUX=y
IMAGE_ITB_QCOW=y IX_IMAGE_ITB_QCOW=y
IMAGE_ITB_RAUC=y IX_IMAGE_ITB_RAUC=y
IMAGE_README=y IX_IMAGE_README=y
TRUSTED_KEYS=y IX_TRUSTED_KEYS=y
TRUSTED_KEYS_DEVELOPMENT=y IX_TRUSTED_KEYS_DEVELOPMENT=y
+12 -12
View File
@@ -28,7 +28,7 @@ BR2_ROOTFS_OVERLAY="${BR2_EXTERNAL_INFIX_PATH}/board/common/rootfs ${BR2_EXTERNA
BR2_ROOTFS_POST_BUILD_SCRIPT="${BR2_EXTERNAL_INFIX_PATH}/board/common/post-build.sh" BR2_ROOTFS_POST_BUILD_SCRIPT="${BR2_EXTERNAL_INFIX_PATH}/board/common/post-build.sh"
BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.37" BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.39"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="${BR2_EXTERNAL_INFIX_PATH}/board/arm/linux_defconfig" BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="${BR2_EXTERNAL_INFIX_PATH}/board/arm/linux_defconfig"
BR2_LINUX_KERNEL_INSTALL_TARGET=y BR2_LINUX_KERNEL_INSTALL_TARGET=y
@@ -119,11 +119,11 @@ BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SIGNATURE_SUPPORT=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_FDT_ADD_PUBKEY=y BR2_PACKAGE_HOST_UBOOT_TOOLS_FDT_ADD_PUBKEY=y
BR2_PACKAGE_MICROCHIP_SAMA7G54_EK=y BR2_PACKAGE_MICROCHIP_SAMA7G54_EK=y
BR2_PACKAGE_RASPBERRYPI_RPI2=y BR2_PACKAGE_RASPBERRYPI_RPI2=y
INFIX_VENDOR_HOME="https://www.kernelkit.org" IX_VENDOR_HOME="https://www.kernelkit.org"
INFIX_DESC="Infix is an immutable, friendly, and secure operating system that turns any ARM or x86 device into a powerful, manageable network appliance. Deploy on anything from $35 Raspberry Pi boards to enterprise switches as routers, IoT gateways, or edge devices. Infix models Linux networking features using YANG so you can manage your devices using NETCONF/RESTCONF APIs and focus on your business logic running in isolated containers." IX_DESC="Infix is an immutable, friendly, and secure operating system that turns any ARM or x86 device into a powerful, manageable network appliance. Deploy on anything from $35 Raspberry Pi boards to enterprise switches as routers, IoT gateways, or edge devices. Infix models Linux networking features using YANG so you can manage your devices using NETCONF/RESTCONF APIs and focus on your business logic running in isolated containers."
INFIX_HOME="https://github.com/kernelkit/infix/" IX_HOME="https://github.com/kernelkit/infix/"
INFIX_DOC="https://www.kernelkit.org/infix/" IX_DOC="https://www.kernelkit.org/infix/"
INFIX_SUPPORT="mailto:kernelkit@googlegroups.com" IX_SUPPORT="mailto:kernelkit@googlegroups.com"
BR2_PACKAGE_CONFD=y BR2_PACKAGE_CONFD=y
BR2_PACKAGE_NETD=y BR2_PACKAGE_NETD=y
BR2_PACKAGE_CONFD_TEST_MODE=y BR2_PACKAGE_CONFD_TEST_MODE=y
@@ -149,9 +149,9 @@ BR2_PACKAGE_MDNS_ALIAS=y
BR2_PACKAGE_ONIEPROM=y BR2_PACKAGE_ONIEPROM=y
BR2_PACKAGE_ROUSETTE=y BR2_PACKAGE_ROUSETTE=y
BR2_PACKAGE_RAUC_INSTALLATION_STATUS=y BR2_PACKAGE_RAUC_INSTALLATION_STATUS=y
IMAGE_ITB_AUX=y IX_IMAGE_ITB_AUX=y
IMAGE_ITB_QCOW=y IX_IMAGE_ITB_QCOW=y
IMAGE_ITB_RAUC=y IX_IMAGE_ITB_RAUC=y
IMAGE_README=y IX_IMAGE_README=y
TRUSTED_KEYS=y IX_TRUSTED_KEYS=y
TRUSTED_KEYS_DEVELOPMENT=y IX_TRUSTED_KEYS_DEVELOPMENT=y
+2 -2
View File
@@ -40,5 +40,5 @@ BR2_PACKAGE_HOST_UBOOT_TOOLS=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SIGNATURE_SUPPORT=y BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SIGNATURE_SUPPORT=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_FDT_ADD_PUBKEY=y BR2_PACKAGE_HOST_UBOOT_TOOLS_FDT_ADD_PUBKEY=y
TRUSTED_KEYS=y IX_TRUSTED_KEYS=y
TRUSTED_KEYS_DEVELOPMENT=y IX_TRUSTED_KEYS_DEVELOPMENT=y
+2 -2
View File
@@ -38,5 +38,5 @@ BR2_PACKAGE_HOST_UBOOT_TOOLS=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SIGNATURE_SUPPORT=y BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SIGNATURE_SUPPORT=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_FDT_ADD_PUBKEY=y BR2_PACKAGE_HOST_UBOOT_TOOLS_FDT_ADD_PUBKEY=y
TRUSTED_KEYS=y IX_TRUSTED_KEYS=y
TRUSTED_KEYS_DEVELOPMENT=y IX_TRUSTED_KEYS_DEVELOPMENT=y
+2 -2
View File
@@ -38,5 +38,5 @@ BR2_PACKAGE_HOST_UBOOT_TOOLS=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SIGNATURE_SUPPORT=y BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SIGNATURE_SUPPORT=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_FDT_ADD_PUBKEY=y BR2_PACKAGE_HOST_UBOOT_TOOLS_FDT_ADD_PUBKEY=y
TRUSTED_KEYS=y IX_TRUSTED_KEYS=y
TRUSTED_KEYS_DEVELOPMENT=y IX_TRUSTED_KEYS_DEVELOPMENT=y
+2 -2
View File
@@ -38,5 +38,5 @@ BR2_PACKAGE_HOST_UBOOT_TOOLS=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SIGNATURE_SUPPORT=y BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SIGNATURE_SUPPORT=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_FDT_ADD_PUBKEY=y BR2_PACKAGE_HOST_UBOOT_TOOLS_FDT_ADD_PUBKEY=y
TRUSTED_KEYS=y IX_TRUSTED_KEYS=y
TRUSTED_KEYS_DEVELOPMENT=y IX_TRUSTED_KEYS_DEVELOPMENT=y
+2 -2
View File
@@ -38,5 +38,5 @@ BR2_PACKAGE_HOST_UBOOT_TOOLS=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SIGNATURE_SUPPORT=y BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SIGNATURE_SUPPORT=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_FDT_ADD_PUBKEY=y BR2_PACKAGE_HOST_UBOOT_TOOLS_FDT_ADD_PUBKEY=y
TRUSTED_KEYS=y IX_TRUSTED_KEYS=y
TRUSTED_KEYS_DEVELOPMENT=y IX_TRUSTED_KEYS_DEVELOPMENT=y
+2 -2
View File
@@ -38,5 +38,5 @@ BR2_PACKAGE_HOST_UBOOT_TOOLS=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SIGNATURE_SUPPORT=y BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SIGNATURE_SUPPORT=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_FDT_ADD_PUBKEY=y BR2_PACKAGE_HOST_UBOOT_TOOLS_FDT_ADD_PUBKEY=y
TRUSTED_KEYS=y IX_TRUSTED_KEYS=y
TRUSTED_KEYS_DEVELOPMENT=y IX_TRUSTED_KEYS_DEVELOPMENT=y
+2 -2
View File
@@ -38,5 +38,5 @@ BR2_PACKAGE_HOST_UBOOT_TOOLS=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SIGNATURE_SUPPORT=y BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SIGNATURE_SUPPORT=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_FDT_ADD_PUBKEY=y BR2_PACKAGE_HOST_UBOOT_TOOLS_FDT_ADD_PUBKEY=y
TRUSTED_KEYS=y IX_TRUSTED_KEYS=y
TRUSTED_KEYS_DEVELOPMENT=y IX_TRUSTED_KEYS_DEVELOPMENT=y
+2 -2
View File
@@ -45,5 +45,5 @@ BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SIGNATURE_SUPPORT=y BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SIGNATURE_SUPPORT=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_FDT_ADD_PUBKEY=y BR2_PACKAGE_HOST_UBOOT_TOOLS_FDT_ADD_PUBKEY=y
BR2_PACKAGE_BOOTLOADER_SPLASHSCREEN=y BR2_PACKAGE_BOOTLOADER_SPLASHSCREEN=y
TRUSTED_KEYS=y IX_TRUSTED_KEYS=y
TRUSTED_KEYS_DEVELOPMENT=y IX_TRUSTED_KEYS_DEVELOPMENT=y
+12 -11
View File
@@ -164,14 +164,15 @@ BR2_TARGET_UBOOT_SPL=y
BR2_TARGET_UBOOT_SPL_NAME="spl/u-boot-spl.bin.normal.out" BR2_TARGET_UBOOT_SPL_NAME="spl/u-boot-spl.bin.normal.out"
BR2_TARGET_UBOOT_CUSTOM_DTS_PATH="$(BR2_EXTERNAL_INFIX_PATH)/board/riscv64/visionfive2/uboot/visionfive2-env.dtsi" BR2_TARGET_UBOOT_CUSTOM_DTS_PATH="$(BR2_EXTERNAL_INFIX_PATH)/board/riscv64/visionfive2/uboot/visionfive2-env.dtsi"
BR2_PACKAGE_HOST_BMAP_TOOLS=y BR2_PACKAGE_HOST_BMAP_TOOLS=y
BR2_PACKAGE_HOST_GO_BIN=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SIGNATURE_SUPPORT=y BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SIGNATURE_SUPPORT=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_FDT_ADD_PUBKEY=y BR2_PACKAGE_HOST_UBOOT_TOOLS_FDT_ADD_PUBKEY=y
INFIX_VENDOR_HOME="https://www.kernelkit.org" IX_VENDOR_HOME="https://www.kernelkit.org"
INFIX_DESC="Infix is an immutable, friendly, and secure operating system that turns any ARM or x86 device into a powerful, manageable network appliance. Deploy on anything from $35 Raspberry Pi boards to enterprise switches as routers, IoT gateways, or edge devices. Infix models Linux networking features using YANG so you can manage your devices using NETCONF/RESTCONF APIs and focus on your business logic running in isolated containers." IX_DESC="Infix is an immutable, friendly, and secure operating system that turns any ARM or x86 device into a powerful, manageable network appliance. Deploy on anything from $35 Raspberry Pi boards to enterprise switches as routers, IoT gateways, or edge devices. Infix models Linux networking features using YANG so you can manage your devices using NETCONF/RESTCONF APIs and focus on your business logic running in isolated containers."
INFIX_HOME="https://github.com/kernelkit/infix/" IX_HOME="https://github.com/kernelkit/infix/"
INFIX_DOC="https://www.kernelkit.org/infix/" IX_DOC="https://www.kernelkit.org/infix/"
INFIX_SUPPORT="mailto:kernelkit@googlegroups.com" IX_SUPPORT="mailto:kernelkit@googlegroups.com"
BR2_PACKAGE_FEATURE_GPS=y BR2_PACKAGE_FEATURE_GPS=y
BR2_PACKAGE_FEATURE_WIFI=y BR2_PACKAGE_FEATURE_WIFI=y
BR2_PACKAGE_FEATURE_WIFI_MEDIATEK=y BR2_PACKAGE_FEATURE_WIFI_MEDIATEK=y
@@ -210,9 +211,9 @@ BR2_PACKAGE_WEBUI=y
BR2_PACKAGE_RAUC_INSTALLATION_STATUS=y BR2_PACKAGE_RAUC_INSTALLATION_STATUS=y
BR2_PACKAGE_HOST_PYTHON_YANGDOC=y BR2_PACKAGE_HOST_PYTHON_YANGDOC=y
BR2_PACKAGE_PCIUTILS=y BR2_PACKAGE_PCIUTILS=y
IMAGE_ITB_AUX=y IX_IMAGE_ITB_AUX=y
IMAGE_ITB_QCOW=y IX_IMAGE_ITB_QCOW=y
IMAGE_ITB_RAUC=y IX_IMAGE_ITB_RAUC=y
IMAGE_README=y IX_IMAGE_README=y
TRUSTED_KEYS=y IX_TRUSTED_KEYS=y
TRUSTED_KEYS_DEVELOPMENT=y IX_TRUSTED_KEYS_DEVELOPMENT=y
+2 -2
View File
@@ -40,5 +40,5 @@ BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SIGNATURE_SUPPORT=y BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SIGNATURE_SUPPORT=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_FDT_ADD_PUBKEY=y BR2_PACKAGE_HOST_UBOOT_TOOLS_FDT_ADD_PUBKEY=y
BR2_PACKAGE_BOOTLOADER_SPLASHSCREEN=y BR2_PACKAGE_BOOTLOADER_SPLASHSCREEN=y
TRUSTED_KEYS=y IX_TRUSTED_KEYS=y
TRUSTED_KEYS_DEVELOPMENT=y IX_TRUSTED_KEYS_DEVELOPMENT=y
+2 -2
View File
@@ -34,5 +34,5 @@ BR2_PACKAGE_HOST_UBOOT_TOOLS=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SIGNATURE_SUPPORT=y BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SIGNATURE_SUPPORT=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_FDT_ADD_PUBKEY=y BR2_PACKAGE_HOST_UBOOT_TOOLS_FDT_ADD_PUBKEY=y
TRUSTED_KEYS=y IX_TRUSTED_KEYS=y
TRUSTED_KEYS_DEVELOPMENT=y IX_TRUSTED_KEYS_DEVELOPMENT=y
+2 -2
View File
@@ -34,5 +34,5 @@ BR2_PACKAGE_HOST_UBOOT_TOOLS=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SIGNATURE_SUPPORT=y BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SIGNATURE_SUPPORT=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_FDT_ADD_PUBKEY=y BR2_PACKAGE_HOST_UBOOT_TOOLS_FDT_ADD_PUBKEY=y
TRUSTED_KEYS=y IX_TRUSTED_KEYS=y
TRUSTED_KEYS_DEVELOPMENT=y IX_TRUSTED_KEYS_DEVELOPMENT=y
+1 -1
View File
@@ -1,4 +1,4 @@
BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_ROOTFS_EXT2_4=y
BR2_TARGET_ROOTFS_EXT2_SIZE="512M" BR2_TARGET_ROOTFS_EXT2_SIZE="512M"
IMAGE_EXT4_RAUC=y IX_IMAGE_EXT4_RAUC=y
+5
View File
@@ -0,0 +1,5 @@
# Prefer internal download mirror over official upstream sites. If
# the mirror is unreachable, e.g., off-site without VPN, Buildroot
# falls back to the upstream URL and then sources.buildroot.net
# Set up a local mirror and add IP to /etc/hosts to override
BR2_PRIMARY_SITE="http://mirror.internal/pub"
+12 -12
View File
@@ -26,7 +26,7 @@ BR2_ROOTFS_OVERLAY="${BR2_EXTERNAL_INFIX_PATH}/board/common/rootfs ${BR2_EXTERNA
BR2_ROOTFS_POST_BUILD_SCRIPT="board/qemu/x86_64/post-build.sh ${BR2_EXTERNAL_INFIX_PATH}/board/common/post-build.sh" BR2_ROOTFS_POST_BUILD_SCRIPT="board/qemu/x86_64/post-build.sh ${BR2_EXTERNAL_INFIX_PATH}/board/common/post-build.sh"
BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.37" BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.39"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="${BR2_EXTERNAL_INFIX_PATH}/board/x86_64/linux_defconfig" BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="${BR2_EXTERNAL_INFIX_PATH}/board/x86_64/linux_defconfig"
BR2_LINUX_KERNEL_INSTALL_TARGET=y BR2_LINUX_KERNEL_INSTALL_TARGET=y
@@ -139,11 +139,11 @@ BR2_PACKAGE_HOST_MTOOLS=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SIGNATURE_SUPPORT=y BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SIGNATURE_SUPPORT=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_FDT_ADD_PUBKEY=y BR2_PACKAGE_HOST_UBOOT_TOOLS_FDT_ADD_PUBKEY=y
INFIX_VENDOR_HOME="https://www.kernelkit.org" IX_VENDOR_HOME="https://www.kernelkit.org"
INFIX_DESC="Infix is an immutable, friendly, and secure operating system that turns any ARM or x86 device into a powerful, manageable network appliance. Deploy on anything from $35 Raspberry Pi boards to enterprise switches as routers, IoT gateways, or edge devices. Infix models Linux networking features using YANG so you can manage your devices using NETCONF/RESTCONF APIs and focus on your business logic running in isolated containers." IX_DESC="Infix is an immutable, friendly, and secure operating system that turns any ARM or x86 device into a powerful, manageable network appliance. Deploy on anything from $35 Raspberry Pi boards to enterprise switches as routers, IoT gateways, or edge devices. Infix models Linux networking features using YANG so you can manage your devices using NETCONF/RESTCONF APIs and focus on your business logic running in isolated containers."
INFIX_HOME="https://github.com/kernelkit/infix/" IX_HOME="https://github.com/kernelkit/infix/"
INFIX_DOC="https://www.kernelkit.org/infix/" IX_DOC="https://www.kernelkit.org/infix/"
INFIX_SUPPORT="mailto:kernelkit@googlegroups.com" IX_SUPPORT="mailto:kernelkit@googlegroups.com"
BR2_PACKAGE_FEATURE_GPS=y BR2_PACKAGE_FEATURE_GPS=y
BR2_PACKAGE_FEATURE_WIFI=y BR2_PACKAGE_FEATURE_WIFI=y
BR2_PACKAGE_FEATURE_WIFI_MEDIATEK=y BR2_PACKAGE_FEATURE_WIFI_MEDIATEK=y
@@ -185,9 +185,9 @@ BR2_PACKAGE_WEBUI=y
BR2_PACKAGE_RAUC_INSTALLATION_STATUS=y BR2_PACKAGE_RAUC_INSTALLATION_STATUS=y
BR2_PACKAGE_HOST_PYTHON_YANGDOC=y BR2_PACKAGE_HOST_PYTHON_YANGDOC=y
BR2_PACKAGE_PCIUTILS=y BR2_PACKAGE_PCIUTILS=y
IMAGE_ITB_AUX=y IX_IMAGE_ITB_AUX=y
IMAGE_ITB_QCOW=y IX_IMAGE_ITB_QCOW=y
IMAGE_ITB_RAUC=y IX_IMAGE_ITB_RAUC=y
IMAGE_README=y IX_IMAGE_README=y
TRUSTED_KEYS=y IX_TRUSTED_KEYS=y
TRUSTED_KEYS_DEVELOPMENT=y IX_TRUSTED_KEYS_DEVELOPMENT=y
+12 -12
View File
@@ -26,7 +26,7 @@ BR2_ROOTFS_OVERLAY="${BR2_EXTERNAL_INFIX_PATH}/board/common/rootfs ${BR2_EXTERNA
BR2_ROOTFS_POST_BUILD_SCRIPT="board/qemu/x86_64/post-build.sh ${BR2_EXTERNAL_INFIX_PATH}/board/common/post-build.sh" BR2_ROOTFS_POST_BUILD_SCRIPT="board/qemu/x86_64/post-build.sh ${BR2_EXTERNAL_INFIX_PATH}/board/common/post-build.sh"
BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.37" BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.39"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="${BR2_EXTERNAL_INFIX_PATH}/board/x86_64/linux_defconfig" BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="${BR2_EXTERNAL_INFIX_PATH}/board/x86_64/linux_defconfig"
BR2_LINUX_KERNEL_INSTALL_TARGET=y BR2_LINUX_KERNEL_INSTALL_TARGET=y
@@ -118,11 +118,11 @@ BR2_PACKAGE_HOST_MTOOLS=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SIGNATURE_SUPPORT=y BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SIGNATURE_SUPPORT=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_FDT_ADD_PUBKEY=y BR2_PACKAGE_HOST_UBOOT_TOOLS_FDT_ADD_PUBKEY=y
INFIX_VENDOR_HOME="https://www.kernelkit.org" IX_VENDOR_HOME="https://www.kernelkit.org"
INFIX_DESC="Infix is an immutable, friendly, and secure operating system that turns any ARM or x86 device into a powerful, manageable network appliance. Deploy on anything from $35 Raspberry Pi boards to enterprise switches as routers, IoT gateways, or edge devices. Infix models Linux networking features using YANG so you can manage your devices using NETCONF/RESTCONF APIs and focus on your business logic running in isolated containers." IX_DESC="Infix is an immutable, friendly, and secure operating system that turns any ARM or x86 device into a powerful, manageable network appliance. Deploy on anything from $35 Raspberry Pi boards to enterprise switches as routers, IoT gateways, or edge devices. Infix models Linux networking features using YANG so you can manage your devices using NETCONF/RESTCONF APIs and focus on your business logic running in isolated containers."
INFIX_HOME="https://github.com/kernelkit/infix/" IX_HOME="https://github.com/kernelkit/infix/"
INFIX_DOC="https://www.kernelkit.org/infix/" IX_DOC="https://www.kernelkit.org/infix/"
INFIX_SUPPORT="mailto:kernelkit@googlegroups.com" IX_SUPPORT="mailto:kernelkit@googlegroups.com"
BR2_PACKAGE_CONFD=y BR2_PACKAGE_CONFD=y
BR2_PACKAGE_NETD=y BR2_PACKAGE_NETD=y
BR2_PACKAGE_CONFD_TEST_MODE=y BR2_PACKAGE_CONFD_TEST_MODE=y
@@ -148,9 +148,9 @@ BR2_PACKAGE_MDNS_ALIAS=y
BR2_PACKAGE_ONIEPROM=y BR2_PACKAGE_ONIEPROM=y
BR2_PACKAGE_ROUSETTE=y BR2_PACKAGE_ROUSETTE=y
BR2_PACKAGE_RAUC_INSTALLATION_STATUS=y BR2_PACKAGE_RAUC_INSTALLATION_STATUS=y
IMAGE_ITB_AUX=y IX_IMAGE_ITB_AUX=y
IMAGE_ITB_QCOW=y IX_IMAGE_ITB_QCOW=y
IMAGE_ITB_RAUC=y IX_IMAGE_ITB_RAUC=y
IMAGE_README=y IX_IMAGE_README=y
TRUSTED_KEYS=y IX_TRUSTED_KEYS=y
TRUSTED_KEYS_DEVELOPMENT=y IX_TRUSTED_KEYS_DEVELOPMENT=y
+18
View File
@@ -3,6 +3,23 @@ Change Log
All notable changes to the project are documented in this file. All notable changes to the project are documented in this file.
[v26.08.0][UNRELEASED]
-------------------------
### Changes
- Upgrade Linux kernel to 6.18.39 (LTS)
- Upgrade Buildroot to 2025.02.15 (LTS)
- Add support for firewall address-set (ipset): named sets of IP addresses and
networks, usable as zone sources for per-IP access control, issue #1189
- Build RPi64 SD card images in release builds
- Include .pkg files in release builds
### Fixes
- Fix annoying "cannot deselect all services" or reset to YANG default in the
web interface's firewall configuration page
[v26.06.0][] - 2026-07-01 [v26.06.0][] - 2026-07-01
------------------------- -------------------------
@@ -2206,6 +2223,7 @@ Supported YANG models in addition to those used by sysrepo and netopeer:
[buildroot]: https://buildroot.org/ [buildroot]: https://buildroot.org/
[UNRELEASED]: https://github.com/kernelkit/infix/compare/v26.06.0...HEAD [UNRELEASED]: https://github.com/kernelkit/infix/compare/v26.06.0...HEAD
[v26.08.0]: https://github.com/kernelkit/infix/compare/v26.06.0...v26.08.0
[v26.06.0]: https://github.com/kernelkit/infix/compare/v26.05.0...v26.06.0 [v26.06.0]: https://github.com/kernelkit/infix/compare/v26.05.0...v26.06.0
[v26.05.0]: https://github.com/kernelkit/infix/compare/v26.04.0...v26.05.0 [v26.05.0]: https://github.com/kernelkit/infix/compare/v26.04.0...v26.05.0
[v26.04.0]: https://github.com/kernelkit/infix/compare/v26.03.0...v26.04.0 [v26.04.0]: https://github.com/kernelkit/infix/compare/v26.03.0...v26.04.0
+2 -2
View File
@@ -28,7 +28,7 @@ Verify the result after a build by inspecting:
> [!IMPORTANT] > [!IMPORTANT]
> To get a proper GIT revision (hash) from your OS spin, remember to set > To get a proper GIT revision (hash) from your OS spin, remember to set
> in menuconfig `INFIX_OEM_PATH`. When unset, the Infix `post-build.sh` > in menuconfig `IX_OEM_PATH`. When unset, the Infix `post-build.sh`
> script defaults to the Infix base path. The revision is stored in the > script defaults to the Infix base path. The revision is stored in the
> file `/etc/os-release` as `BUILD_ID`, also in the file `/etc/version`. > file `/etc/os-release` as `BUILD_ID`, also in the file `/etc/version`.
> See below for more info. > See below for more info.
@@ -427,7 +427,7 @@ Used for `BUILD_ID` in `/etc/os-release`.
**Default:** `$(git describe --always --dirty --tags)`, from the _top **Default:** `$(git describe --always --dirty --tags)`, from the _top
directory_. By default, the top directory refers to the root of the directory_. By default, the top directory refers to the root of the
Infix source tree, but this can be changed by setting the branding Infix source tree, but this can be changed by setting the branding
variable `INFIX_OEM_PATH`, e.g. in a `defconfig` file or via `make variable `IX_OEM_PATH`, e.g. in a `defconfig` file or via `make
menuconfig`, to the path of an enclosing br2-external. menuconfig`, to the path of an enclosing br2-external.
#### `INFIX_RELEASE` #### `INFIX_RELEASE`
+3
View File
@@ -190,6 +190,9 @@ To apply a single snippet to the current output directory:
make apply-ext4 # build an ext4 rootfs (needed for boards make apply-ext4 # build an ext4 rootfs (needed for boards
# whose bootloader lacks squashfs support, # whose bootloader lacks squashfs support,
# e.g. Marvell ESPRESSObin) # e.g. Marvell ESPRESSObin)
make apply-mirror # prefer an internal download mirror
# (BR2_PRIMARY_SITE) over upstream sites,
# see utils/mirror-sync.sh for populating it
The `apply-*` targets require an existing `.config` (i.e. you must have The `apply-*` targets require an existing `.config` (i.e. you must have
already run a `make <board>_defconfig`). The snippet is merged using already run a `make <board>_defconfig`). The snippet is merged using
+90
View File
@@ -223,6 +223,96 @@ The firewall includes over 100 pre-defined services, such as:
> See the YANG model for the full list, or tap the ++question++ key > See the YANG model for the full list, or tap the ++question++ key
> when setting up an allowed host service in a zone `set service` > when setting up an allowed host service in a zone `set service`
## Address Sets
Address sets are named collections of IP addresses and networks that can be
used as zone *sources*, alongside the `network` setting. Traffic from a
member of the set is classified into that zone regardless of which interface
it arrives on. Since source matching takes precedence over interface
matching, an address set in a trusted zone can selectively lift devices out
of a restrictive interface zone.
This enables per-IP access control: block everything by default and grant
individual end devices access at runtime.
> [!IMPORTANT]
> Assigning an address set to a zone only decides which zone the source IP
> belongs to. It does **not** by itself grant access to the device. Access
> to HOST services is still controlled by the zone's `action` and `service`
> settings. A common pattern is to keep the interface or default zone
> restrictive (`reject`/`drop`) and attach the address set to a separate
> trusted zone with `action accept`, as shown below.
<pre class="cli"><code>admin@example:/> <b>configure</b>
admin@example:/config/> <b>edit firewall address-set allowed</b>
admin@example:/config/firewall/…/allowed/> <b>set description "End devices granted access"</b>
admin@example:/config/firewall/…/allowed/> <b>set entry 192.168.1.40</b>
admin@example:/config/firewall/…/allowed/> <b>end</b>
admin@example:/config/firewall/> <b>edit zone trusted</b>
admin@example:/config/firewall/…/trusted/> <b>set action accept</b>
admin@example:/config/firewall/…/trusted/> <b>set address-set allowed</b>
admin@example:/config/firewall/…/trusted/> <b>leave</b>
</code></pre>
### Static and Dynamic Entries
Entries come in two kinds:
- **Static** entries are set in the configuration, like `192.168.1.40`
above, and are restored at boot
- **Dynamic** entries are added and removed at runtime using the `add`,
`remove`, and `flush` actions. They take effect immediately and survive
firewall configuration changes, but are *not* saved to the configuration,
so a reboot starts from a clean slate
From admin-exec context in the CLI:
<pre class="cli"><code>admin@example:/> <b>firewall address-set allowed add 192.168.1.42</b>
admin@example:/> <b>show firewall address-set allowed</b>
name : allowed
family : ipv4
timeout : none
ENTRY TYPE EXPIRES
192.168.1.40 static
192.168.1.42 dynamic
admin@example:/> <b>firewall address-set allowed remove 192.168.1.42</b>
</code></pre>
The same actions are available over NETCONF and RESTCONF, e.g., allowing a
device from a network management system:
```json
~$ curl -kX POST -u admin:admin -H "Content-Type: application/yang-data+json" \
-d '{"infix-firewall:input": {"entry": "192.168.1.42"}}' \
https://example.local/restconf/data/infix-firewall:firewall/address-set=allowed/add
```
Static entries can only be removed by changing the configuration, the
`remove` action manages dynamic entries only. The `flush` action removes
all dynamic entries at once, leaving static entries in place.
### Expiring Entries
An address set can be created with a `timeout`, giving every dynamic entry a
limited lifetime. Such sets are dynamic-only: static entries cannot be
configured, and entries cannot be removed manually, they expire on their
own. This suits time-limited access grants and automated ban lists.
<pre class="cli"><code>admin@example:/config/firewall/> <b>edit address-set banned</b>
admin@example:/config/firewall/…/banned/> <b>set timeout 3600</b>
admin@example:/config/firewall/…/banned/> <b>leave</b>
admin@example:/> <b>firewall address-set banned add 203.0.113.99</b>
</code></pre>
The remaining lifetime of each entry is shown in the `EXPIRES` column of
<kbd>show firewall address-set</kbd>.
> [!NOTE]
> Entries in timeout sets do not survive firewall configuration changes,
> the set is flushed when the firewall configuration is rebuilt. Regular
> (non-timeout) sets keep their dynamic entries over configuration changes.
## Examples ## Examples
### End Device Protection ### End Device Protection
+2 -2
View File
@@ -1,6 +1,6 @@
IXMSG = printf "\e[37;44m>>> $(call qstrip,$(1))\e[0m\n" IXMSG = printf "\e[37;44m>>> $(call qstrip,$(1))\e[0m\n"
oem-dir := $(call qstrip,$(INFIX_OEM_PATH)) oem-dir := $(call qstrip,$(IX_OEM_PATH))
INFIX_TOPDIR = $(if $(oem-dir),$(oem-dir),$(BR2_EXTERNAL_INFIX_PATH)) INFIX_TOPDIR = $(if $(oem-dir),$(oem-dir),$(BR2_EXTERNAL_INFIX_PATH))
# Unless the user specifies an explicit build id, source it from git. # Unless the user specifies an explicit build id, source it from git.
@@ -10,6 +10,6 @@ INFIX_TOPDIR = $(if $(oem-dir),$(oem-dir),$(BR2_EXTERNAL_INFIX_PATH))
# artifacts (see INFIX_ARTIFACT below). # artifacts (see INFIX_ARTIFACT below).
export INFIX_BUILD_ID ?= $(shell git -C $(INFIX_TOPDIR) describe --dirty --always --tags --exclude 'latest*') export INFIX_BUILD_ID ?= $(shell git -C $(INFIX_TOPDIR) describe --dirty --always --tags --exclude 'latest*')
export INFIX_VERSION = $(INFIX_BUILD_ID) export INFIX_VERSION = $(INFIX_BUILD_ID)
export INFIX_ARTIFACT = $(call qstrip,$(INFIX_IMAGE_ID)$(if $(INFIX_RELEASE),-$(INFIX_RELEASE))) export INFIX_ARTIFACT = $(call qstrip,$(IX_IMAGE_ID)$(if $(INFIX_RELEASE),-$(INFIX_RELEASE)))
INFIX_CFLAGS:=-Wall -Werror -Wextra -Wno-unused-parameter -Wformat=2 -Wformat-overflow=2 -Winit-self -Wstrict-overflow=4 -Wno-format-truncation -Wno-format-nonliteral INFIX_CFLAGS:=-Wall -Werror -Wextra -Wno-unused-parameter -Wformat=2 -Wformat-overflow=2 -Winit-self -Wstrict-overflow=4 -Wno-format-truncation -Wno-format-nonliteral
+1
View File
@@ -0,0 +1 @@
sha256 49c4d5edbd3ee0a0f6b15ef097b79539530a574ceed8a4dffec1d02455933029 LICENSE
+1
View File
@@ -0,0 +1 @@
sha256 8cdb4def6e91fde66ed0880a6e6ecc364aa96012e53b3cfb990b53b9dab976d4 LICENSE
@@ -1,4 +1,4 @@
From f614327b6eca20319f5eee20ac954ea8d92276e4 Mon Sep 17 00:00:00 2001 From 38ef4ac1fa9bd9b0436311c6f8962646222c54f9 Mon Sep 17 00:00:00 2001
From: Tobias Waldekranz <tobias@waldekranz.com> From: Tobias Waldekranz <tobias@waldekranz.com>
Date: Tue, 19 Sep 2023 18:38:10 +0200 Date: Tue, 19 Sep 2023 18:38:10 +0200
Subject: [PATCH 01/50] net: phy: marvell10g: Support firmware loading on Subject: [PATCH 01/50] net: phy: marvell10g: Support firmware loading on
@@ -1,4 +1,4 @@
From 7d453cb838611f44d7566b6174ae95a5d2265fa1 Mon Sep 17 00:00:00 2001 From 48bb808a5c8d7d0d7c49e4453f4809a9fdeefddc Mon Sep 17 00:00:00 2001
From: Tobias Waldekranz <tobias@waldekranz.com> From: Tobias Waldekranz <tobias@waldekranz.com>
Date: Tue, 21 Nov 2023 20:15:24 +0100 Date: Tue, 21 Nov 2023 20:15:24 +0100
Subject: [PATCH 02/50] net: phy: marvell10g: Fix power-up when strapped to Subject: [PATCH 02/50] net: phy: marvell10g: Fix power-up when strapped to
@@ -1,4 +1,4 @@
From 4b08a36e3107c4018ddf3a19760cc87d02281bd7 Mon Sep 17 00:00:00 2001 From da0565da3839ac4f85b9743a4a207fbbe6d9c719 Mon Sep 17 00:00:00 2001
From: Tobias Waldekranz <tobias@waldekranz.com> From: Tobias Waldekranz <tobias@waldekranz.com>
Date: Wed, 15 Nov 2023 20:58:42 +0100 Date: Wed, 15 Nov 2023 20:58:42 +0100
Subject: [PATCH 03/50] net: phy: marvell10g: Add LED support for 88X3310 Subject: [PATCH 03/50] net: phy: marvell10g: Add LED support for 88X3310
@@ -1,4 +1,4 @@
From e5e81eb1172db22be7c83efc8071108d0d42565e Mon Sep 17 00:00:00 2001 From 7f3d654b9af1b449555f0076f56db9a8c48f7314 Mon Sep 17 00:00:00 2001
From: Tobias Waldekranz <tobias@waldekranz.com> From: Tobias Waldekranz <tobias@waldekranz.com>
Date: Tue, 12 Dec 2023 09:51:05 +0100 Date: Tue, 12 Dec 2023 09:51:05 +0100
Subject: [PATCH 04/50] net: phy: marvell10g: Support LEDs tied to a single Subject: [PATCH 04/50] net: phy: marvell10g: Support LEDs tied to a single
@@ -1,4 +1,4 @@
From 1f735096f1b8920ee6f21bf60a4c2d3f6376adeb Mon Sep 17 00:00:00 2001 From ae3d8558243c10a3fa34534765cdc5a4ece535b1 Mon Sep 17 00:00:00 2001
From: Tobias Waldekranz <tobias@waldekranz.com> From: Tobias Waldekranz <tobias@waldekranz.com>
Date: Wed, 27 Mar 2024 10:10:19 +0100 Date: Wed, 27 Mar 2024 10:10:19 +0100
Subject: [PATCH 05/50] net: phy: Do not resume PHY when attaching Subject: [PATCH 05/50] net: phy: Do not resume PHY when attaching
@@ -1,4 +1,4 @@
From e38d2d2f07f55819d2191d4282dc2d4688075d7d Mon Sep 17 00:00:00 2001 From 08f6224ebcba517410b4dc2b98f7b50db842dc30 Mon Sep 17 00:00:00 2001
From: Joachim Wiberg <troglobit@gmail.com> From: Joachim Wiberg <troglobit@gmail.com>
Date: Mon, 4 Mar 2024 16:47:28 +0100 Date: Mon, 4 Mar 2024 16:47:28 +0100
Subject: [PATCH 06/50] net: bridge: avoid classifying unknown multicast as Subject: [PATCH 06/50] net: bridge: avoid classifying unknown multicast as
@@ -1,4 +1,4 @@
From a9b80b26c96e5492ab32a72ee36e3321a2b90ee9 Mon Sep 17 00:00:00 2001 From 9044f8f0599e025644d13c0b031826f5765bbc34 Mon Sep 17 00:00:00 2001
From: Joachim Wiberg <troglobit@gmail.com> From: Joachim Wiberg <troglobit@gmail.com>
Date: Tue, 5 Mar 2024 06:44:41 +0100 Date: Tue, 5 Mar 2024 06:44:41 +0100
Subject: [PATCH 07/50] net: bridge: Ignore router ports when forwarding L2 Subject: [PATCH 07/50] net: bridge: Ignore router ports when forwarding L2
@@ -1,4 +1,4 @@
From 01e41d87efa1b63d292f0acfe4d1fb0e39baab20 Mon Sep 17 00:00:00 2001 From 2ddcdd2cb31dd46e552fea1adf3e89d9925412ee Mon Sep 17 00:00:00 2001
From: Joachim Wiberg <troglobit@gmail.com> From: Joachim Wiberg <troglobit@gmail.com>
Date: Thu, 4 Apr 2024 16:36:30 +0200 Date: Thu, 4 Apr 2024 16:36:30 +0200
Subject: [PATCH 08/50] net: bridge: drop delay for applying strict multicast Subject: [PATCH 08/50] net: bridge: drop delay for applying strict multicast
@@ -1,4 +1,4 @@
From 944c77d075c8e0655bd3a28e96892261465a5cf4 Mon Sep 17 00:00:00 2001 From 9e9322c41e94e95c3dd4841334933a6c8ef11fd1 Mon Sep 17 00:00:00 2001
From: Tobias Waldekranz <tobias@waldekranz.com> From: Tobias Waldekranz <tobias@waldekranz.com>
Date: Thu, 16 May 2024 14:51:54 +0200 Date: Thu, 16 May 2024 14:51:54 +0200
Subject: [PATCH 09/50] net: bridge: Differentiate MDB additions from Subject: [PATCH 09/50] net: bridge: Differentiate MDB additions from
@@ -1,4 +1,4 @@
From 3f58061ab8f869a6432a1256ee7422bb157b624e Mon Sep 17 00:00:00 2001 From 1d26447cb586481eee5c4564b68f49c6731b2c83 Mon Sep 17 00:00:00 2001
From: Tobias Waldekranz <tobias@waldekranz.com> From: Tobias Waldekranz <tobias@waldekranz.com>
Date: Fri, 24 Nov 2023 23:29:55 +0100 Date: Fri, 24 Nov 2023 23:29:55 +0100
Subject: [PATCH 10/50] nvmem: layouts: onie-tlv: Let device probe even when Subject: [PATCH 10/50] nvmem: layouts: onie-tlv: Let device probe even when
@@ -1,4 +1,4 @@
From f492d4efac3a65bca4d53e383336c36113e28a8b Mon Sep 17 00:00:00 2001 From 4620363bad6472dbe2b8de2093f0a70df812df58 Mon Sep 17 00:00:00 2001
From: Joachim Wiberg <troglobit@gmail.com> From: Joachim Wiberg <troglobit@gmail.com>
Date: Sun, 11 Aug 2024 11:27:35 +0200 Date: Sun, 11 Aug 2024 11:27:35 +0200
Subject: [PATCH 11/50] net: usb: r8152: add r8153b support for link/activity Subject: [PATCH 11/50] net: usb: r8152: add r8153b support for link/activity
@@ -1,4 +1,4 @@
From a2448b84e5483b5b91b46ac31b27609352fd9ed6 Mon Sep 17 00:00:00 2001 From 8f3422542356b5cb77f6c2a73431ca06e86b302f Mon Sep 17 00:00:00 2001
From: Joachim Wiberg <troglobit@gmail.com> From: Joachim Wiberg <troglobit@gmail.com>
Date: Sun, 10 Aug 2025 18:52:54 +0200 Date: Sun, 10 Aug 2025 18:52:54 +0200
Subject: [PATCH 12/50] arm64: dts: mediatek: mt7986a: rename BPi R3 ports to Subject: [PATCH 12/50] arm64: dts: mediatek: mt7986a: rename BPi R3 ports to
@@ -1,4 +1,4 @@
From c4ac90dcc5aefbb704c70ebbfe041dee683b882b Mon Sep 17 00:00:00 2001 From dc104487c9361afb69344f4b28d67191b3a86ba6 Mon Sep 17 00:00:00 2001
From: Mattias Walström <lazzer@gmail.com> From: Mattias Walström <lazzer@gmail.com>
Date: Wed, 20 Aug 2025 21:38:24 +0200 Date: Wed, 20 Aug 2025 21:38:24 +0200
Subject: [PATCH 13/50] drm/panel-simple: Add a timing for the Raspberry Pi 7" Subject: [PATCH 13/50] drm/panel-simple: Add a timing for the Raspberry Pi 7"
@@ -1,4 +1,4 @@
From 8da101ec2429ba0bf1410346260f9a7ddfb0bdbe Mon Sep 17 00:00:00 2001 From debb5dd84c54cb3d2fd81266a16e40b4e46dc5a7 Mon Sep 17 00:00:00 2001
From: Mattias Walström <lazzer@gmail.com> From: Mattias Walström <lazzer@gmail.com>
Date: Thu, 21 Aug 2025 11:20:23 +0200 Date: Thu, 21 Aug 2025 11:20:23 +0200
Subject: [PATCH 14/50] input:touchscreen:edt-ft5x06: Add polled mode Subject: [PATCH 14/50] input:touchscreen:edt-ft5x06: Add polled mode
@@ -1,4 +1,4 @@
From 93646f890903157bb78ef369ddf9d99a9161de0d Mon Sep 17 00:00:00 2001 From c27a3dffd31067521fd10a9bc89e9deda4d5361f Mon Sep 17 00:00:00 2001
From: Tobias Waldekranz <tobias@waldekranz.com> From: Tobias Waldekranz <tobias@waldekranz.com>
Date: Tue, 12 Mar 2024 10:27:24 +0100 Date: Tue, 12 Mar 2024 10:27:24 +0100
Subject: [PATCH 15/50] [FIX] net: dsa: mv88e6xxx: Fix timeout on waiting for Subject: [PATCH 15/50] [FIX] net: dsa: mv88e6xxx: Fix timeout on waiting for
@@ -1,4 +1,4 @@
From 29cfa1b5ffba41728dc5e0991d1ee27b903d569c Mon Sep 17 00:00:00 2001 From dcaafda96688a910419945920eb73487a3569c97 Mon Sep 17 00:00:00 2001
From: Tobias Waldekranz <tobias@waldekranz.com> From: Tobias Waldekranz <tobias@waldekranz.com>
Date: Wed, 27 Mar 2024 15:52:43 +0100 Date: Wed, 27 Mar 2024 15:52:43 +0100
Subject: [PATCH 16/50] net: dsa: mv88e6xxx: Improve indirect register access Subject: [PATCH 16/50] net: dsa: mv88e6xxx: Improve indirect register access
@@ -1,4 +1,4 @@
From a7fa9a45329781519702d46ba05815433fff4acc Mon Sep 17 00:00:00 2001 From b23b36d1963b8a8b61adc26a1971c78623987285 Mon Sep 17 00:00:00 2001
From: Tobias Waldekranz <tobias@waldekranz.com> From: Tobias Waldekranz <tobias@waldekranz.com>
Date: Mon, 22 Apr 2024 23:18:01 +0200 Date: Mon, 22 Apr 2024 23:18:01 +0200
Subject: [PATCH 17/50] net: dsa: mv88e6xxx: Honor ports being managed via Subject: [PATCH 17/50] net: dsa: mv88e6xxx: Honor ports being managed via
@@ -1,4 +1,4 @@
From cda7100b0a29e6a9bd29a67ff9db3bcccb72065c Mon Sep 17 00:00:00 2001 From 04823fe9ff9c611478db9eb97281da93f4cb49d0 Mon Sep 17 00:00:00 2001
From: Tobias Waldekranz <tobias@waldekranz.com> From: Tobias Waldekranz <tobias@waldekranz.com>
Date: Wed, 24 Apr 2024 22:41:04 +0200 Date: Wed, 24 Apr 2024 22:41:04 +0200
Subject: [PATCH 18/50] net: dsa: mv88e6xxx: Limit rsvd2cpu policy to user Subject: [PATCH 18/50] net: dsa: mv88e6xxx: Limit rsvd2cpu policy to user
@@ -1,4 +1,4 @@
From ccf9f9262e8570cfd522b841465f3edf76b3447a Mon Sep 17 00:00:00 2001 From 19d957f79007833d47c3c3a646d848c9a879cb8d Mon Sep 17 00:00:00 2001
From: Tobias Waldekranz <tobias@waldekranz.com> From: Tobias Waldekranz <tobias@waldekranz.com>
Date: Tue, 28 May 2024 10:38:42 +0200 Date: Tue, 28 May 2024 10:38:42 +0200
Subject: [PATCH 19/50] net: dsa: tag_dsa: Use tag priority as initial Subject: [PATCH 19/50] net: dsa: tag_dsa: Use tag priority as initial
@@ -1,4 +1,4 @@
From 3200169701ef4d9afdea35355b3fe41d6f363134 Mon Sep 17 00:00:00 2001 From b596ef44536a882d1522d4ad058e26d887d0212d Mon Sep 17 00:00:00 2001
From: Tobias Waldekranz <tobias@waldekranz.com> From: Tobias Waldekranz <tobias@waldekranz.com>
Date: Tue, 16 Jan 2024 16:00:55 +0100 Date: Tue, 16 Jan 2024 16:00:55 +0100
Subject: [PATCH 20/50] net: dsa: Support MDB memberships whose L2 addresses Subject: [PATCH 20/50] net: dsa: Support MDB memberships whose L2 addresses
@@ -1,4 +1,4 @@
From dea9ff6c0bdf7c3e4abc2fb507d2ab4b94dabb63 Mon Sep 17 00:00:00 2001 From 4df7c3a09d6596888cb4b968a04b8b24b2ffed67 Mon Sep 17 00:00:00 2001
From: Tobias Waldekranz <tobias@waldekranz.com> From: Tobias Waldekranz <tobias@waldekranz.com>
Date: Thu, 21 Mar 2024 19:12:15 +0100 Date: Thu, 21 Mar 2024 19:12:15 +0100
Subject: [PATCH 21/50] net: dsa: Support EtherType based priority overrides Subject: [PATCH 21/50] net: dsa: Support EtherType based priority overrides
@@ -1,4 +1,4 @@
From 1dc01d7420e3d511babfbdeda742d93527d72abb Mon Sep 17 00:00:00 2001 From bb62c8b847b04e674188e90cb1ce28b780aa70f0 Mon Sep 17 00:00:00 2001
From: Tobias Waldekranz <tobias@waldekranz.com> From: Tobias Waldekranz <tobias@waldekranz.com>
Date: Fri, 22 Mar 2024 16:15:43 +0100 Date: Fri, 22 Mar 2024 16:15:43 +0100
Subject: [PATCH 22/50] net: dsa: mv88e6xxx: Support EtherType based priority Subject: [PATCH 22/50] net: dsa: mv88e6xxx: Support EtherType based priority
@@ -1,4 +1,4 @@
From caed0d150badbb040e403975645bf09ba3f44e76 Mon Sep 17 00:00:00 2001 From 0bd5832d6a8dfe3ff5e8eae10060b8189052bea4 Mon Sep 17 00:00:00 2001
From: Tobias Waldekranz <tobias@waldekranz.com> From: Tobias Waldekranz <tobias@waldekranz.com>
Date: Tue, 28 May 2024 11:04:22 +0200 Date: Tue, 28 May 2024 11:04:22 +0200
Subject: [PATCH 23/50] net: dsa: mv88e6xxx: Add mqprio qdisc support Subject: [PATCH 23/50] net: dsa: mv88e6xxx: Add mqprio qdisc support
@@ -1,4 +1,4 @@
From 1bd5b0e8a5574209b386d6d8bc1cf3bcf2e4fd5e Mon Sep 17 00:00:00 2001 From 2f1b4e2c1ac07b59a68205d17f69ac236b1272b7 Mon Sep 17 00:00:00 2001
From: Tobias Waldekranz <tobias@waldekranz.com> From: Tobias Waldekranz <tobias@waldekranz.com>
Date: Wed, 29 May 2024 13:20:41 +0200 Date: Wed, 29 May 2024 13:20:41 +0200
Subject: [PATCH 24/50] net: dsa: mv88e6xxx: Use VLAN prio over IP when both Subject: [PATCH 24/50] net: dsa: mv88e6xxx: Use VLAN prio over IP when both
@@ -1,4 +1,4 @@
From 7894882d70e8223939a6d9a0e15cc6bbc08ae33c Mon Sep 17 00:00:00 2001 From 3ded57ad8a13d5bb817295c537f9660cc7987326 Mon Sep 17 00:00:00 2001
From: Tobias Waldekranz <tobias@waldekranz.com> From: Tobias Waldekranz <tobias@waldekranz.com>
Date: Tue, 26 Nov 2024 19:45:59 +0100 Date: Tue, 26 Nov 2024 19:45:59 +0100
Subject: [PATCH 25/50] [FIX] net: dsa: mv88e6xxx: Trap locally terminated Subject: [PATCH 25/50] [FIX] net: dsa: mv88e6xxx: Trap locally terminated
@@ -1,4 +1,4 @@
From 09cb11eaf5cc754274620ff6eaedf768c9605e44 Mon Sep 17 00:00:00 2001 From 1667410f54c1647cc3b9a00d4fe9ed61a3936f0b Mon Sep 17 00:00:00 2001
From: Joachim Wiberg <troglobit@gmail.com> From: Joachim Wiberg <troglobit@gmail.com>
Date: Thu, 16 Jan 2025 12:35:12 +0100 Date: Thu, 16 Jan 2025 12:35:12 +0100
Subject: [PATCH 26/50] net: dsa: mv88e6xxx: collapse disabled state into Subject: [PATCH 26/50] net: dsa: mv88e6xxx: collapse disabled state into
@@ -1,4 +1,4 @@
From 7127fd4194cde754cbc9ea869c9e65e335701d95 Mon Sep 17 00:00:00 2001 From 211f53f2cc60dadda623ffd258fafb9dd6034519 Mon Sep 17 00:00:00 2001
From: Tobias Waldekranz <tobias@waldekranz.com> From: Tobias Waldekranz <tobias@waldekranz.com>
Date: Wed, 12 Feb 2025 22:03:14 +0100 Date: Wed, 12 Feb 2025 22:03:14 +0100
Subject: [PATCH 27/50] net: dsa: mv88e6xxx: Only activate LAG offloading when Subject: [PATCH 27/50] net: dsa: mv88e6xxx: Only activate LAG offloading when
@@ -1,4 +1,4 @@
From c2f3d9277e12e7622651b521af8b43b1fe036cf0 Mon Sep 17 00:00:00 2001 From d42f3887e25aa770c0dd7d722f0410a926a943ae Mon Sep 17 00:00:00 2001
From: Mattias Walström <lazzer@gmail.com> From: Mattias Walström <lazzer@gmail.com>
Date: Wed, 14 Jan 2026 18:22:41 +0100 Date: Wed, 14 Jan 2026 18:22:41 +0100
Subject: [PATCH 28/50] net: dsa: mv88e6xxx: Add LED support for 6393X Subject: [PATCH 28/50] net: dsa: mv88e6xxx: Add LED support for 6393X
@@ -1,4 +1,4 @@
From ac98be8b6fd1b6afa264c68685d5dc82d73da1f8 Mon Sep 17 00:00:00 2001 From 8cd6f1604dc816fab887eee9f297bf0df4befbd1 Mon Sep 17 00:00:00 2001
From: Mattias Walström <lazzer@gmail.com> From: Mattias Walström <lazzer@gmail.com>
Date: Thu, 15 Jan 2026 22:47:37 +0100 Date: Thu, 15 Jan 2026 22:47:37 +0100
Subject: [PATCH 29/50] wifi: brcmfmac: support deletion and recreation of Subject: [PATCH 29/50] wifi: brcmfmac: support deletion and recreation of
@@ -1,4 +1,4 @@
From 9f1110fe13c878c49d28859f27bd90bc1b77f7bc Mon Sep 17 00:00:00 2001 From 290cb9ee43a75cc2c8994850e48ee6eee9603d3f Mon Sep 17 00:00:00 2001
From: Mattias Walström <lazzer@gmail.com> From: Mattias Walström <lazzer@gmail.com>
Date: Mon, 19 Jan 2026 13:06:53 +0100 Date: Mon, 19 Jan 2026 13:06:53 +0100
Subject: [PATCH 30/50] wifi: brcmfmac: check connection state before querying Subject: [PATCH 30/50] wifi: brcmfmac: check connection state before querying
@@ -1,4 +1,4 @@
From 188203d0d4eeeb607b29efa344280189c2566f30 Mon Sep 17 00:00:00 2001 From a3382b395c8c23816cb713f5ad50f097bc7adaf3 Mon Sep 17 00:00:00 2001
From: Mattias Walström <lazzer@gmail.com> From: Mattias Walström <lazzer@gmail.com>
Date: Tue, 20 Jan 2026 20:12:10 +0100 Date: Tue, 20 Jan 2026 20:12:10 +0100
Subject: [PATCH 31/50] wifi: brcmfmac: suppress log spam for Subject: [PATCH 31/50] wifi: brcmfmac: suppress log spam for
@@ -1,4 +1,4 @@
From c02051fdfbcedf99bac490bcb0358774774e2bcf Mon Sep 17 00:00:00 2001 From e654d8b9d75a6296491fd438aa76a4f50d7404a4 Mon Sep 17 00:00:00 2001
From: Mattias Walström <lazzer@gmail.com> From: Mattias Walström <lazzer@gmail.com>
Date: Tue, 20 Jan 2026 20:18:45 +0100 Date: Tue, 20 Jan 2026 20:18:45 +0100
Subject: [PATCH 32/50] wifi: brcmfmac: reduce log noise during AP to station Subject: [PATCH 32/50] wifi: brcmfmac: reduce log noise during AP to station
@@ -1,4 +1,4 @@
From 613dec2af90a208b2bb453150cb1851de07d51fb Mon Sep 17 00:00:00 2001 From fd41a70b096f9f1890000bb5509414df88d3e175 Mon Sep 17 00:00:00 2001
From: Mattias Walström <lazzer@gmail.com> From: Mattias Walström <lazzer@gmail.com>
Date: Tue, 17 Feb 2026 21:59:59 +0100 Date: Tue, 17 Feb 2026 21:59:59 +0100
Subject: [PATCH 33/50] net: phy: air_en8811h: add OF device table for Subject: [PATCH 33/50] net: phy: air_en8811h: add OF device table for
@@ -1,4 +1,4 @@
From 5df424aa25bcfd2f0309fbd05670f0b613219456 Mon Sep 17 00:00:00 2001 From 09a7b03cf2f200f7596e4e5c1e769eea99e3b604 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.com> From: Dave Stevenson <dave.stevenson@raspberrypi.com>
Date: Fri, 20 Sep 2024 12:05:18 +0100 Date: Fri, 20 Sep 2024 12:05:18 +0100
Subject: [PATCH 34/50] drm: vc4: dsi: enable video and then retry failed Subject: [PATCH 34/50] drm: vc4: dsi: enable video and then retry failed
@@ -1,4 +1,4 @@
From 88e744997f5c6ff9c9383fbe568c925c11715896 Mon Sep 17 00:00:00 2001 From 1d7fe70e06f361fa24b90c96d3aea15b904b5638 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.com> From: Dave Stevenson <dave.stevenson@raspberrypi.com>
Date: Wed, 8 Jun 2022 17:23:47 +0100 Date: Wed, 8 Jun 2022 17:23:47 +0100
Subject: [PATCH 35/50] drm: vc4: dsi: Clocks should be running before reset Subject: [PATCH 35/50] drm: vc4: dsi: Clocks should be running before reset

Some files were not shown because too many files have changed in this diff Show More