From 4f5cf5dc8de803407fa9d3ffa13994309edde985 Mon Sep 17 00:00:00 2001 From: Scott Murray Date: Tue, 3 May 2022 14:22:51 -0400 Subject: Enable usrmerge An increasing number of advanced systemd features with respect to immutable systems and sandboxing are effectively dependent on the usrmerge distro feature, so it seems reasonable to enable it since upstream AGL currently requires systemd usage. See SPEC-4352 for more detailed discussion of rationale. Changes: - Add usrmerge to AGL_DEFAULT_DISTRO_FEATURES in poky-agl.conf. - Add workarounds via bbappends in meta-agl-bsp for the assumption of using /lib instead of ${nonarch_base_libdir} in various meta-rcar-gen3 kernel module recipes. This will be followed up with upstream to hopefully fix the recipes. - Replaced some explicit /sbin usage with ${sbindir} in the initramfs-netboot recipe used by the agl-netboot feature to avoid packaging errors. Bug-AGL: SPEC-4352 Signed-off-by: Scott Murray Change-Id: Ibc0ae1e2628aca6474401e0852bbb97085f4ecfa Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/27437 Reviewed-by: Jan-Simon Moeller Tested-by: Jan-Simon Moeller Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account --- .../gles-module/gles-user-module.bbappend | 9 ++++++++- .../kernel-module-gles/kernel-module-gles.bbappend | 15 +++++++++++++++ .../kernel-module-mmngr/kernel-module-mmngr.bbappend | 9 +++++++++ .../kernel-module-mmngr/kernel-module-mmngrbuf.bbappend | 9 +++++++++ .../kernel-module-uvcs/kernel-module-uvcs-drv.bbappend | 9 +++++++++ .../kernel-module-vsp2driver.bbappend | 14 ++++++++++++++ .../kernel-module-vspm/kernel-module-vspm.bbappend | 8 ++++++++ .../kernel-module-vspmif/kernel-module-vspmif.bbappend | 15 +++++++++++++++ 8 files changed, 87 insertions(+), 1 deletion(-) create mode 100644 meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-vsp2driver/kernel-module-vsp2driver.bbappend create mode 100644 meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-vspm/kernel-module-vspm.bbappend (limited to 'meta-agl-bsp/meta-rcar-gen3') diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-graphics/gles-module/gles-user-module.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-graphics/gles-module/gles-user-module.bbappend index 66b9c46ed..bd7fdf207 100644 --- a/meta-agl-bsp/meta-rcar-gen3/recipes-graphics/gles-module/gles-user-module.bbappend +++ b/meta-agl-bsp/meta-rcar-gen3/recipes-graphics/gles-module/gles-user-module.bbappend @@ -3,5 +3,12 @@ require checksum_control.inc RDEPENDS:${PN}:append = " wayland-wsegl" do_install:append(){ - sed -i 's/GROUP="video"/GROUP="display"/g' ${D}${sysconfdir}/udev/rules.d/72-pvr-seat.rules + sed -i 's/GROUP="video"/GROUP="display"/g' ${D}${sysconfdir}/udev/rules.d/72-pvr-seat.rules + + # Work around upstream not using ${nonarch_base_libdir}/firmware + if ${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', 'true', 'false', d)}; then + install -d ${D}${nonarch_base_libdir}/ + mv ${D}/lib/firmware ${D}${nonarch_base_libdir}/ + rm -rf ${D}/lib + fi } diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-gles/kernel-module-gles.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-gles/kernel-module-gles.bbappend index b8882ae49..6b9768394 100644 --- a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-gles/kernel-module-gles.bbappend +++ b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-gles/kernel-module-gles.bbappend @@ -4,3 +4,18 @@ module_do_compile:prepend() { cd ${S}/build/linux/config/compilers cp aarch64-linux-gnu.mk ${TARGET_SYS}.mk } + +do_install:append() { + # Work around upstream not using ${nonarch_base_libdir}/modules + if ${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', 'true', 'false', d)}; then + install -d ${D}${nonarch_base_libdir}/ + mv ${D}/lib/modules ${D}${nonarch_base_libdir}/ + rm -rf ${D}/lib + fi +} + +# Required to guarantee the module goes into the expected +# kernel-module-gles package and doesn't end up packaged in +# kernel-module-pvrsvkm by the default behavior. Can be removed +# if upstream correctly use ${nonarch_base_libdir} themselves. +FILES:${PN} += "${nonarch_base_libdir}/modules/${KERNEL_VERSION}/extra/pvrsrvkm.ko" diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-mmngr/kernel-module-mmngr.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-mmngr/kernel-module-mmngr.bbappend index 98b8e92c3..6e4b9a024 100644 --- a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-mmngr/kernel-module-mmngr.bbappend +++ b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-mmngr/kernel-module-mmngr.bbappend @@ -1,2 +1,11 @@ KERNEL_MODULE_AUTOLOAD:append = " mmngr" KERNEL_MODULE_PACKAGE_SUFFIX = "" + +do_install:append() { + # Work around upstream not using ${nonarch_base_libdir}/modules + if ${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', 'true', 'false', d)}; then + install -d ${D}${nonarch_base_libdir}/ + mv ${D}/lib/modules ${D}${nonarch_base_libdir}/ + rm -rf ${D}/lib + fi +} diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-mmngr/kernel-module-mmngrbuf.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-mmngr/kernel-module-mmngrbuf.bbappend index fbff56fff..d190595a7 100644 --- a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-mmngr/kernel-module-mmngrbuf.bbappend +++ b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-mmngr/kernel-module-mmngrbuf.bbappend @@ -1,2 +1,11 @@ KERNEL_MODULE_AUTOLOAD:append = " mmngrbuf" KERNEL_MODULE_PACKAGE_SUFFIX = "" + +do_install:append() { + # Work around upstream not using ${nonarch_base_libdir}/modules + if ${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', 'true', 'false', d)}; then + install -d ${D}${nonarch_base_libdir}/ + mv ${D}/lib/modules ${D}${nonarch_base_libdir}/ + rm -rf ${D}/lib + fi +} diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-uvcs/kernel-module-uvcs-drv.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-uvcs/kernel-module-uvcs-drv.bbappend index 1fa00a859..a0ffc20ce 100644 --- a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-uvcs/kernel-module-uvcs-drv.bbappend +++ b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-uvcs/kernel-module-uvcs-drv.bbappend @@ -1,3 +1,12 @@ require checksum_control.inc KERNEL_MODULE_AUTOLOAD = "uvcs_drv" + +do_install:append() { + # Work around upstream not using ${nonarch_base_libdir}/modules + if ${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', 'true', 'false', d)}; then + install -d ${D}${nonarch_base_libdir}/ + mv ${D}/lib/modules ${D}${nonarch_base_libdir}/ + rm -rf ${D}/lib + fi +} diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-vsp2driver/kernel-module-vsp2driver.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-vsp2driver/kernel-module-vsp2driver.bbappend new file mode 100644 index 000000000..f6a756d04 --- /dev/null +++ b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-vsp2driver/kernel-module-vsp2driver.bbappend @@ -0,0 +1,14 @@ +do_install:append() { + # Work around upstream not using ${nonarch_base_libdir}/modules + if ${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', 'true', 'false', d)}; then + install -d ${D}${nonarch_base_libdir}/ + mv ${D}/lib/modules ${D}${nonarch_base_libdir}/ + rm -rf ${D}/lib + fi +} + +# Required to guarantee the module goes into the expected +# kernel-module-vsp2driver package and doesn't end up packaged in +# kernel-module-vsp2 by the default behavior. Can be removed if +# upstream correctly use ${nonarch_base_libdir} themselves. +FILES:${PN} += "${nonarch_base_libdir}/modules/${KERNEL_VERSION}/extra/vsp2.ko" diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-vspm/kernel-module-vspm.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-vspm/kernel-module-vspm.bbappend new file mode 100644 index 000000000..aebf44cc4 --- /dev/null +++ b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-vspm/kernel-module-vspm.bbappend @@ -0,0 +1,8 @@ +do_install:append() { + # Work around upstream not using ${nonarch_base_libdir}/modules + if ${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', 'true', 'false', d)}; then + install -d ${D}${nonarch_base_libdir}/ + mv ${D}/lib/modules ${D}${nonarch_base_libdir}/ + rm -rf ${D}/lib + fi +} diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-vspmif/kernel-module-vspmif.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-vspmif/kernel-module-vspmif.bbappend index 5efe01045..214b67c0b 100644 --- a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-vspmif/kernel-module-vspmif.bbappend +++ b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-vspmif/kernel-module-vspmif.bbappend @@ -1,2 +1,17 @@ KERNEL_MODULE_AUTOLOAD:append = " vspm_if" KERNEL_MODULE_PACKAGE_SUFFIX = "" + +do_install:append() { + # Work around upstream not using ${nonarch_base_libdir}/modules + if ${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', 'true', 'false', d)}; then + install -d ${D}${nonarch_base_libdir}/ + mv ${D}/lib/modules ${D}${nonarch_base_libdir}/ + rm -rf ${D}/lib + fi +} + +# Required to guarantee the module goes into the expected +# kernel-module-vspmif package and doesn't end up packaged in +# kernel-module-vspm-if by the default behavior. Can be removed if +# upstream correctly use ${nonarch_base_libdir} themselves. +FILES:${PN} += "${nonarch_base_libdir}/modules/${KERNEL_VERSION}/extra/vspm_if.ko" -- cgit 1.2.3-korg