kas: split into unique files and add testimage

Refactor the existing kas configuration by splitting it into a shared
base.yml and a set of per-machine include files. This allows for easier
usage and potential CI use cases.

Also, change the readme to reflect the new changes.

Signed-off-by: Jon Mason <jon.mason@arm.com>
This commit is contained in:
Jon Mason authored and Khem Raj committed 2026-10-13 19:30:08 -07:00
1 parent e8e1692de4
commit dbb7f7e91e
11 files changed
+163 -23

No files matched your search

+79
View File
@@ -0,0 +1,79 @@
# yaml-language-server: $schema=https://raw.githubusercontent.com/siemens/kas/master/kas/schema-kas.json
#
header:
version: 14
machine: unset
distro: poky
target:
- core-image-base
defaults:
repos:
branch: master
repos:
meta-raspberry:
bitbake:
url: https://git.openembedded.org/bitbake
path: layers/bitbake
layers:
bitbake: disabled
openembedded-core:
url: https://git.openembedded.org/openembedded-core
path: layers/openembedded-core
layers:
meta:
meta-yocto:
url: https://git.yoctoproject.org/meta-yocto
path: layers/meta-yocto
layers:
meta-poky:
meta-openembedded:
url: http://git.openembedded.org/meta-openembedded
path: layers/meta-openembedded
layers:
meta-oe:
meta-python:
meta-networking:
meta-perl:
meta-qt5:
url: https://github.com/meta-qt5/meta-qt5/
path: layers/meta-qt5
env:
BB_LOGCONFIG: ""
BB_HASHSERVE: "auto"
bblayers_conf_header:
standard: |
POKY_BBLAYERS_CONF_VERSION = "2"
BBPATH = "${TOPDIR}"
BBFILES ?= ""
local_conf_header:
reduce_diskspace: |
INHERIT += "rm_work"
standard: |
CONF_VERSION = "2"
PACKAGE_CLASSES = "package_rpm"
SDKMACHINE = "x86_64"
USER_CLASSES = "buildstats"
PATCHRESOLVE = "noop"
debug-tweaks: |
IMAGE_FEATURES += "empty-root-password allow-empty-password allow-root-login post-install-logging"
diskmon: |
BB_DISKMON_DIRS = "\
STOPTASKS,${TMPDIR},1G,100K \
STOPTASKS,${DL_DIR},1G,100K \
STOPTASKS,${SSTATE_DIR},1G,100K \
STOPTASKS,/tmp,100M,100K \
HALT,${TMPDIR},100M,1K \
HALT,${DL_DIR},100M,1K \
HALT,${SSTATE_DIR},100M,1K \
HALT,/tmp,10M,1K"
+8
View File
@@ -0,0 +1,8 @@
# yaml-language-server: $schema=https://raw.githubusercontent.com/siemens/kas/master/kas/schema-kas.json
header:
version: 14
includes:
- kas/base.yml
machine: raspberrypi
+8
View File
@@ -0,0 +1,8 @@
# yaml-language-server: $schema=https://raw.githubusercontent.com/siemens/kas/master/kas/schema-kas.json
header:
version: 14
includes:
- kas/base.yml
machine: raspberrypi0
+8
View File
@@ -0,0 +1,8 @@
# yaml-language-server: $schema=https://raw.githubusercontent.com/siemens/kas/master/kas/schema-kas.json
header:
version: 14
includes:
- kas/base.yml
machine: raspberrypi2-64
+8
View File
@@ -0,0 +1,8 @@
# yaml-language-server: $schema=https://raw.githubusercontent.com/siemens/kas/master/kas/schema-kas.json
header:
version: 14
includes:
- kas/base.yml
machine: raspberrypi2
+14
View File
@@ -0,0 +1,14 @@
# yaml-language-server: $schema=https://raw.githubusercontent.com/siemens/kas/master/kas/schema-kas.json
header:
version: 14
includes:
- kas/base.yml
local_conf_header:
license: |
# Uncomment next line to allow the license
# See: linux-firmware-rpidistro in docs/ipcompliance.md
LICENSE_FLAGS_ACCEPTED = "synaptics-killswitch"
machine: raspberrypi3-64
+14
View File
@@ -0,0 +1,14 @@
# yaml-language-server: $schema=https://raw.githubusercontent.com/siemens/kas/master/kas/schema-kas.json
header:
version: 14
includes:
- kas/base.yml
local_conf_header:
license: |
# Uncomment next line to allow the license
# See: linux-firmware-rpidistro in docs/ipcompliance.md
LICENSE_FLAGS_ACCEPTED = "synaptics-killswitch"
machine: raspberrypi3
+14
View File
@@ -0,0 +1,14 @@
# yaml-language-server: $schema=https://raw.githubusercontent.com/siemens/kas/master/kas/schema-kas.json
header:
version: 14
includes:
- kas/base.yml
local_conf_header:
license: |
# Uncomment next line to allow the license
# See: linux-firmware-rpidistro in docs/ipcompliance.md
LICENSE_FLAGS_ACCEPTED = "synaptics-killswitch"
machine: raspberrypi4-64
+14
View File
@@ -0,0 +1,14 @@
# yaml-language-server: $schema=https://raw.githubusercontent.com/siemens/kas/master/kas/schema-kas.json
header:
version: 14
includes:
- kas/base.yml
local_conf_header:
license: |
# Uncomment next line to allow the license
# See: linux-firmware-rpidistro in docs/ipcompliance.md
LICENSE_FLAGS_ACCEPTED = "synaptics-killswitch"
machine: raspberrypi4
+28
View File
@@ -0,0 +1,28 @@
# yaml-language-server: $schema=https://raw.githubusercontent.com/siemens/kas/master/kas/schema-kas.json
header:
version: 14
local_conf_header:
testimage: |
IMAGE_CLASSES += "testimage"
TESTIMAGE_AUTO = "1"
# Don't testimage initramfs
TESTIMAGE_AUTO:pn-core-image-initramfs-boot = "0"
kvm: |
QEMU_USE_KVM = ""
slirp: |
TEST_RUNQEMUPARAMS = "slirp"
sshd: |
IMAGE_FEATURES += "ssh-server-dropbear"
sshkeys: |
CORE_IMAGE_EXTRA_INSTALL += "ssh-pregen-hostkeys"
sshpregen: |
# Allow the use of the pregen keys as this is CI so safe
COMPATIBLE_MACHINE:pn-ssh-pregen-hostkeys:raspberrypi = "raspberrypi"
COMPATIBLE_MACHINE:pn-ssh-pregen-hostkeys:raspberrypi0 = "raspberrypi0"
COMPATIBLE_MACHINE:pn-ssh-pregen-hostkeys:raspberrypi2 = "raspberrypi2"
COMPATIBLE_MACHINE:pn-ssh-pregen-hostkeys:raspberrypi3-64 = "raspberrypi3-64"
COMPATIBLE_MACHINE:pn-ssh-pregen-hostkeys:raspberrypi4-64 = "raspberrypi4-64"
failing_tests: |
TEST_SUITES:remove = "parselogs"