Re: [PATCH] kbuild: save ARCH & CROSS_COMPILE when building a kernel

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 2009-07-20 at 12:01 +0200, Sam Ravnborg wrote:

> From 9e27e311540fbe0c31d9cdfe731ad60a54ad1202 Mon Sep 17 00:00:00 2001
> From: Sam Ravnborg <sam@xxxxxxxxxxxx>
> Date: Mon, 20 Jul 2009 11:49:54 +0200
> Subject: [PATCH] kbuild: save ARCH & CROSS_COMPILE when building a kernel
> 
> When building a kernel for a different architecture
> kbuild requires the user always to specify ARCH and
> CROSS_COMPILE on the command-line.
> 
> We use the asm symlink to detect if user forgets to
> specify the correct ARCH value - but that symlink
> is about to die. And we do now want to loose this check.
> 
> This patch save the settings of ARCH and CROSS_COMPILE
> in a file named ".kbuild".
> The settings are saved during "make *config" time
> and always read.
> 
> If user try to change the settings we error out.
> 
> This works both for plain builds and for O=...
> builds.
> So now you can do:
> $ mkdir sparc64
> $ make O=sparc64 ARCH=sparc64 CROSS_COMPILE=sparc64-linux- defconfig
> $ cd sparc64
> $ make
> 
> Notice that you no longer need to tell kbuild
> the settings of ARCH and CROSS_COMPILE when you type make
> in the output directory.
> Likewise for plain builds where you do not use O=...

If I were to do:

$ make O=foo-build INSTALL_MOD_STRIP=1 modules_install install

after that, would that still use the CROSS_COMPILE setting used before?

If so, that would break my build. Because arch/x86/boot/install.sh does:

if [ -x ~/bin/${CROSS_COMPILE}installkernel ]; then exec ~/bin/${CROSS_COMPILE}installkernel "$@"; fi

Which will not match my:

make CROSS_COMPILE="distcc ${ARCH}-linux-" -j $DISTCC_SLOTS "$@"

even when $ARCH is the right one for the machine in question.



--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux&nblp;USB Development]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite Secrets]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux