From mboxrd@z Thu Jan 1 00:00:00 1970 From: ricardohenrylee@gmail.com (Richard H Lee) Date: Sat, 03 Nov 2012 00:37:12 +0000 Subject: Building linux headers in an non-linux environment Message-ID: <50946738.5000806@gmail.com> To: kernelnewbies@lists.kernelnewbies.org List-Id: kernelnewbies.lists.kernelnewbies.org I'm trying to install linux headers for cygwin using crostool-ng. ct-ng basically invokes the line: make -C /home/richard/scratch/x86linux/.build/src/linux-3.5 O=/home/richard/scratch/x86linux/.build/i386-unknown-linux-gnu/build/build-kernel-headers ARCH=x86 INSTALL_HDR_PATH=/home/richard/x-tools/i386-unknown-linux-gnu/i386-unknown-linux-gnu/sysroot/usr V=1 headers_install and it seems to have checked out v3.5 of the linux kernel. The problem is that making the headers seems to require an existing set of headers already installed. The required headers seem to be in the include/ and arch/[target]/ directories. What is the "correct" way to get the Makefile to use the source tree as the source for the linux headers? In the top-level Makefile, I can see the following variable LINUXINCLUDE := -I$(srctree)/arch/$(hdr-arch)/include \ -Iarch/$(hdr-arch)/include/generated -Iinclude \ $(if $(KBUILD_SRC), -I$(srctree)/include) \ -include $(srctree)/include/linux/kconfig.h but I'm not sure how to get this variable picked up. And I don't exactly know what to do with KBUILD_SRC.