Add KERNEL_EXTRA_ARGS parameter
With recent kernel versions, some ARM configurations need may fail to build with errors like this: multiple load addresses: 0x80008000 0x80008000 This is incompatible with uImages Specify LOADADDR on the commandline to build an uImage We cannot pass this information in EXTRA_OEMAKE, as "meta/classes/kernel.bbclass" explicitly ignores all EXTRA_OEMAKE settings. So add KERNEL_EXTRA_ARGS parameter so affected boards can add for example KERNEL_EXTRA_ARGS = "LOADADDR=0x80008000" to their configuration. We make this general enough so other needed command line options can be passed as well when compiling the kernel. (From OE-Core rev: e3cdd0aafb9081cd7f1f98490087c1157a3d7403) Signed-off-by: Wolfgang Denk <wd@denx.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
86d6ec51f0
commit
8264863ea0
|
@ -57,6 +57,9 @@ PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||||
UBOOT_ENTRYPOINT ?= "20008000"
|
UBOOT_ENTRYPOINT ?= "20008000"
|
||||||
UBOOT_LOADADDRESS ?= "${UBOOT_ENTRYPOINT}"
|
UBOOT_LOADADDRESS ?= "${UBOOT_ENTRYPOINT}"
|
||||||
|
|
||||||
|
# Some Linux kenrel configurations need additional parameters on the command line
|
||||||
|
KERNEL_EXTRA_ARGS ?= ""
|
||||||
|
|
||||||
# For the kernel, we don't want the '-e MAKEFLAGS=' in EXTRA_OEMAKE.
|
# For the kernel, we don't want the '-e MAKEFLAGS=' in EXTRA_OEMAKE.
|
||||||
# We don't want to override kernel Makefile variables from the environment
|
# We don't want to override kernel Makefile variables from the environment
|
||||||
EXTRA_OEMAKE = ""
|
EXTRA_OEMAKE = ""
|
||||||
|
@ -71,7 +74,7 @@ KERNEL_IMAGETYPE_FOR_MAKE = "${@(lambda s: s[:-3] if s[-3:] == ".gz" else s)(d.g
|
||||||
|
|
||||||
kernel_do_compile() {
|
kernel_do_compile() {
|
||||||
unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE
|
unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE
|
||||||
oe_runmake ${KERNEL_IMAGETYPE_FOR_MAKE} ${KERNEL_ALT_IMAGETYPE} CC="${KERNEL_CC}" LD="${KERNEL_LD}"
|
oe_runmake ${KERNEL_IMAGETYPE_FOR_MAKE} ${KERNEL_ALT_IMAGETYPE} CC="${KERNEL_CC}" LD="${KERNEL_LD}" ${KERNEL_EXTRA_ARGS}
|
||||||
if test "${KERNEL_IMAGETYPE_FOR_MAKE}.gz" = "${KERNEL_IMAGETYPE}"; then
|
if test "${KERNEL_IMAGETYPE_FOR_MAKE}.gz" = "${KERNEL_IMAGETYPE}"; then
|
||||||
gzip -9c < "${KERNEL_IMAGETYPE_FOR_MAKE}" > "${KERNEL_OUTPUT}"
|
gzip -9c < "${KERNEL_IMAGETYPE_FOR_MAKE}" > "${KERNEL_OUTPUT}"
|
||||||
fi
|
fi
|
||||||
|
@ -80,7 +83,7 @@ kernel_do_compile() {
|
||||||
do_compile_kernelmodules() {
|
do_compile_kernelmodules() {
|
||||||
unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE
|
unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE
|
||||||
if (grep -q -i -e '^CONFIG_MODULES=y$' .config); then
|
if (grep -q -i -e '^CONFIG_MODULES=y$' .config); then
|
||||||
oe_runmake ${PARALLEL_MAKE} modules CC="${KERNEL_CC}" LD="${KERNEL_LD}"
|
oe_runmake ${PARALLEL_MAKE} modules CC="${KERNEL_CC}" LD="${KERNEL_LD}" ${KERNEL_EXTRA_ARGS}
|
||||||
else
|
else
|
||||||
bbnote "no modules to compile"
|
bbnote "no modules to compile"
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Reference in New Issue