From b7b361ab63018eef0c00533c9f143396f4a12016 Mon Sep 17 00:00:00 2001 From: Jon Mason Date: Mon, 27 Apr 2026 08:55:58 -0400 Subject: [PATCH 1/7] oeqa: Remove broken parselogs config Since OE Core commit bba243e1d18b954578afcdb3c727d8f687187ee8 (4 December 2023) changed how parselogs ignores works, this code has been broken. Since it wasn't actually doing any extra checking, there is no need to add back anything to replace it. Signed-off-by: Jon Mason --- conf/layer.conf | 3 --- conf/machine/include/rpi-default-settings.inc | 6 ------ lib/oeqa/runtime/cases/parselogs_rpi.py | 12 ------------ 3 files changed, 21 deletions(-) delete mode 100644 lib/oeqa/runtime/cases/parselogs_rpi.py diff --git a/conf/layer.conf b/conf/layer.conf index d66f32317..9e6fbdfd8 100644 --- a/conf/layer.conf +++ b/conf/layer.conf @@ -32,6 +32,3 @@ BBFILES_DYNAMIC += " \ meta-python:${LAYERDIR}/dynamic-layers/meta-python/*/*/*.bb \ meta-python:${LAYERDIR}/dynamic-layers/meta-python/*/*/*.bbappend \ " - -DEFAULT_TEST_SUITES:remove:rpi = "parselogs" -DEFAULT_TEST_SUITES:append:rpi = " parselogs_rpi" diff --git a/conf/machine/include/rpi-default-settings.inc b/conf/machine/include/rpi-default-settings.inc index b788f146f..716a8bbb7 100644 --- a/conf/machine/include/rpi-default-settings.inc +++ b/conf/machine/include/rpi-default-settings.inc @@ -1,9 +1,3 @@ # RaspberryPi BSP default settings IMAGE_CLASSES += "sdcard_image-rpi" - -# RPI kernel has errors of its own which should be filtered -# therefore use parselogs_rpi test instead of parselogs from oe-core -# -DEFAULT_TEST_SUITES:append:rpi = " parselogs_rpi" -DEFAULT_TEST_SUITES:remove:rpi = " parselogs" diff --git a/lib/oeqa/runtime/cases/parselogs_rpi.py b/lib/oeqa/runtime/cases/parselogs_rpi.py deleted file mode 100644 index 49226ae81..000000000 --- a/lib/oeqa/runtime/cases/parselogs_rpi.py +++ /dev/null @@ -1,12 +0,0 @@ -from oeqa.runtime.cases.parselogs import * - -rpi_errors = [ -] - -ignore_errors['raspberrypi4'] = rpi_errors + common_errors -ignore_errors['raspberrypi4-64'] = rpi_errors + common_errors -ignore_errors['raspberrypi3'] = rpi_errors + common_errors -ignore_errors['raspberrypi3-64'] = rpi_errors + common_errors - -class ParseLogsTestRpi(ParseLogsTest): - pass From d5ecab2caab9ece52e0e0b77a5bab8350dac8efe Mon Sep 17 00:00:00 2001 From: Jon Mason Date: Mon, 27 Apr 2026 09:35:50 -0400 Subject: [PATCH 2/7] raspberrypi2: add usb networking and change to usb storage Add support for USB networking and change to USB storage for the boot device. This requires adding in a workaround of "dwc_otg.fiq_fsm_enable=0" to prevent a hang during boot. Booting from a USB devices prevents and issues with "power of 2" for emulated SD cards and seems to be more reliable. Also, add in the early console help with future debugging. Also, adding in init-ifupdown file to automatically get an IP address on the USB network interface. This is the same file currently in OE Core, only with the USB interface being automatically brought up and given a dynamic address. This will help when testimage support is added. Signed-off-by: Jon Mason --- conf/machine/raspberrypi2.conf | 9 +++--- recipes-core/init-ifupdown/files/interfaces | 31 +++++++++++++++++++ .../init-ifupdown/init-ifupdown_1.0.bbappend | 6 ++++ 3 files changed, 42 insertions(+), 4 deletions(-) create mode 100644 recipes-core/init-ifupdown/files/interfaces create mode 100644 recipes-core/init-ifupdown/init-ifupdown_1.0.bbappend diff --git a/conf/machine/raspberrypi2.conf b/conf/machine/raspberrypi2.conf index 1d4655ec9..f502034a7 100644 --- a/conf/machine/raspberrypi2.conf +++ b/conf/machine/raspberrypi2.conf @@ -22,9 +22,10 @@ QB_SYSTEM_NAME = "qemu-system-arm" QB_MACHINE = "-machine raspi2b" QB_MEM = "-m 1024" QB_DTB = "bcm2709-rpi-2-b.dtb" -QB_NET = "none" -QB_KERNEL_ROOT = "/dev/mmcblk0" -QB_KERNEL_CMDLINE_APPEND = "rootwait" +QB_NETWORK_DEVICE = "-device usb-net,netdev=net0,mac=@MAC@" +QB_KERNEL_ROOT = "/dev/sda" +# The dwc_otg.fiq_fsm_enable setting is necessary to get USB devices (both disk and net) working. Without this, boot hangs +QB_KERNEL_CMDLINE_APPEND = "rootwait earlycon=pl011,0x3f201000 dwc_otg.fiq_fsm_enable=0" QB_RNG = "" -QB_ROOTFS_OPT = "-drive id=disk0,file=@ROOTFS@,if=sd,format=raw" +QB_ROOTFS_OPT = "-drive id=disk0,file=@ROOTFS@,if=none,format=raw -device usb-storage,drive=disk0" QB_DEFAULT_FSTYPE = "ext3" diff --git a/recipes-core/init-ifupdown/files/interfaces b/recipes-core/init-ifupdown/files/interfaces new file mode 100644 index 000000000..6785c8738 --- /dev/null +++ b/recipes-core/init-ifupdown/files/interfaces @@ -0,0 +1,31 @@ +# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8) + +# The loopback interface +auto lo +iface lo inet loopback + +# Wireless interfaces +iface wlan0 inet dhcp + wireless_mode managed + wireless_essid any + wpa-driver wext + wpa-conf /etc/wpa_supplicant.conf + +iface atml0 inet dhcp + +# Wired or wireless interfaces including predictable names +auto eth0 +iface eth0 inet dhcp +iface eth1 inet dhcp + +# Busybox ifupdown won't process /en* correctly +auto /en*=eth +iface eth inet dhcp + +# Ethernet/RNDIS gadget (g_ether) +# ... or on host side, usbnet and random hwaddr +auto usb0 +iface usb0 inet dhcp + +# Bluetooth networking +iface bnep0 inet dhcp diff --git a/recipes-core/init-ifupdown/init-ifupdown_1.0.bbappend b/recipes-core/init-ifupdown/init-ifupdown_1.0.bbappend new file mode 100644 index 000000000..65e17287b --- /dev/null +++ b/recipes-core/init-ifupdown/init-ifupdown_1.0.bbappend @@ -0,0 +1,6 @@ +# +# Enable second network interface on startup +# +PACKAGE_ARCH = "${MACHINE_ARCH}" + +FILESEXTRAPATHS:prepend := "${THISDIR}/files:" From 8b84d9debe4168ce65ef625cd7ce9664b2582a43 Mon Sep 17 00:00:00 2001 From: Jon Mason Date: Mon, 27 Apr 2026 09:49:11 -0400 Subject: [PATCH 3/7] raspberrypi0.conf: add QB_ variables for runqemu Add the relevant QB_ variables sufficient to get the QEMU raspi0 model running with runqemu. The dwc_otg.fiq_fsm_enable setting is necessary to get USB devices (both disk and net) working. Without this, boot hangs. The initcall_blacklist=bcm2835_pm_driver_init is needed to workaround other boot issues. Seems like the PM HW emulation isn't present in the QEMU model. Signed-off-by: Jon Mason --- conf/machine/raspberrypi0.conf | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/conf/machine/raspberrypi0.conf b/conf/machine/raspberrypi0.conf index 597918a61..798fb1bd0 100644 --- a/conf/machine/raspberrypi0.conf +++ b/conf/machine/raspberrypi0.conf @@ -6,3 +6,21 @@ MACHINEOVERRIDES =. "raspberrypi:" include conf/machine/raspberrypi.conf SERIAL_CONSOLES ?= "115200;ttyAMA0" + +# +# Below are variables ONLY needed for running with Yocto/OE's runqemu script +# +IMAGE_CLASSES += "qemuboot" + +QB_SYSTEM_NAME = "qemu-system-arm" +QB_MACHINE = "-machine raspi0" +QB_MEM = "-m 512" +QB_DTB = "bcm2708-rpi-zero.dtb" +QB_NETWORK_DEVICE = "-device usb-net,netdev=net0,mac=@MAC@" +QB_KERNEL_ROOT = "/dev/sda" +# The dwc_otg.fiq_fsm_enable setting is necessary to get USB devices (both disk and net) working. Without this, boot hangs +# The initcall_blacklist=bcm2835_pm_driver_init is needed to workaround boot issues. Seems like the PM HW emulation isn't present +QB_KERNEL_CMDLINE_APPEND = "rootwait initcall_blacklist=bcm2835_pm_driver_init earlycon=pl011,0x20201000 dwc_otg.fiq_fsm_enable=0" +QB_RNG = "" +QB_ROOTFS_OPT = "-drive id=disk0,file=@ROOTFS@,if=none,format=raw -device usb-storage,drive=disk0" +QB_DEFAULT_FSTYPE = "ext3" From 208526ba6312d394c030c8b19cc35b75e6fcf42c Mon Sep 17 00:00:00 2001 From: Jon Mason Date: Mon, 27 Apr 2026 09:57:10 -0400 Subject: [PATCH 4/7] raspberrypi.conf: add QB_ variables for runqemu Add the relevant QB_ variables sufficient to get the QEMU raspi1ap model running with runqemu. The dwc_otg.fiq_fsm_enable setting is necessary to get USB devices (both disk and net) working. Without this, boot hangs. The initcall_blacklist=bcm2835_pm_driver_init is needed to workaround other boot issues. Seems like the PM HW emulation isn't present in the QEMU model. Signed-off-by: Jon Mason --- conf/machine/raspberrypi.conf | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/conf/machine/raspberrypi.conf b/conf/machine/raspberrypi.conf index 05263d766..7c4973fcf 100644 --- a/conf/machine/raspberrypi.conf +++ b/conf/machine/raspberrypi.conf @@ -12,3 +12,21 @@ UBOOT_MACHINE = "rpi_config" SERIAL_CONSOLES ?= "115200;ttyAMA0" ARMSTUB ?= "armstub.bin" + +# +# Below are variables ONLY needed for running with Yocto/OE's runqemu script +# +IMAGE_CLASSES += "qemuboot" + +QB_SYSTEM_NAME = "qemu-system-arm" +QB_MACHINE = "-machine raspi1ap" +QB_MEM = "-m 512" +QB_DTB = "bcm2708-rpi-b-plus.dtb" +QB_NETWORK_DEVICE = "-device usb-net,netdev=net0,mac=@MAC@" +QB_KERNEL_ROOT = "/dev/sda" +# The dwc_otg.fiq_fsm_enable setting is necessary to get USB devices (both disk and net) working. Without this, boot hangs +# The initcall_blacklist=bcm2835_pm_driver_init is needed to workaround boot issues. Seems like the PM HW emulation isn't present +QB_KERNEL_CMDLINE_APPEND = "rootwait initcall_blacklist=bcm2835_pm_driver_init earlycon=pl011,0x20201000 dwc_otg.fiq_fsm_enable=0" +QB_RNG = "" +QB_ROOTFS_OPT = "-drive id=disk0,file=@ROOTFS@,if=none,format=raw -device usb-storage,drive=disk0" +QB_DEFAULT_FSTYPE = "ext3" From c2e7300371ccd7b7ec86b84d3ec36d638e8cca55 Mon Sep 17 00:00:00 2001 From: Jon Mason Date: Tue, 14 Apr 2026 14:22:03 -0400 Subject: [PATCH 5/7] raspberrypi3-64.conf: add QB_ variables for runqemu Add the relevant QB_ variables sufficient to get the QEMU raspi1ap model running with runqemu. Unfortunately, it doesn't fully boot to shell, and seems to hang around bluetooth and video inits. Signed-off-by: Jon Mason --- conf/machine/raspberrypi3-64.conf | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/conf/machine/raspberrypi3-64.conf b/conf/machine/raspberrypi3-64.conf index 53e7c2af5..af7712a17 100644 --- a/conf/machine/raspberrypi3-64.conf +++ b/conf/machine/raspberrypi3-64.conf @@ -35,3 +35,19 @@ SERIAL_CONSOLES ?= "115200;ttyS0" VC4DTBO ?= "vc4-fkms-v3d" ARMSTUB ?= "armstub8.bin" + +# +# Below are variables ONLY needed for running with Yocto/OE's runqemu script +# +IMAGE_CLASSES += "qemuboot" + +QB_SYSTEM_NAME = "qemu-system-aarch64" +QB_MACHINE = "-machine raspi3b" +QB_MEM = "-m 1024" +QB_DTB = "bcm2837-rpi-3-b.dtb" +QB_NETWORK_DEVICE = "-device usb-net,netdev=net0,mac=@MAC@" +QB_KERNEL_ROOT = "/dev/sda" +QB_KERNEL_CMDLINE_APPEND = "rootwait earlycon=pl011,0x3f201000" +QB_RNG = "" +QB_ROOTFS_OPT = "-drive id=disk0,file=@ROOTFS@,if=none,format=raw -device usb-storage,drive=disk0" +QB_DEFAULT_FSTYPE = "ext3" From 5b53294e5d5e8021e8a0f1688bb74a597ff23dc4 Mon Sep 17 00:00:00 2001 From: Jon Mason Date: Mon, 27 Apr 2026 14:10:43 -0400 Subject: [PATCH 6/7] raspberrypi4-64.conf: add QB_ variables for runqemu Add the relevant QB_ variables sufficient to get the QEMU raspi1ap model running with runqemu. Unfortunately, it doesn't fully boot to shell, and seems to hang trying to find boot media (for both SD and USB boot devices). Signed-off-by: Jon Mason --- conf/machine/raspberrypi4-64.conf | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/conf/machine/raspberrypi4-64.conf b/conf/machine/raspberrypi4-64.conf index 1d9377264..d6b51cc9c 100644 --- a/conf/machine/raspberrypi4-64.conf +++ b/conf/machine/raspberrypi4-64.conf @@ -39,3 +39,19 @@ KERNEL_IMAGETYPE_DIRECT ?= "Image" KERNEL_BOOTCMD ?= "booti" ARMSTUB ?= "armstub8-gic.bin" + +# +# Below are variables ONLY needed for running with Yocto/OE's runqemu script +# +IMAGE_CLASSES += "qemuboot" + +QB_SYSTEM_NAME = "qemu-system-aarch64" +QB_MACHINE = "-machine raspi4b" +QB_MEM = "-m 2048" +QB_DTB = "bcm2711-rpi-4-b.dtb" +QB_NETWORK_DEVICE = "-device usb-net,netdev=net0,mac=@MAC@" +QB_KERNEL_ROOT = "/dev/sda" +QB_KERNEL_CMDLINE_APPEND = "rootwait earlycon=pl011,mmio32,0xfe201000" +QB_RNG = "" +QB_ROOTFS_OPT = "-drive id=disk0,file=@ROOTFS@,if=none,format=raw -device usb-storage,drive=disk0" +QB_DEFAULT_FSTYPE = "ext3" From 7f4f3cef19357ad76bf7a01309e0df206b2346c9 Mon Sep 17 00:00:00 2001 From: Jon Mason Date: Tue, 14 Apr 2026 14:23:20 -0400 Subject: [PATCH 7/7] 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 --- README.md | 43 ++++++++++++++++++++++++-------- kas-poky-rpi.yml => kas/base.yml | 27 ++++++++++---------- kas/raspberrypi.yml | 8 ++++++ kas/raspberrypi0.yml | 8 ++++++ kas/raspberrypi2-64.yml | 8 ++++++ kas/raspberrypi2.yml | 8 ++++++ kas/raspberrypi3-64.yml | 14 +++++++++++ kas/raspberrypi3.yml | 14 +++++++++++ kas/raspberrypi4-64.yml | 14 +++++++++++ kas/raspberrypi4.yml | 14 +++++++++++ kas/testimage.yml | 28 +++++++++++++++++++++ 11 files changed, 163 insertions(+), 23 deletions(-) rename kas-poky-rpi.yml => kas/base.yml (81%) create mode 100644 kas/raspberrypi.yml create mode 100644 kas/raspberrypi0.yml create mode 100644 kas/raspberrypi2-64.yml create mode 100644 kas/raspberrypi2.yml create mode 100644 kas/raspberrypi3-64.yml create mode 100644 kas/raspberrypi3.yml create mode 100644 kas/raspberrypi4-64.yml create mode 100644 kas/raspberrypi4.yml create mode 100644 kas/testimage.yml diff --git a/README.md b/README.md index cc1c2942f..99f5aa656 100644 --- a/README.md +++ b/README.md @@ -76,14 +76,31 @@ This layer depends on: ## Quick Start with kas -1. Install kas build tool from PyPi (sudo pip3 install kas) -2. Set the `machine: ` in kas-poky-rpi.yml to one of the supported boards (see conf/machine/*.conf) -3. kas build meta-raspberrypi/kas-poky-rpi.yml -4. Use bmaptool to copy the generated .wic.bz2 file to the SD card -5. Boot your RPI +1. Install the kas build tool from PyPI: -To adjust the build configuration with specific options (I2C, SPI, ...), simply add -a section as follows: + ``` + pip3 install kas + ``` + +2. Select the appropriate machine configuration file from `kas/` + (for example `raspberrypi4.yml`, `raspberrypi3-64.yml`, etc.) + +3. Run the build: + + ``` + kas build meta-raspberrypi/kas/.yml + ``` + +4. Use `bmaptool` to copy the generated `.wic.bz2` image to the SD card + +5. Boot your Raspberry Pi + +The kas configuration is split into a shared `base.yml` and per-machine +configuration files. Machine selection is done by choosing the appropriate +kas file rather than editing a `machine` variable. + +To adjust the build configuration with specific options (I2C, SPI, etc.), +extend the configuration by adding a `local_conf_header` section, for example: ``` local_conf_header: @@ -92,10 +109,16 @@ local_conf_header: RPI_EXTRA_CONFIG = "dtoverlay=disable-bt" ``` -To configure the machine, you have to update the `machine` variable. -And the same for the `distro`. +Additional configurations can be layered by including extra kas files. For example, +to enable runtime testing with `testimage`: + +``` +kas build meta-raspberrypi/kas/raspberrypi4.yml:meta-raspberrypi/kas/testimage.yml +``` + +For further details, see the kas documentation: +https://kas.readthedocs.io/en/latest/index.html -For further information, you can read more at ## Contributing diff --git a/kas-poky-rpi.yml b/kas/base.yml similarity index 81% rename from kas-poky-rpi.yml rename to kas/base.yml index e3f93639b..b3e8beea6 100644 --- a/kas-poky-rpi.yml +++ b/kas/base.yml @@ -1,40 +1,41 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/siemens/kas/master/kas/schema-kas.json +# header: - version: 8 + version: 14 -machine: raspberrypi4 +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 - branch: master layers: bitbake: disabled openembedded-core: url: https://git.openembedded.org/openembedded-core path: layers/openembedded-core - branch: master layers: meta: meta-yocto: url: https://git.yoctoproject.org/meta-yocto path: layers/meta-yocto - branch: master layers: meta-poky: - meta-yocto-bsp: meta-openembedded: url: http://git.openembedded.org/meta-openembedded path: layers/meta-openembedded - branch: master layers: meta-oe: meta-python: @@ -44,16 +45,20 @@ repos: meta-qt5: url: https://github.com/meta-qt5/meta-qt5/ path: layers/meta-qt5 - branch: master + +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_and_downloads" + INHERIT += "rm_work" standard: | CONF_VERSION = "2" PACKAGE_CLASSES = "package_rpm" @@ -72,7 +77,3 @@ local_conf_header: HALT,${DL_DIR},100M,1K \ HALT,${SSTATE_DIR},100M,1K \ HALT,/tmp,10M,1K" - license: | - # Uncomment next line to allow the license - # See: linux-firmware-rpidistro in docs/ipcompliance.md - #LICENSE_FLAGS_ACCEPTED = "synaptics-killswitch" diff --git a/kas/raspberrypi.yml b/kas/raspberrypi.yml new file mode 100644 index 000000000..32f65fd11 --- /dev/null +++ b/kas/raspberrypi.yml @@ -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 diff --git a/kas/raspberrypi0.yml b/kas/raspberrypi0.yml new file mode 100644 index 000000000..bf83dfbad --- /dev/null +++ b/kas/raspberrypi0.yml @@ -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 diff --git a/kas/raspberrypi2-64.yml b/kas/raspberrypi2-64.yml new file mode 100644 index 000000000..05f9214a9 --- /dev/null +++ b/kas/raspberrypi2-64.yml @@ -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 diff --git a/kas/raspberrypi2.yml b/kas/raspberrypi2.yml new file mode 100644 index 000000000..46d40430d --- /dev/null +++ b/kas/raspberrypi2.yml @@ -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 diff --git a/kas/raspberrypi3-64.yml b/kas/raspberrypi3-64.yml new file mode 100644 index 000000000..79c45db24 --- /dev/null +++ b/kas/raspberrypi3-64.yml @@ -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 diff --git a/kas/raspberrypi3.yml b/kas/raspberrypi3.yml new file mode 100644 index 000000000..7ddc7c360 --- /dev/null +++ b/kas/raspberrypi3.yml @@ -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 diff --git a/kas/raspberrypi4-64.yml b/kas/raspberrypi4-64.yml new file mode 100644 index 000000000..b09437ac6 --- /dev/null +++ b/kas/raspberrypi4-64.yml @@ -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 diff --git a/kas/raspberrypi4.yml b/kas/raspberrypi4.yml new file mode 100644 index 000000000..cfed792eb --- /dev/null +++ b/kas/raspberrypi4.yml @@ -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 diff --git a/kas/testimage.yml b/kas/testimage.yml new file mode 100644 index 000000000..884476ad5 --- /dev/null +++ b/kas/testimage.yml @@ -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"