[lkml]   [1999]   [Nov]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: toplevel Makefile bug and simple fix
    Raul Miller <> writes:

    > > P.S. And we really *have* to be able to support stand-alone source
    > > distribution of drivers. The Linux kernel sources are still growing
    > > expenontially, with a time constant of roughly 18 months. This is
    > > mostly due to new drivers. Sooner or later, we will need to address
    > > the question of how to distribute drivers independently of the kernel,
    > > in source form at the very least.
    > XFree86 seems to manage.
    > [Yeah, I know, xfree86 isn't bttv... but I think what you're talking
    > about here is a layering problem as much as anything. Or is that too
    > obvious of a comment?]

    There are a few sorts of examples that illustrate the difference between
    XFree86 and the kernel (it mostly boils down to driver complexity versus
    number of drivers supported):

    - How do you know whether or not you want to include support for
    a subsystem?
    Many people do not have ATM cards; many people do not have I2O subsystems
    in their computers; soon, many new computers will not have an ISA bus.
    There is very little benefit for these computers to have kernel sources
    that include support for all those devices (unless they're developing
    binary distributions of the kernel).

    - How do you know which devices supported by that subsystem should be
    compiled, and whether into the kernel or as modules?
    The number of SCSI and network drivers is huge -- and growing very often.
    Most people don't need more than one of each of those, and the number of
    people who need more than two is vanishingly small. It would be nice if
    people who didn't need all the drivers didn't need to download them.

    Let's take a case study: linux-2.3.26 (freshly unpacked) on my machine.
    It's an SMP Pentium II with a BusLogic SCSI controller, an EEPro100 NIC,
    some USB peripherals, an ISA sound card, an IDE floppy, and probably a
    few other things I've forgotten.

    linux/arch has 10573 KB of files; the i386 tree is only 1113 KB of this.
    linux/drivers is 39157 KB; of this, I only care about: about 737 KB of the
    2047 KB block directory; about 575 KB of the 4920 KB char directory; the
    misc directory (26 KB); the 64 KB EEPro100 driver and 108 KB generic
    network drivers; parts of the 189 KB parport directory; the 100 KB pci
    directory; the 82 KB pnp directory; about 263 KB for the BusLogic driver,
    and 629 KB for the generic SCSI layer; about 290 KB of the sound
    directory; and the 815 KB usb directory; this totals 3878 KB.
    linux/fs likewise has a lot of things I don't compile and will never need
    linux/net also has many things I do not need support for

    So in linux/arch, this rough calculation yields 10.5% of the arch directory
    necessary; in linux/drivers, it's just over 9.9%. fs and net are probably
    more utilized (maybe 30% to 40% on my machine), and the remaining top-level
    directories in linux/ are all needed.

    There are, of course, technical difficulties in trying to distribute
    hardware-specific files separately from the kernel (dependency detection,
    hardware detection, patches from one version to another), and developmental
    difficulties in ensuring enough people check to make sure things compile
    with various subsets of the extension packages, but "it sure would be nice"
    to download a .tar.bz2 that's about 5 MB and have it fetch another few
    megabytes of drivers automatically once I configure the kernel I want to

    -- Michael

    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    Please read the FAQ at

     \ /
      Last update: 2005-03-22 13:54    [W:0.025 / U:6.292 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site