Split build of kernel headers and kernel image into two source trees.
Kernel headers are built in $(TOOL_BUILD_DIR)
Kernel build is in $(PROJECT_BUILD_DIR)
Make sure that kernel patches are applied to the kernel tree in
$(PROJECT_BUILD_DIR)
Add board specific patches, if available.
normalize the passed in ARCH, from the looks, so we have to normalize it manually. XXX: FIXME upstream via a simple shell script like the cc-checks!
FIXME: flesh this out..
LINUX_VERSION.
Use LINUX_HEADERS_VERSION instead of LINUX_VERSION as that variable is used
for the actual kernel version used which might be different than the headers
version.
E.G. LINUX_VERSION is set in the target/device/* files. If this version
doesn't match the selected kernel headers version the patches won't be applied.
buildroot, the header files will be re-extracted, but they will not be put in
exactly the right place if the name of the extracted directory includes the
kernel version numbers.
For example, linux-libc-headers-2.4.25.tar.bz2 will be extracted to
$(TOOLCHAIN_BUILD_DIR)/linux-libc-headers-2.4.25, and then the mv command will
move the newly extracted headers into the already existing
$(TOOLCHAIN_BUILD_DIR)/linux directory, instead of replacing that directory as
desired.
The fix is to first remove the $(TOOLCHAIN_BUILD_DIR)/linux directory and then
do the mv command.
http://bugs.busybox.net/view.php?id=296