Message ID | 20240522143014.862964-1-amikan@ilbers.de |
---|---|
State | Accepted, archived |
Headers | show |
Series | [v2] linux: Allow extra make arguments | expand |
On Wed, 2024-05-22 at 17:30 +0300, Anton Mikanovich wrote: > Add a new variable into TEMPLATE_VARS and the command line - > KERNEL_EXTRA_BUILDARGS which allows to pass additional arguments for > kernel building (e.g., LOADADDR=0xC2000040 for stm32mp15x). > > Signed-off-by: Ilia Skochilov <iskochilov@ilbers.de> > Signed-off-by: Anton Mikanovich <amikan@ilbers.de> > --- > Changes since v1: > - Added usecase in commit message > > meta/recipes-kernel/linux/files/debian/isar/build.tmpl | 4 ++-- > meta/recipes-kernel/linux/linux-custom.inc | 4 ++++ > 2 files changed, 6 insertions(+), 2 deletions(-) > > diff --git a/meta/recipes-kernel/linux/files/debian/isar/build.tmpl > b/meta/recipes-kernel/linux/files/debian/isar/build.tmpl > index 81a6ba8a..bafc5ca4 100644 > --- a/meta/recipes-kernel/linux/files/debian/isar/build.tmpl > +++ b/meta/recipes-kernel/linux/files/debian/isar/build.tmpl > @@ -22,9 +22,9 @@ do_build() { > sed -i "s/@KR@/${KR}/g" ${S}/debian/control ${S}/debian/linux- > image-${KERNEL_NAME_PROVIDED}.* > > if echo "${DEB_BUILD_PROFILES}" | grep -q "kernel"; then # Build > kernel scripts and tools > - ${MAKE} O=${KERNEL_BUILD_DIR} ${PARALLEL_MAKE} > KCFLAGS="${KCFLAGS}" KAFLAGS="${KAFLAGS}" > + ${MAKE} O=${KERNEL_BUILD_DIR} ${PARALLEL_MAKE} > ${KERNEL_EXTRA_BUILDARGS} KCFLAGS="${KCFLAGS}" KAFLAGS="${KAFLAGS}" > elif echo "${DEB_BUILD_PROFILES}" | grep -q "kbuild"; then # > Build kernel scripts and tools > - ${MAKE} O=${KERNEL_BUILD_DIR} ${PARALLEL_MAKE} > KCFLAGS="${KCFLAGS}" KAFLAGS="${KAFLAGS}" scripts > + ${MAKE} O=${KERNEL_BUILD_DIR} ${PARALLEL_MAKE} > ${KERNEL_EXTRA_BUILDARGS} KCFLAGS="${KCFLAGS}" KAFLAGS="${KAFLAGS}" > scripts > if grep -q -E > "CONFIG_STACK_VALIDATION=y|CONFIG_HAVE_OBJTOOL=y" > ${KERNEL_BUILD_DIR}/.config && [ -d "tools/objtool" ]; then > ${MAKE} O=${KERNEL_BUILD_DIR} ${PARALLEL_MAKE} > KCFLAGS="${KCFLAGS}" KAFLAGS="${KAFLAGS}" tools/objtool || true > fi > diff --git a/meta/recipes-kernel/linux/linux-custom.inc > b/meta/recipes-kernel/linux/linux-custom.inc > index 0d222332..48efad03 100644 > --- a/meta/recipes-kernel/linux/linux-custom.inc > +++ b/meta/recipes-kernel/linux/linux-custom.inc > @@ -82,6 +82,7 @@ TEMPLATE_VARS += " \ > KCFLAGS \ > KAFLAGS \ > DISTRIBUTOR \ > + KERNEL_EXTRA_BUILDARGS \ > " > > inherit dpkg > @@ -92,6 +93,9 @@ inherit kbuildtarget > KCFLAGS ?= "-fdebug-prefix-map=${CURDIR}=." > KAFLAGS ?= "-fdebug-prefix-map=${CURDIR}=." > > +# Add extra arguments to the kernel build > +KERNEL_EXTRA_BUILDARGS ??= "" > + > # Derive name of the kernel packages from the name of this recipe > KERNEL_NAME_PROVIDED ?= "${@ d.getVar('BPN').partition('linux- > ')[2]}" > > -- > 2.34.1 > Applied to next.
diff --git a/meta/recipes-kernel/linux/files/debian/isar/build.tmpl b/meta/recipes-kernel/linux/files/debian/isar/build.tmpl index 81a6ba8a..bafc5ca4 100644 --- a/meta/recipes-kernel/linux/files/debian/isar/build.tmpl +++ b/meta/recipes-kernel/linux/files/debian/isar/build.tmpl @@ -22,9 +22,9 @@ do_build() { sed -i "s/@KR@/${KR}/g" ${S}/debian/control ${S}/debian/linux-image-${KERNEL_NAME_PROVIDED}.* if echo "${DEB_BUILD_PROFILES}" | grep -q "kernel"; then # Build kernel scripts and tools - ${MAKE} O=${KERNEL_BUILD_DIR} ${PARALLEL_MAKE} KCFLAGS="${KCFLAGS}" KAFLAGS="${KAFLAGS}" + ${MAKE} O=${KERNEL_BUILD_DIR} ${PARALLEL_MAKE} ${KERNEL_EXTRA_BUILDARGS} KCFLAGS="${KCFLAGS}" KAFLAGS="${KAFLAGS}" elif echo "${DEB_BUILD_PROFILES}" | grep -q "kbuild"; then # Build kernel scripts and tools - ${MAKE} O=${KERNEL_BUILD_DIR} ${PARALLEL_MAKE} KCFLAGS="${KCFLAGS}" KAFLAGS="${KAFLAGS}" scripts + ${MAKE} O=${KERNEL_BUILD_DIR} ${PARALLEL_MAKE} ${KERNEL_EXTRA_BUILDARGS} KCFLAGS="${KCFLAGS}" KAFLAGS="${KAFLAGS}" scripts if grep -q -E "CONFIG_STACK_VALIDATION=y|CONFIG_HAVE_OBJTOOL=y" ${KERNEL_BUILD_DIR}/.config && [ -d "tools/objtool" ]; then ${MAKE} O=${KERNEL_BUILD_DIR} ${PARALLEL_MAKE} KCFLAGS="${KCFLAGS}" KAFLAGS="${KAFLAGS}" tools/objtool || true fi diff --git a/meta/recipes-kernel/linux/linux-custom.inc b/meta/recipes-kernel/linux/linux-custom.inc index 0d222332..48efad03 100644 --- a/meta/recipes-kernel/linux/linux-custom.inc +++ b/meta/recipes-kernel/linux/linux-custom.inc @@ -82,6 +82,7 @@ TEMPLATE_VARS += " \ KCFLAGS \ KAFLAGS \ DISTRIBUTOR \ + KERNEL_EXTRA_BUILDARGS \ " inherit dpkg @@ -92,6 +93,9 @@ inherit kbuildtarget KCFLAGS ?= "-fdebug-prefix-map=${CURDIR}=." KAFLAGS ?= "-fdebug-prefix-map=${CURDIR}=." +# Add extra arguments to the kernel build +KERNEL_EXTRA_BUILDARGS ??= "" + # Derive name of the kernel packages from the name of this recipe KERNEL_NAME_PROVIDED ?= "${@ d.getVar('BPN').partition('linux-')[2]}"