Re: buildenv target

[ Available lists | Index of freebsd-arch | Month of Feb 2005 | Week of 15 Feb 2005 | Raw email | View thread | Wrap long lines | Reply | Tag ]
From
Ruslan Ermilov <ru@FreeBSD.org>
Date
15 Feb 2005 10:58:52
Subject
Re: buildenv target
Message-ID
20050215105852.GC14903@ip.net.ua

In reply to

[ Hide this part ]
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@FreeBSD.org
FreeBSD committer


[ Show this part (application/pgp-signature) ]

Elapsed time: 0.146 seconds