buildenv target

Ruslan Ermilov ru at FreeBSD.org
Tue Feb 15 02:58:52 PST 2005


On Mon, Feb 14, 2005 at 02:37:23PM -0800, John-Mark Gurney wrote:
> John Baldwin wrote this message on Mon, Feb 14, 2005 at 15:11 -0500:
> > Did you know that you can just do:
> > 
> > make kernel-toolchain TARGET_ARCH=arm
> > make buildkernel TARGeT_ARCH=arm KERNCONF=TS7200
> 
> yes, I did, and the problem is that this is extreamly slow if you've
> only modified one line of one file for testing...  Do you build all of
> your kernels this way??
> 
You're not right.  If you say to NOT config, clean, depend, and build
modules, the repeated build will resume from the same point where it
stopped.  For example,

hammer# /usr/bin/time -h make -s -DNO_KERNELCLEAN -DNO_KERNELCONFIG -DNO_KERNELDEPEND -DNO_MODULES buildkernel

--------------------------------------------------------------
>>> Kernel build for HAMMER started on Tue Feb 15 12:56:32 EET 2005
--------------------------------------------------------------
===> HAMMER

--------------------------------------------------------------
>>> stage 2.2: rebuilding the object tree
--------------------------------------------------------------

--------------------------------------------------------------
>>> stage 2.3: build tools
--------------------------------------------------------------

--------------------------------------------------------------
>>> stage 3.2: building everything
--------------------------------------------------------------
--------------------------------------------------------------
>>> Kernel build for HAMMER completed on Tue Feb 15 12:56:33 EET 2005
--------------------------------------------------------------
        1,15s real              0,40s user              0,68s sys

> > That's rather easy.  You can even cross-build against a different kernel tree
> > (I use this a lot for my p4 trees).  For example:
> > 
> > make TARGET_ARCH=amd64 KERNCONF=LINT KERNSRCDIR=/home/john/work/p4/proc \
> >     buildkernel NO_MODULES=yes
> > 
> > With repeated builds (e.g. when fixing compile errors) adding
> > NO_KERNELCLEAN=yes NO_KERNELDEPEND=yes is good as well.
> 
> I really hate having to remeber and type those everytime that I build a
> kernel...  You're also forgetting NO_KERNELCONFIG=yes to that... since
> if it's just a typo, you usually don't need a config for a typo...
> 
How about saving these in a script then, so you don't have to remember
them all the time?

> yes, there are other complex solutions, but I'd like a simplier solution,
> and one that is a lot more friendly to my fingers...
> 
I'd still like to see your buildenv target committed.


Cheers,
-- 
Ruslan Ermilov
ru at FreeBSD.org
FreeBSD committer
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-arch/attachments/20050215/cb588aac/attachment.bin


More information about the freebsd-arch mailing list