mirror of
https://git.yoctoproject.org/meta-raspberrypi
synced 2026-10-19 16:57:03 +00:00
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:
1 parent
e8e1692de4
commit
dbb7f7e91e
11 files changed
+163
-23
No files matched your search
@@ -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/<machine>.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 <https://kas.readthedocs.io/en/latest/index.html>
|
||||
|
||||
## Contributing
|
||||
|
||||
|
||||
@@ -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"
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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"
|
||||
Reference in new issue
Block a user