From 6f63fe25adb4935a71255823891749fed0fbdeb9 Mon Sep 17 00:00:00 2001 From: Jens Rehsack Date: Tue, 7 Apr 2020 12:32:47 +0200 Subject: [PATCH] linux-qoriq: harmonize kernel recipes Move everything which is common used of linux-qoriq kernels into linux-qoriq.inc and require it from both existing kernel recipes. This should avoid copy'n'waste even for future kernels. Signed-off-by: Jens Rehsack --- recipes-kernel/linux/linux-qoriq.inc | 65 ++++++++++++++++++++++ recipes-kernel/linux/linux-qoriq_4.14.bb | 64 +--------------------- recipes-kernel/linux/linux-qoriq_4.19.bb | 68 +----------------------- 3 files changed, 68 insertions(+), 129 deletions(-) create mode 100644 recipes-kernel/linux/linux-qoriq.inc diff --git a/recipes-kernel/linux/linux-qoriq.inc b/recipes-kernel/linux/linux-qoriq.inc new file mode 100644 index 00000000..7f70260a --- /dev/null +++ b/recipes-kernel/linux/linux-qoriq.inc @@ -0,0 +1,65 @@ +inherit kernel qoriq_build_64bit_kernel siteinfo +inherit fsl-kernel-localversion + +SUMMARY = "Linux Kernel for NXP QorIQ platforms" +SECTION = "kernel" +LICENSE = "GPLv2" + +S = "${WORKDIR}/git" + +DEPENDS_append = " libgcc" +# not put Images into /boot of rootfs, install kernel-image if needed +RDEPENDS_${KERNEL_PACKAGE_NAME}-base = "" + +KERNEL_CC_append = " ${TOOLCHAIN_OPTIONS}" +KERNEL_LD_append = " ${TOOLCHAIN_OPTIONS}" +KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT}" + +ZIMAGE_BASE_NAME = "zImage-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}" +ZIMAGE_BASE_NAME[vardepsexclude] = "DATETIME" + +SCMVERSION ?= "y" +LOCALVERSION = "" +DELTA_KERNEL_DEFCONFIG ?= "" +DELTA_KERNEL_DEFCONFIG_prepend_qoriq-arm64 = "lsdk.config " +DELTA_KERNEL_DEFCONFIG_prepend_fsl-lsch2-32b = "multi_v7_lpae.config multi_v8.config lsdk.config " +DELTA_KERNEL_DEFCONFIG_prepend_ls102xa = "multi_v7_lpae.config lsdk.config " + +do_merge_delta_config[depends] += "virtual/${TARGET_PREFIX}gcc:do_populate_sysroot bison-native:do_populate_sysroot" +do_merge_delta_config[dirs] = "${B}" + +do_merge_delta_config() { + # create config with make config + oe_runmake -C ${S} O=${B} ${KERNEL_DEFCONFIG} + + # check if bigendian is enabled + if [ "${SITEINFO_ENDIANNESS}" = "be" ]; then + echo "CONFIG_CPU_BIG_ENDIAN=y" >> .config + echo "CONFIG_MTD_CFI_BE_BYTE_SWAP=y" >> .config + fi + + # add config fragments + for deltacfg in ${DELTA_KERNEL_DEFCONFIG}; do + if [ -f ${S}/arch/${ARCH}/configs/${deltacfg} ]; then + oe_runmake -C ${S} O=${B} ${deltacfg} + elif [ -f "${WORKDIR}/${deltacfg}" ]; then + ${S}/scripts/kconfig/merge_config.sh -m .config ${WORKDIR}/${deltacfg} + elif [ -f "${deltacfg}" ]; then + ${S}/scripts/kconfig/merge_config.sh -m .config ${deltacfg} + fi + done + cp .config ${WORKDIR}/defconfig +} +addtask merge_delta_config before do_preconfigure after do_patch + +# The link of dts folder is needed for 32b compile of aarch64 targets(e.g. ls1043ardb-32b) +do_compile_prepend_fsl-lsch2-32b() { + ln -sfT ${STAGING_KERNEL_DIR}/arch/arm64/boot/dts/freescale ${STAGING_KERNEL_DIR}/arch/arm/boot/dts/freescale +} + +do_install_prepend_fsl-lsch2-32b() { + rm -f ${STAGING_KERNEL_DIR}/arch/arm/boot/dts/freescale +} + +FILES_${KERNEL_PACKAGE_NAME}-image += "/boot/zImage*" +COMPATIBLE_MACHINE = "(qoriq)" diff --git a/recipes-kernel/linux/linux-qoriq_4.14.bb b/recipes-kernel/linux/linux-qoriq_4.14.bb index 36c2e96b..33361131 100644 --- a/recipes-kernel/linux/linux-qoriq_4.14.bb +++ b/recipes-kernel/linux/linux-qoriq_4.14.bb @@ -1,9 +1,3 @@ -inherit kernel qoriq_build_64bit_kernel siteinfo -inherit fsl-kernel-localversion - -SUMMARY = "Linux Kernel for NXP QorIQ platforms" -SECTION = "kernel" -LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7" SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/linux;nobranch=1 \ @@ -12,60 +6,4 @@ SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/linux;nob " SRCREV = "d39cc9ffcbe5638b50f5f45698eb87a6c3a96eb3" -S = "${WORKDIR}/git" - -DEPENDS_append = " libgcc" -# not put Images into /boot of rootfs, install kernel-image if needed -RDEPENDS_${KERNEL_PACKAGE_NAME}-base = "" - -KERNEL_CC_append = " ${TOOLCHAIN_OPTIONS}" -KERNEL_LD_append = " ${TOOLCHAIN_OPTIONS}" -KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT}" - -ZIMAGE_BASE_NAME = "zImage-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}" -ZIMAGE_BASE_NAME[vardepsexclude] = "DATETIME" - -SCMVERSION ?= "y" -LOCALVERSION = "" -DELTA_KERNEL_DEFCONFIG ?= "" -DELTA_KERNEL_DEFCONFIG_prepend_qoriq-arm64 = "lsdk.config " -DELTA_KERNEL_DEFCONFIG_prepend_fsl-lsch2-32b = "multi_v7_lpae.config multi_v8.config lsdk.config " -DELTA_KERNEL_DEFCONFIG_prepend_ls102xa = "multi_v7_lpae.config lsdk.config " - -do_merge_delta_config[dirs] = "${B}" - -do_merge_delta_config() { - # create config with make config - oe_runmake -C ${S} O=${B} ${KERNEL_DEFCONFIG} - - # check if bigendian is enabled - if [ "${SITEINFO_ENDIANNESS}" = "be" ]; then - echo "CONFIG_CPU_BIG_ENDIAN=y" >> .config - echo "CONFIG_MTD_CFI_BE_BYTE_SWAP=y" >> .config - fi - - # add config fragments - for deltacfg in ${DELTA_KERNEL_DEFCONFIG}; do - if [ -f ${S}/arch/${ARCH}/configs/${deltacfg} ]; then - oe_runmake -C ${S} O=${B} ${deltacfg} - elif [ -f "${WORKDIR}/${deltacfg}" ]; then - ${S}/scripts/kconfig/merge_config.sh -m .config ${WORKDIR}/${deltacfg} - elif [ -f "${deltacfg}" ]; then - ${S}/scripts/kconfig/merge_config.sh -m .config ${deltacfg} - fi - done - cp .config ${WORKDIR}/defconfig -} -addtask merge_delta_config before do_preconfigure after do_patch - -# The link of dts folder is needed for 32b compile of aarch64 targets(e.g. ls1043ardb-32b) -do_compile_prepend_fsl-lsch2-32b() { - ln -sfT ${STAGING_KERNEL_DIR}/arch/arm64/boot/dts/freescale ${STAGING_KERNEL_DIR}/arch/arm/boot/dts/freescale -} - -do_install_prepend_fsl-lsch2-32b() { - rm -f ${STAGING_KERNEL_DIR}/arch/arm/boot/dts/freescale -} - -FILES_${KERNEL_PACKAGE_NAME}-image += "/boot/zImage*" -COMPATIBLE_MACHINE = "(qoriq)" +require recipes-kernel/linux/linux-qoriq.inc diff --git a/recipes-kernel/linux/linux-qoriq_4.19.bb b/recipes-kernel/linux/linux-qoriq_4.19.bb index 4c45f2c9..433e1b07 100644 --- a/recipes-kernel/linux/linux-qoriq_4.19.bb +++ b/recipes-kernel/linux/linux-qoriq_4.19.bb @@ -1,72 +1,8 @@ -inherit kernel qoriq_build_64bit_kernel siteinfo -inherit fsl-kernel-localversion - -SUMMARY = "Linux Kernel for NXP QorIQ platforms" -SECTION = "kernel" -LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/linux;nobranch=1 \ + file://0001-Makfefile-add-cflags.patch \ " SRCREV = "c5f3ab9ac163f5c86a5c1ed163afaf24f2eea669" -SRC_URI += " file://0001-Makfefile-add-cflags.patch \ -" -S = "${WORKDIR}/git" - -DEPENDS_append = " libgcc" -# not put Images into /boot of rootfs, install kernel-image if needed -RDEPENDS_${KERNEL_PACKAGE_NAME}-base = "" - -KERNEL_CC_append = " ${TOOLCHAIN_OPTIONS}" -KERNEL_LD_append = " ${TOOLCHAIN_OPTIONS}" -KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT}" - -ZIMAGE_BASE_NAME = "zImage-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}" -ZIMAGE_BASE_NAME[vardepsexclude] = "DATETIME" - -SCMVERSION ?= "y" -LOCALVERSION = "" -DELTA_KERNEL_DEFCONFIG ?= "" -DELTA_KERNEL_DEFCONFIG_prepend_qoriq-arm64 = "lsdk.config " -DELTA_KERNEL_DEFCONFIG_prepend_fsl-lsch2-32b = "multi_v7_lpae.config multi_v8.config lsdk.config " -DELTA_KERNEL_DEFCONFIG_prepend_ls102xa = "multi_v7_lpae.config lsdk.config " - -do_merge_delta_config[depends] += "virtual/${TARGET_PREFIX}gcc:do_populate_sysroot bison-native:do_populate_sysroot" -do_merge_delta_config[dirs] = "${B}" - -do_merge_delta_config() { - # create config with make config - oe_runmake -C ${S} O=${B} ${KERNEL_DEFCONFIG} - - # check if bigendian is enabled - if [ "${SITEINFO_ENDIANNESS}" = "be" ]; then - echo "CONFIG_CPU_BIG_ENDIAN=y" >> .config - echo "CONFIG_MTD_CFI_BE_BYTE_SWAP=y" >> .config - fi - - # add config fragments - for deltacfg in ${DELTA_KERNEL_DEFCONFIG}; do - if [ -f ${S}/arch/${ARCH}/configs/${deltacfg} ]; then - oe_runmake -C ${S} O=${B} ${deltacfg} - elif [ -f "${WORKDIR}/${deltacfg}" ]; then - ${S}/scripts/kconfig/merge_config.sh -m .config ${WORKDIR}/${deltacfg} - elif [ -f "${deltacfg}" ]; then - ${S}/scripts/kconfig/merge_config.sh -m .config ${deltacfg} - fi - done - cp .config ${WORKDIR}/defconfig -} -addtask merge_delta_config before do_preconfigure after do_patch - -# The link of dts folder is needed for 32b compile of aarch64 targets(e.g. ls1043ardb-32b) -do_compile_prepend_fsl-lsch2-32b() { - ln -sfT ${STAGING_KERNEL_DIR}/arch/arm64/boot/dts/freescale ${STAGING_KERNEL_DIR}/arch/arm/boot/dts/freescale -} - -do_install_prepend_fsl-lsch2-32b() { - rm -f ${STAGING_KERNEL_DIR}/arch/arm/boot/dts/freescale -} - -FILES_${KERNEL_PACKAGE_NAME}-image += "/boot/zImage*" -COMPATIBLE_MACHINE = "(qoriq)" +require recipes-kernel/linux/linux-qoriq.inc -- 2.40.1