diff --git a/conf/layer.conf b/conf/layer.conf index 5e8cf5f79..76f9e92d3 100644 --- a/conf/layer.conf +++ b/conf/layer.conf @@ -11,6 +11,9 @@ BBFILE_PRIORITY_raspberrypi = "9" LAYERSERIES_COMPAT_raspberrypi = "styhead" LAYERDEPENDS_raspberrypi = "core" +# Recommended for u-boot support for raspberrypi5 +# https://git.yoctoproject.org/meta-lts-mixins 'scarthgap/u-boot' branch +LAYERRECOMMENDS_raspberrypi = "lts-u-boot-mixin" # Additional license directories. LICENSE_PATH += "${LAYERDIR}/files/custom-licenses" diff --git a/conf/machine/raspberrypi5.conf b/conf/machine/raspberrypi5.conf index 8c38637a2..03f15c35f 100644 --- a/conf/machine/raspberrypi5.conf +++ b/conf/machine/raspberrypi5.conf @@ -22,5 +22,11 @@ SERIAL_CONSOLES ?= "115200;ttyAMA10" VC4DTBO ?= "vc4-kms-v3d" +# When u-boot is enabled we need to use the "Image" format and the "booti" +# command to load the kernel +KERNEL_IMAGETYPE_UBOOT ?= "Image" # "zImage" not supported on arm64 and ".gz" images not supported by bootloader yet KERNEL_IMAGETYPE_DIRECT ?= "Image" +KERNEL_BOOTCMD ?= "booti" + +UBOOT_MACHINE = "rpi_arm64_config" diff --git a/recipes-bsp/bootfiles/rpi-cmdline.bb b/recipes-bsp/bootfiles/rpi-cmdline.bb index a22f50d64..461934b9e 100644 --- a/recipes-bsp/bootfiles/rpi-cmdline.bb +++ b/recipes-bsp/bootfiles/rpi-cmdline.bb @@ -46,6 +46,9 @@ CMDLINE_ISOL_CPUS ?= "${@setup_isolcpus(d)}" # if the MAC addresses are omitted, random values will be used CMDLINE_RNDIS ?= "" +# That allows to keep the traditional network interface names +CMDLINE_IFNAMES ?= "net.ifnames=0" + CMDLINE = " \ ${CMDLINE_ISOL_CPUS} \ ${CMDLINE_DWC_OTG} \ @@ -57,6 +60,7 @@ CMDLINE = " \ ${CMDLINE_PITFT} \ ${CMDLINE_DEBUG} \ ${CMDLINE_RNDIS} \ + ${CMDLINE_IFNAMES} \ " do_compile() { diff --git a/recipes-bsp/gpio-shutdown/gpio-shutdown.bb b/recipes-bsp/gpio-shutdown/gpio-shutdown.bb index d6908400b..77d9856f2 100644 --- a/recipes-bsp/gpio-shutdown/gpio-shutdown.bb +++ b/recipes-bsp/gpio-shutdown/gpio-shutdown.bb @@ -19,8 +19,8 @@ do_install() { ${D}${sysconfdir}/inittab.d \ ${D}${sysconfdir}/init.d - install -m 0755 ${WORKDIR}/gpio-shutdown-keymap.sh ${D}${sysconfdir}/init.d/ - install -m 0755 ${WORKDIR}/bind_gpio_shutdown.tab ${D}${sysconfdir}/inittab.d/ + install -m 0755 ${UNPACKDIR}/gpio-shutdown-keymap.sh ${D}${sysconfdir}/init.d/ + install -m 0755 ${UNPACKDIR}/bind_gpio_shutdown.tab ${D}${sysconfdir}/inittab.d/ elif ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then # Systemd init does not require any configuration. # Note: cannot have an empty branch, hence the redundant dir install. diff --git a/recipes-bsp/u-boot/u-boot_%.bbappend b/recipes-bsp/u-boot/u-boot_%.bbappend index 78b3e484a..8c707b56a 100644 --- a/recipes-bsp/u-boot/u-boot_%.bbappend +++ b/recipes-bsp/u-boot/u-boot_%.bbappend @@ -10,8 +10,5 @@ DEPENDS:append:rpi = " u-boot-default-script" do_install:append:rpi () { install -d ${D}${sysconfdir} - install -m 0644 ${WORKDIR}/fw_env.config ${D}${sysconfdir}/fw_env.config + install -m 0644 ${UNPACKDIR}/fw_env.config ${D}${sysconfdir}/fw_env.config } - -# Temporary avoid Raspberry Pi 5 because U-Boot has not been ported yet -COMPATIBLE_MACHINE:raspberrypi5 = "(-)" diff --git a/recipes-core/psplash/psplash_%.bbappend b/recipes-core/psplash/psplash_%.bbappend index 57cade8ff..22e806142 100644 --- a/recipes-core/psplash/psplash_%.bbappend +++ b/recipes-core/psplash/psplash_%.bbappend @@ -5,7 +5,7 @@ SRC_URI:append:rpi = " file://framebuf.conf" do_install:append:rpi() { if [ "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" ]; then - install -Dm 0644 ${WORKDIR}/framebuf.conf ${D}${systemd_system_unitdir}/psplash-start.service.d/framebuf.conf + install -Dm 0644 ${UNPACKDIR}/framebuf.conf ${D}${systemd_system_unitdir}/psplash-start.service.d/framebuf.conf fi } diff --git a/recipes-core/udev/udev-rules-rpi.bb b/recipes-core/udev/udev-rules-rpi.bb index 3ae43856f..3ca34f443 100644 --- a/recipes-core/udev/udev-rules-rpi.bb +++ b/recipes-core/udev/udev-rules-rpi.bb @@ -15,5 +15,5 @@ INHIBIT_DEFAULT_DEPS = "1" do_install () { install -d ${D}${sysconfdir}/udev/rules.d install -m 0644 ${S}/etc.armhf/udev/rules.d/99-com.rules ${D}${sysconfdir}/udev/rules.d/ - install -m 0644 ${WORKDIR}/can.rules ${D}${sysconfdir}/udev/rules.d/ + install -m 0644 ${UNPACKDIR}/can.rules ${D}${sysconfdir}/udev/rules.d/ } diff --git a/recipes-core/udev/udev-rules-udisks-rpi_1.0.bb b/recipes-core/udev/udev-rules-udisks-rpi_1.0.bb index d5d4589d6..2ebbc2c7f 100644 --- a/recipes-core/udev/udev-rules-udisks-rpi_1.0.bb +++ b/recipes-core/udev/udev-rules-udisks-rpi_1.0.bb @@ -7,7 +7,7 @@ INHIBIT_DEFAULT_DEPS = "1" do_install () { install -d ${D}${base_libdir}/udev/rules.d - install -m 644 ${WORKDIR}/80-udisks-rpi.rules ${D}${base_libdir}/udev/rules.d + install -m 644 ${UNPACKDIR}/80-udisks-rpi.rules ${D}${base_libdir}/udev/rules.d } FILES:${PN} = "${base_libdir}/udev/rules.d" diff --git a/recipes-graphics/vc-graphics/vc-graphics.inc b/recipes-graphics/vc-graphics/vc-graphics.inc index e5e8f5358..fd370804a 100644 --- a/recipes-graphics/vc-graphics/vc-graphics.inc +++ b/recipes-graphics/vc-graphics/vc-graphics.inc @@ -33,10 +33,10 @@ do_install () { cp -R include/* ${D}${includedir} install -d ${D}${libdir}/pkgconfig - install -m 0644 ${WORKDIR}/egl.pc ${D}${libdir}/pkgconfig/ + install -m 0644 ${UNPACKDIR}/egl.pc ${D}${libdir}/pkgconfig/ install -d ${D}/${sysconfdir}/init.d - install -m 0755 ${WORKDIR}/vchiq.sh ${D}${sysconfdir}/init.d/ + install -m 0755 ${UNPACKDIR}/vchiq.sh ${D}${sysconfdir}/init.d/ } # These are proprietary binaries generated elsewhere so don't check ldflags diff --git a/recipes-graphics/xorg-xserver/xserver-xf86-config_%.bbappend b/recipes-graphics/xorg-xserver/xserver-xf86-config_%.bbappend index dfcd07247..aebe1f9a1 100644 --- a/recipes-graphics/xorg-xserver/xserver-xf86-config_%.bbappend +++ b/recipes-graphics/xorg-xserver/xserver-xf86-config_%.bbappend @@ -8,8 +8,8 @@ do_install:append:rpi () { PITFT="${@bb.utils.contains("MACHINE_FEATURES", "pitft", "1", "0", d)}" if [ "${PITFT}" = "1" ]; then install -d ${D}/${sysconfdir}/X11/xorg.conf.d/ - install -m 0644 ${WORKDIR}/xorg.conf.d/98-pitft.conf ${D}/${sysconfdir}/X11/xorg.conf.d/ - install -m 0644 ${WORKDIR}/xorg.conf.d/99-calibration.conf ${D}/${sysconfdir}/X11/xorg.conf.d/ + install -m 0644 ${UNPACKDIR}/xorg.conf.d/98-pitft.conf ${D}/${sysconfdir}/X11/xorg.conf.d/ + install -m 0644 ${UNPACKDIR}/xorg.conf.d/99-calibration.conf ${D}/${sysconfdir}/X11/xorg.conf.d/ fi } diff --git a/recipes-kernel/linux/files/0001-gcc-plugins-Reorganize-gimple-includes-for-GCC-13.patch b/recipes-kernel/linux/files/0001-gcc-plugins-Reorganize-gimple-includes-for-GCC-13.patch deleted file mode 100644 index 4f6468761..000000000 --- a/recipes-kernel/linux/files/0001-gcc-plugins-Reorganize-gimple-includes-for-GCC-13.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 32f53700aeef2f5c7797ddda66348fc0b29e1047 Mon Sep 17 00:00:00 2001 -From: Kees Cook -Date: Wed, 18 Jan 2023 12:21:35 -0800 -Subject: [PATCH] gcc-plugins: Reorganize gimple includes for GCC 13 - -The gimple-iterator.h header must be included before gimple-fold.h -starting with GCC 13. Reorganize gimple headers to work for all GCC -versions. - -Reported-by: Palmer Dabbelt -Acked-by: Palmer Dabbelt -Link: https://lore.kernel.org/all/20230113173033.4380-1-palmer@rivosinc.com/ -Cc: linux-hardening@vger.kernel.org -Signed-off-by: Kees Cook ---- -Upstream-Status: Pending - - scripts/gcc-plugins/gcc-common.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/scripts/gcc-plugins/gcc-common.h b/scripts/gcc-plugins/gcc-common.h -index 0c087614fc3e..27770c31214c 100644 ---- a/scripts/gcc-plugins/gcc-common.h -+++ b/scripts/gcc-plugins/gcc-common.h -@@ -77,8 +77,10 @@ - #include "varasm.h" - #include "stor-layout.h" - #include "internal-fn.h" -+#include "gimple.h" - #include "gimple-expr.h" - #include "gimple-fold.h" -+#include "gimple-iterator.h" - #include "context.h" - #include "tree-ssa-alias.h" - #include "tree-ssa.h" -@@ -91,11 +93,9 @@ - #include "tree-eh.h" - #include "stmt.h" - #include "gimplify.h" --#include "gimple.h" - #include "tree-ssa-operands.h" - #include "tree-phinodes.h" - #include "tree-cfg.h" --#include "gimple-iterator.h" - #include "gimple-ssa.h" - #include "ssa-iterators.h" - --- -2.39.1 - diff --git a/recipes-kernel/linux/files/raspberrypi4-64/rpi4-64-kernel-misc.cfg b/recipes-kernel/linux/files/raspberrypi4-64/rpi4-64-kernel-misc.cfg deleted file mode 100644 index fd97ed71f..000000000 --- a/recipes-kernel/linux/files/raspberrypi4-64/rpi4-64-kernel-misc.cfg +++ /dev/null @@ -1,2 +0,0 @@ -# see emmc node -CONFIG_MMC_SDHCI_IPROC=y diff --git a/recipes-kernel/linux/files/rpi.scc b/recipes-kernel/linux/files/rpi.scc deleted file mode 100644 index bb6fffd97..000000000 --- a/recipes-kernel/linux/files/rpi.scc +++ /dev/null @@ -1 +0,0 @@ -patch 0001-gcc-plugins-Reorganize-gimple-includes-for-GCC-13.patch diff --git a/recipes-kernel/linux/linux-raspberrypi-v7_5.15.bb b/recipes-kernel/linux/linux-raspberrypi-v7_5.15.bb deleted file mode 100644 index 788398514..000000000 --- a/recipes-kernel/linux/linux-raspberrypi-v7_5.15.bb +++ /dev/null @@ -1,6 +0,0 @@ -# SPDX-FileCopyrightText: Andrei Gherzan -# -# SPDX-License-Identifier: MIT - -require linux-raspberrypi-v7.inc -require linux-raspberrypi_5.15.bb diff --git a/recipes-kernel/linux/linux-raspberrypi_5.15.bb b/recipes-kernel/linux/linux-raspberrypi_5.15.bb deleted file mode 100644 index 3f167bb29..000000000 --- a/recipes-kernel/linux/linux-raspberrypi_5.15.bb +++ /dev/null @@ -1,32 +0,0 @@ -LINUX_VERSION ?= "5.15.92" -LINUX_RPI_BRANCH ?= "rpi-5.15.y" -LINUX_RPI_KMETA_BRANCH ?= "yocto-5.15" - -SRCREV_machine = "14b35093ca68bf2c81bbc90aace5007142b40b40" -SRCREV_meta = "509f4b9d68337f103633d48b621c1c9aa0dc975d" - -KMETA = "kernel-meta" - -SRC_URI = " \ - git://github.com/raspberrypi/linux.git;name=machine;branch=${LINUX_RPI_BRANCH};protocol=https \ - git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=${LINUX_RPI_KMETA_BRANCH};destsuffix=${KMETA} \ - file://rpi.scc \ - file://powersave.cfg \ - file://android-drivers.cfg \ - " - -require linux-raspberrypi.inc - -KERNEL_DTC_FLAGS += "-@ -H epapr" - -RDEPENDS:${KERNEL_PACKAGE_NAME}:raspberrypi-armv7:append = " ${RASPBERRYPI_v7_KERNEL_PACKAGE_NAME}" -RDEPENDS:${KERNEL_PACKAGE_NAME}-base:raspberrypi-armv7:append = " ${RASPBERRYPI_v7_KERNEL_PACKAGE_NAME}-base" -RDEPENDS:${KERNEL_PACKAGE_NAME}-image:raspberrypi-armv7:append = " ${RASPBERRYPI_v7_KERNEL_PACKAGE_NAME}-image" -RDEPENDS:${KERNEL_PACKAGE_NAME}-dev:raspberrypi-armv7:append = " ${RASPBERRYPI_v7_KERNEL_PACKAGE_NAME}-dev" -RDEPENDS:${KERNEL_PACKAGE_NAME}-vmlinux:raspberrypi-armv7:append = " ${RASPBERRYPI_v7_KERNEL_PACKAGE_NAME}-vmlinux" -RDEPENDS:${KERNEL_PACKAGE_NAME}-modules:raspberrypi-armv7:append = " ${RASPBERRYPI_v7_KERNEL_PACKAGE_NAME}-modules" -RDEPENDS:${KERNEL_PACKAGE_NAME}-dbg:raspberrypi-armv7:append = " ${RASPBERRYPI_v7_KERNEL_PACKAGE_NAME}-dbg" - -DEPLOYDEP = "" -DEPLOYDEP:raspberrypi-armv7 = "${RASPBERRYPI_v7_KERNEL}:do_deploy" -do_deploy[depends] += "${DEPLOYDEP}"