Re: kbuild 2.5 is ready for inclusion in the 2.5 kernel - take 3

Keith Owens
2002-05-20T05:11:21Z

On Sun, 19 May 2002 21:31:01 -0700,
Mike Fedyk <mfedyk@matchmail.com> wrote:
>Kieth, can you confirm that all of the old kbuild-2.4 commands have been
>wrapped in kbuild-2.5 commands?

make *config - same
make dep - kbuild 2.5 says 'nothing to do'.
make [b]zImage - Replaced by 'installable', with the kernel type
specified in .config.
make modules - Replaced by 'installable'.
make bzlilo - All install targets have been subsumed by 'install'.

'make installable' is the default target if nothing else is specified.
kbuild 2.5 moves the type of kernel to build into .config, it is no
longer specified on the command line. This makes it even easier to
build from a previous kernel, copy .config and

make -j defconfig installable && sudo make -j install

There is no need for separate passes for kernel and modules. Building
kernel and modules separately has always been a potential source of
human error, kbuild 2.5 delivers a complete and accurate set of
installable files. Because kbuild 2.5 only rebuilds what is necessary,
collapsing the two passes into one actually saves build time.

'make install' uses .config entries to determine what to install, where
to install it, whether or not you want to install System.map or .config
and where they are installed. Again, this makes it much easier to
reuse a previous config. It also makes life easier for people doing
cross compiles, set one config variable to a directory and everything
is installed relative to that directory, instead of relative to /.

Another config entry specifies an install script to be run after
install. You are no longer restricted to a hard coded script name.
kbuild 2.5 deliberately does not include any interfaces to lilo, grub,
syslinux, etc., nor to apt, rpm, tarballs etc., they are all handled by
the post-install script. Sample scripts are provided, if you don't
like them you can modify to suit or write your own post-install
scripts. This is more flexible than "everything goes through
/sbin/install".