Message ID | 20240522120220.857796-1-amikan@ilbers.de |
---|---|
State | Superseded, archived |
Headers | show |
Series | linux: Allow extra make arguments | expand |
On 22.05.24 14:02, 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. Which use cases do you have in mind? Pleaes always describe the reasons for a patch. Jan > > Signed-off-by: Ilia Skochilov <iskochilov@ilbers.de> > Signed-off-by: Anton Mikanovich <amikan@ilbers.de> > --- > 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]}" >
22/05/2024 15:08, Jan Kiszka wrote: > On 22.05.24 14:02, 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. > Which use cases do you have in mind? Please always describe the reasons > for a patch. > > Jan The real usage of this improvement will be shared soon in stm32mp157d-dk1 board support patchset where LOADADDR=0xC2000040 is applied.
On 22.05.24 14:22, Anton Mikanovich wrote: > 22/05/2024 15:08, Jan Kiszka wrote: >> On 22.05.24 14:02, 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. >> Which use cases do you have in mind? Please always describe the reasons >> for a patch. >> >> Jan > > The real usage of this improvement will be shared soon in > stm32mp157d-dk1 board > support patchset where LOADADDR=0xC2000040 is applied. > Uh, that's legacy stuff... OK, please clarify this use case. Nowadays, you describe things in the .config, and that's it. Jan
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]}"