diff options
| author | unitexe <unitexe70@gmail.com> | 2026-01-10 23:33:48 -0600 |
|---|---|---|
| committer | unitexe <unitexe70@gmail.com> | 2026-01-11 00:30:56 -0600 |
| commit | e99d9bb6788424ec7711d187985bb93b8b5c1175 (patch) | |
| tree | bc37f1d07e4a27a62099b8160b6e40a73ce631f2 | |
| parent | d9466d72d1bed7f6fa34ae14cbf81395c9bde705 (diff) | |
Introduce meta-raspberrypi-extra
- Install copies of cmdline, config & uboot script to rootfs; they are normally just installed to the boot partitioin but having a copy on the rootfs makes making changes and updating them easier
- The rpi-eeprom package does not support raspberrypi3-64, it has not EEPROM
8 files changed, 80 insertions, 1 deletions
diff --git a/meta-raspberrypi-extra/conf/layer.conf b/meta-raspberrypi-extra/conf/layer.conf new file mode 100644 index 0000000..3f02a5e --- /dev/null +++ b/meta-raspberrypi-extra/conf/layer.conf @@ -0,0 +1,14 @@ +BBPATH .= ":${LAYERDIR}" + +BBFILES += "\ + ${LAYERDIR}/recipes-*/*/*.bb \ + ${LAYERDIR}/recipes-*/*/*.bbappend \ +" + +BBFILE_COLLECTIONS += "raspberrypi-extra-layer" +BBFILE_PATTERN_raspberrypi-extra-layer = "^${LAYERDIR}/" +BBFILE_PRIORITY_raspberrypi-extra-layer = "12" + +LAYERDEPENDS_raspberrypi-extra-layer += "raspberrypi" + +LAYERSERIES_COMPAT_raspberrypi-extra-layer = "whinlatter" diff --git a/meta-raspberrypi-extra/recipes-bsp/bootfiles/rpi-cmdline-rootfs.bb b/meta-raspberrypi-extra/recipes-bsp/bootfiles/rpi-cmdline-rootfs.bb new file mode 100644 index 0000000..22cf176 --- /dev/null +++ b/meta-raspberrypi-extra/recipes-bsp/bootfiles/rpi-cmdline-rootfs.bb @@ -0,0 +1,16 @@ +SUMMARY = "Install a copy of cmdline.txt to rootfs" +LICENSE = "MIT" + +DEPENDS = "rpi-cmdline" + +inherit allarch + +do_install() { + install -d ${D}${sysconfdir}/rpi + install -m 0644 ${DEPLOY_DIR_IMAGE}/${BOOTFILES_DIR_NAME}/cmdline.txt ${D}${sysconfdir}/rpi/cmdline.txt +} + +FILES:${PN} = "${sysconfdir}/rpi/cmdline.txt" + +# Ensure rpi-cmdline's do_deploy runs before rootfs installation +do_install[depends] += "rpi-cmdline:do_deploy" diff --git a/meta-raspberrypi-extra/recipes-bsp/bootfiles/rpi-config-rootfs.bb b/meta-raspberrypi-extra/recipes-bsp/bootfiles/rpi-config-rootfs.bb new file mode 100644 index 0000000..0bea2a2 --- /dev/null +++ b/meta-raspberrypi-extra/recipes-bsp/bootfiles/rpi-config-rootfs.bb @@ -0,0 +1,16 @@ +SUMMARY = "Install a copy of config.txt to rootfs" +LICENSE = "MIT" + +DEPENDS = "rpi-config" + +inherit allarch + +do_install() { + install -d ${D}${sysconfdir}/rpi + install -m 0644 ${DEPLOY_DIR_IMAGE}/${BOOTFILES_DIR_NAME}/config.txt ${D}${sysconfdir}/rpi/config.txt +} + +FILES:${PN} = "${sysconfdir}/rpi/config.txt" + +# Ensure rpi-config's do_deploy runs before rootfs installation +do_install[depends] += "rpi-config:do_deploy" diff --git a/meta-raspberrypi-extra/recipes-bsp/rpi-u-boot-scr/rpi-u-boot-scr-rootfs.bb b/meta-raspberrypi-extra/recipes-bsp/rpi-u-boot-scr/rpi-u-boot-scr-rootfs.bb new file mode 100644 index 0000000..60b6f37 --- /dev/null +++ b/meta-raspberrypi-extra/recipes-bsp/rpi-u-boot-scr/rpi-u-boot-scr-rootfs.bb @@ -0,0 +1,16 @@ +SUMMARY = "Install a copy of rpi u-boot boot script to rootfs" +LICENSE = "MIT" + +DEPENDS = "rpi-u-boot-scr" + +inherit allarch + +do_install() { + install -d ${D}${sysconfdir}/rpi + install -m 0644 ${DEPLOY_DIR_IMAGE}/boot.scr ${D}${sysconfdir}/rpi/boot.scr +} + +FILES:${PN} = "${sysconfdir}/rpi/boot.scr" + +# Ensure rpi-u-boot-scr's do_deploy runs before rootfs installation +do_install[depends] += "rpi-u-boot-scr:do_deploy" diff --git a/meta-raspberrypi-extra/recipes-core/packagegroups/packagegroup-unit-rpi.bb b/meta-raspberrypi-extra/recipes-core/packagegroups/packagegroup-unit-rpi.bb new file mode 100644 index 0000000..d606aba --- /dev/null +++ b/meta-raspberrypi-extra/recipes-core/packagegroups/packagegroup-unit-rpi.bb @@ -0,0 +1,13 @@ +SUMMARY = "Raspberrypi specific packages" + +inherit packagegroup + +# Allows updating RPIs on board EEPROM (if it has one). +RDEPENDS:${PN}:append:raspberrypi5 = " rpi-eeprom" + +# Install copies of files that reside on +# the boot partition to make updating them +# easier. +RDEPENDS:${PN}:append = " rpi-config-rootfs" +RDEPENDS:${PN}:append = " rpi-cmdline-rootfs" +RDEPENDS:${PN}:append = " rpi-u-boot-scr-rootfs" diff --git a/meta-unit-core/conf/layer.conf b/meta-unit-core/conf/layer.conf index 8de84e8..688eda3 100644 --- a/meta-unit-core/conf/layer.conf +++ b/meta-unit-core/conf/layer.conf @@ -4,13 +4,15 @@ BBFILES += "${LAYERDIR}/recipes*/*/*.bb ${LAYERDIR}/recipes*/*/*.bbappend" BBFILE_COLLECTIONS += "unit-core" BBFILE_PATTERN_unit-core := "^${LAYERDIR}/" -BBFILE_PRIORITY_unit-core = "10" +BBFILE_PRIORITY_unit-core = "13" LAYERSERIES_COMPAT_unit-core = "whinlatter" BBFILES_DYNAMIC += " \ virtualization-layer:${LAYERDIR}/dynamic-layers/virtualization-layer/recipes-*/*/*.bb \ virtualization-layer:${LAYERDIR}/dynamic-layers/virtualization-layer/recipes-*/*/*.bbappend \ + raspberrypi-extra-layer:${LAYERDIR}/dynamic-layers/raspberrypi-extra-layer/recipes-*/*/*.bb \ + raspberrypi-extra-layer:${LAYERDIR}/dynamic-layers/raspberrypi-extra-layer/recipes-*/*/*.bbappend \ " UNIT_CORE_LAYERDIR = "${LAYERDIR}" diff --git a/meta-unit-core/dynamic-layers/raspberrypi-extra-layer/recipes-unit/images/core-image-unit.bbappend b/meta-unit-core/dynamic-layers/raspberrypi-extra-layer/recipes-unit/images/core-image-unit.bbappend new file mode 100644 index 0000000..dee84c1 --- /dev/null +++ b/meta-unit-core/dynamic-layers/raspberrypi-extra-layer/recipes-unit/images/core-image-unit.bbappend @@ -0,0 +1 @@ +IMAGE_INSTALL:append = " packagegroup-unit-rpi" diff --git a/meta-unit-kas/images/unit-poky/raspberrypi3-64/core-image-unit/whinlatter.yml b/meta-unit-kas/images/unit-poky/raspberrypi3-64/core-image-unit/whinlatter.yml index 08ed5c9..846273a 100644 --- a/meta-unit-kas/images/unit-poky/raspberrypi3-64/core-image-unit/whinlatter.yml +++ b/meta-unit-kas/images/unit-poky/raspberrypi3-64/core-image-unit/whinlatter.yml @@ -27,6 +27,7 @@ repos: meta-python: meta-unit: layers: + meta-raspberrypi-extra: meta-unit-core: meta-unit-distro: meta-virtualization-extra: |
