Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 15 Feb 2005 12:58:52 +0200
From:      Ruslan Ermilov <ru@FreeBSD.org>
To:        John Baldwin <jhb@FreeBSD.org>, freebsd-arch@FreeBSD.org
Subject:   Re: buildenv target
Message-ID:  <20050215105852.GC14903@ip.net.ua>
In-Reply-To: <20050214223723.GG40468@funkthat.com>
References:  <20050213001752.GA40468@funkthat.com> <20050213062910.GC83950@dragon.nuxi.com> <20050213080508.GB40468@funkthat.com> <200502141511.34400.jhb@FreeBSD.org> <20050214223723.GG40468@funkthat.com>

next in thread | previous in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]
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

[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.6 (FreeBSD)

iD8DBQFCEdXsqRfpzJluFF4RAsREAJ4kADwaaDw1N7jfDnU/yteYjpxmgwCfdw2Y
qCL3SjtuXeV2EDgXAq1T3QM=
=vAI3
-----END PGP SIGNATURE-----

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050215105852.GC14903>