Mailing List Archive

Building kernel without messing the kernel source tree
I am looking to compile the Linux kernel and send the work and output to another directory, thereby leaving the kernel source tree directory clean.

If I build gcc or other software using configure script, I can go to another directory and run, for instance, ~/builds/gcc-8.3.0/configure --prefix=/usr ... without dirtying the source directory.

This would likely be a cross-compile from NetBSD or FreeBSD.

Could I do make -C ~/builds/linux-4.19.105 ARCH=x86_64 CROSS_COMPILE=x86_64-linux-musl- ... ?

That would be my first thought, seeking to avoid having to clean after every run, successful or unsuccessful. Avoid the worry about whether clean, distclean or mrproper work.

I would like to compile for x86_64 and also i486 (or would that be i386)?

Is this a question for gentoo-user or gentoo-dev?

The "make" I use is built from GNU source, not /usr/bin/make as is found on NetBSD or FreeBSD.

Tom
Re: Building kernel without messing the kernel source tree [ In reply to ]
Le 14/05/21 à 11:47, Thomas Mueller a tapoté :
> I am looking to compile the Linux kernel and send the work and output
> to another directory, thereby leaving the kernel source tree
> directory clean.

You should have a look to KBUILD_OUTPUT environment variable.

https://www.kernel.org/doc/html/latest/kbuild/kbuild.html#kbuild-output
Re: Building kernel without messing the kernel source tree [ In reply to ]
from netfab at Fri, 14 May 2021 11:59:37 +0200:

> Le 14/05/21 à 11:47, Thomas Mueller a tapoté :
> > I am looking to compile the Linux kernel and send the work and output
> > to another directory, thereby leaving the kernel source tree
> > directory clean.

> You should have a look to KBUILD_OUTPUT environment variable.

> https://www.kernel.org/doc/html/latest/kbuild/kbuild.html#kbuild-output

I just looked in Documentation/kbuild/kbuild.txt, and the information was right there.

I should have noticed it, even though it was mixed in with other environment variables.

Thanks for pointing it out!

Tom