Earlier this month Keith Owens announced v2.0 of kbuild 2.5, offering among other improvments a 30% speed increase over kbuild 2.4. (kbuild 2.4 is the currently used build system in the 2.4 and 2.5 kernel trees.) Several days ago, v2.1 of kbuild 2.5 was released, moving towards kernel inclusion.
When asked what he was waiting for, Keith replied, "For me to be satisfied that the code is stable, the rewrite with go faster stripes is less than four weeks old." [Earlier Story]
v2.1 offers a few minor bug fixes. Keith comments, "You know the code is getting stable when most of the changes are documentation and white space from Lindent :)" Later he mentions another improvement the new system has over its predecessor, "With kbuild 2.5 you do not need to 'make clean' before building, unlike the existing build system, kbuild 2.5 gets it right."
From: Keith Owens
Subject: Announce: Kernel Build for 2.5, Release 2.1 is available
Date: Sun, 21 Apr 2002 17:43:08 +1000
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Content-Type: text/plain; charset=us-ascii
Release 2.1 of kernel build for kernel 2.5 (kbuild 2.5) is available.
http://sourceforge.net/projects/kbuild/, Package kbuild-2.5, download
release 2.1.
Basically a collection of the latest files from Release 2.0 plus some
minor bug fixes. You know the code is getting stable when most of the
changes are documentation and white space from Lindent :).
kbuild-2.5-core-6.bz2
kbuild-2.5-common-2.4.18-5.bz2
kbuild-2.5-i386-2.4.18-2.bz2
kbuild-2.5-common-2.5.8-1.bz2
kbuild-2.5-i386-2.5.8-1.bz2
Changes from core-5.
Run pre-processing programs through scrips/Lindent.
Document select_elsewhere(), require that select_elsewhere() objects
begin with '/'.
Document the interaction of link_subdirs() and base_target(), with
particular reference to boot loaders.
Refresh record pointer in run_db_child_recurse() after calling user
function, the record might have moved.
Correct handling of objects that are used in both vmlinux and other
targets, e.g. boot loaders.
Do not write back records when closing a corrupt database.
Delete some old debugging code, left in by mistake.
Correct refresh of timestamps on dependencies that are generated by
other commands.
2.4.19-pre, 2.4.18-ia64-020410, 2.5.8-ia64-020415 to follow.
Could other arch maintainers check their code against core-6 and
common-2.5.8 and either tell me that no change is required or send me
the updates.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.4 (GNU/Linux)
Comment: Exmh version 2.1.1 10/15/1999
iD8DBQE8wm2Ji4UHNye0ZOoRAiK8AKD+JcHRtASVqlBM//oaYLRmvTjhoQCeIxeg
zxX5L/F66VlWAdIik63zf08=
=daYs
-----END PGP SIGNATURE-----
From: Keith Owens
Subject: Re: Announce: Kernel Build for 2.5, Release 2.1 is available
Date: Sun, 21 Apr 2002 23:53:05 +1000
On Sun, 21 Apr 2002 17:43:08 +1000,
Keith Owens wrote:
> kbuild-2.5-common-2.5.8-1.bz2
That file has a one bit error on download[*] and fails the bunzip CRC
checks. New copy uploaded as kbuild-2.5-common-2.5.8-3.bz2. No
change, new name to defeat http caching. -2 had the same problem,
hence -3.
[*] Might be the upload, might be sourceforge, might be the local
Telstra web proxy. DKDC, do a fresh copy just in case.
Hi Keith,
Have you got an update on first-time build performance? Not that I'm all
that worried about it, incremental performance is *way* more important to
me, however, first-time performance seems to be something of a predictor
of when your work will get into mainline.
I'm marking each day that kbuild 2.5 isn't in mainline on the wall of my
little cave here, as every day kbuild 2.bad.old continues find some way of
wasting my time.
By the way, is there a reason for not providing a single bzip of all the
2.4 + 2.5 files? Not that the slight inconvenience matters all that much,
since hopefully it will all be in mainline soon.
Downloaded, installing...
--
Daniel
From: Keith Owens
Subject: Re: Announce: Kernel Build for 2.5, Release 2.1 is available
Date: Tue, 23 Apr 2002 09:00:49 +1000
On Sun, 21 Apr 2002 16:32:35 +0200,
Daniel Phillips wrote:
>Have you got an update on first-time build performance?
30% faster than the existing kernel build system.
>By the way, is there a reason for not providing a single bzip of all the
>2.4 + 2.5 files? Not that the slight inconvenience matters all that much,
>since hopefully it will all be in mainline soon.
Everybody needs different bits (2.4 vs 2.5, i386 vs ia64) and each bit
is being updated separately.
From: Daniel Phillips
Subject: Re: Announce: Kernel Build for 2.5, Release 2.1 is available
Date: Mon, 22 Apr 2002 01:04:12 +0200
On Tuesday 23 April 2002 01:00, Keith Owens wrote:
> 30% faster than the existing kernel build system.
Egad. And we're waiting for what, exactly?
> Everybody needs different bits (2.4 vs 2.5, i386 vs ia64) and each bit
> is being updated separately.
Forget I said *anything at all* above. You can do no wrong.
--
Daniel
From: Keith Owens
Subject: Re: Announce: Kernel Build for 2.5, Release 2.1 is available
Date: Tue, 23 Apr 2002 09:54:12 +1000
On Mon, 22 Apr 2002 01:04:12 +0200,
Daniel Phillips wrote:
>Egad. And we're waiting for what, exactly?
For me to be satisfied that the code is stable, the rewrite with go
faster stripes is less than four weeks old.
For more arch maintainers to convert 2.5.8/arch/$(ARCH) to kbuild 2.5.
i386 is converted, I am working on ia64, Tom Duffy is working on
sparc64, Greg Banks is working on superh. I would like patches for
ppc, s390, alpha etc. as well but will go without them if necessary,
they can catch up later.
Then I will contact Linus.
From: Keith Owens
Subject: Re: Announce: Kernel Build for 2.5, Release 2.1 is available
Date: Tue, 23 Apr 2002 09:57:40 +1000
On Tue, 23 Apr 2002 09:54:12 +1000,
Keith Owens wrote:
>For more arch maintainers to convert 2.5.8/arch/$(ARCH) to kbuild 2.5.
Make that 2.5.9. kbuild 2.5 patches coming soon.
On Sun, Apr 21, 2002 at 05:43:08PM +1000, Keith Owens wrote:
>
> Release 2.1 of kernel build for kernel 2.5 (kbuild 2.5) is available.
> http://sourceforge.net/projects/kbuild/, Package kbuild-2.5, download
> release 2.1.
>
Hi, i've got some problems with 2.1:
First, i needed to interrupt the build (Ctrl-C), did that,
and once i let it really run freely, got this:
$ time nice -4 make -f Makefile-2.5 CC=/usr/bin/gcc
Using ARCH='i386' AS='as' LD='ld' CC='/usr/bin/gcc' CPP='/usr/bin/gcc -E'
AR='ar' HOSTAS='as' HOSTLD='gcc' HOSTCC='gcc' HOSTAR='ar'
Generating global Makefile
phase 1 (find all inputs)
pp_makefile1: .tmp_db_main was not shut down correctly, forcing complete rebuild
pp_makefile1: .../v2.5-1/scripts/pp_db.c:158: alloc_db_chunk: Assertion `__tv.dptr' failed.
make: *** [phase1] Error 134
trying to make clean didn't help, btw. I removed .tmp* and did make
oldconfig (suggested by kbuild), which helped.
Next, i needed to comment out line about dc2xx.o in
drivers/usb/image/Makefile.in (it doesn't has source anymore) to make it
compile.
And the last:
.../v2.5-1/arch/i386/kernel/entry.S:223: unterminated character constant
.../v2.5-1/arch/i386/kernel/entry.S:264: unterminated character constant
.../v2.5-1/arch/i386/kernel/entry.S:280: unterminated character constant
That was Linus's bk tree (cset 1.562)
+ kbuild-2.5-core-4
+ kbuild-2.5-common-2.5.8-pre3-1
+ kbuild-2.5-i386-2.5.8-pre3-1
P.S. "phase 1" for xconfig is evil, is it absolutely unavoidable?
From: Keith Owens
Subject: Re: Announce: Kernel Build for 2.5, Release 2.1 is available
Date: Tue, 23 Apr 2002 09:03:34 +1000
On Mon, 22 Apr 2002 16:36:06 +0200,
Alex Riesen wrote:
>That was Linus's bk tree (cset 1.562)
>+ kbuild-2.5-core-4
>+ kbuild-2.5-common-2.5.8-pre3-1