Modularizing source tree?

Peter Amstutz (amstpi@freenet.tlh.fl.us)
Tue, 7 Apr 1998 21:27:07 -0400 (EDT)


I hate to bring this up, and it's probably been argued before (I haven't
been watching linux-kernel that long) but has any thought been given to
modularizing the kernel source archive? It is presently topping 11
megabytes and constantly growing, and 2.2.0 will almost certainly be over
twice as big as the .tar.gz for 2.0.0 was. Honestly, do I really need to
download 5 megs of scsi or network drivers, or 1.5 megs of isdn or sound
drivers, or platform specific code for the Amiga port (sheesh, I've never
even *seen* an Amiga) just so I can get the latest kernel revision for my
stock x86 pc?

Granted, I suppose this big 'ol tarball isn't so bad for if you have ISDN
or ethernet to a T1, but those of us stuck on normal modems are beginning
to feel the pinch. 11 megs is easily a two hour download on a 28.8, and
we all know the possibility of something screwing up failure a download
increases geometrically with time. It's also kind of hard to explain to
people, "yea, Linux is a nice, sleek, unburdended system, you get to
compile your own kernel, no bloat with stuff you don't need, but you have
to keep this 40 meg source tree lying around in case you want to upgrade
your kernel or tweak some feature". Hell, even W95 doesn't copy every
single darn driver on the CD when you install it "just in case" like the
current Linux source tree does. Don't have a SCSI subsystem? Too bad,
you have to wait an extra ten minutes downloading for all those people
that do!

I'm not saying that the kernel should be hacked up into bite sized pieces
right now. With the current feature freeze that would create a mess. I'm
saying it would be really nice if I could pick and choose what drivers I
need for my system and just download those. Certainly this must be
feasable for most of the things that currently can compile as modules?
Maybe a few linkages need to go into the kernel, but (correct me if I'm
wrong) a lot of modules can be compiled totally independently of the
source tree, right? So why not let people d/l those instead? Create a
"kernel core" with the stuff it needs to boot and the important stuff,
like highlevel scsi, file system, sound driver, and the _really common_
stuff like IDE, ext2, sound blaster (maybe). A four meg core kernel + a
couple megs of drivers beats out 11 - 12 megs any day.

Just my $0x02

Peter Amstutz

/*
E-mail:
amstpi@freenet.tlh.fl.us
Home Page:
http://www.freenet.tlh.fl.us/~amstpi/
Geek Code: (see http://www.geekcode.com/ for decoding instructions)
GCS d- s:+ a--- C++>$ UL++++>$ P+(++) L++>$ E W++ N+ !o K w-- !O M-() !V
PS+(++) PE-(--) Y+ PGP t 5++ X+ R tv b+ DI+ D++ G e h
*/

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu