Re: proper place to discuss kernel 'bloatedness'?

Brian Gerst (bgerst@quark.vpplus.com)
Fri, 29 Jan 1999 23:30:28 -0500


Michael Loftis wrote:
> I've not been following the list I admit but I'd like to know what is being
> done (if anything) on the issue of the staggering size of the kernel
> source. Currently I see that 2.2.1 is around 12MB (Bzip2 is around 10MB).
> After decompression it'll be much to huge for any of the machines I
> currently have running Linux.
>
> I initially became interested in Linux because of the fact that it'd run on
> the 486/66 w/ the 540MB HDD that I had spare. Now with the kernel reaching
> some 40MB I'm tempted to move to something slimmer, like FreeBSD.
>
> Something needs to be done to control kernel bloat. It'd be nice to see
> the kernel source get another configuration 'facelift' in the form of an
> automated module-retrieval system that would allow you to select the source
> modules you wished and not take the whole 12MB chunk.

Most of what is causing this "bloat" are drivers. In particular, the
number of network and SCSI drivers are ever growing since there are no
"standard" chipsets. SCSI drivers in particular are hefty beasts.

Linus has been very insistent that he will not split up the kernel
sources. If you are really that low on disk space, and are not
interested in things for other achitectures, you can prune the tree a
little bit yourself. You can create a file that contains paths in the
tree that you don't want tar to extract and use the -X option. Pruning
these paths:

linux/arch/alpha/*
linux/arch/arm/*
linux/arch/m68k/*
linux/arch/mips/*
linux/arch/ppc/*
linux/arch/sparc/*
linux/arch/sparc64/*
linux/include/asm-alpha/*
linux/include/asm-arm/*
linux/include/asm-m68k/*
linux/include/asm-mips/*
linux/include/asm-ppc/*
linux/include/asm-sparc/*
linux/include/asm-sparc64/*
linux/drivers/acorn/*
linux/drivers/isdn/*
linux/drivers/macintosh/*
linux/drivers/nubus/*
linux/drivers/sbus/*
linux/drivers/sgi/*
linux/drivers/zorro/*

can trim 14357K from the source. Pruning linux/drivers/scsi/* gives you
another 6815K.

The biggest caveat to this approach is that patching the kernel will be
a pain in the a**. Patch will complain about all the missing files.
You may also have problems with make *config if you prune too much.
These are the biggest reasons why Linus won't split the source.

As far as an "automated module-retrieval system", it could be done, just
nobody has done it yet.

--

Brian Gerst

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/