On 20.02.2011 15:45, matthew green wrote: >> Have you measured how much modules supposedly increase the size compared to >> compiling things directly to the kernel? This seems like a rather silly point >> to me (without numbers, at least). > > well, i dunno about others but i've found that the old modules > lying around tends to fill up space pretty quickly, but ignoring > that problem and looking at recent i386 builds, i see that the > MONOLITHIC kernel set is only 440kb larger than GENERIC, yet the > modules set is 3500kb. > > i didn't look into why, but there's some numbers to go from.
(for i386) When I tried to use GENERIC as a replacement for MONOLITHIC for install floppies, I took a look at some of the duplication that happens between "filesys" and "builtin" modules. All in all, there are approx. ~700kiB of modules in /stand that are also accountable (e.g. "builtin") inside GENERIC. Taking the options(4) embedded inside MONOLITHIC and comparing them to their modules counterpart: - COMPAT_* => 400kiB as standalone modules - various fs => 720kiB - other options (PPP, accf_*, pseudo-devices): 200kiB => 1.3MiB. So, a total of 1.3M + 700k = 2MiB. Still missing 1.5MiB. MODULAR options seems to consume ~70kiB , so I would assume that the rest is due to PIC mode and ELF headers... ? That's still 1.5MiB bigger (a complete monolithic kernel vs a full-blown modular kernel). Needs to be xchecked though. Note that /stand also includes modules that cannot be included inside a monolithic kernel, like zfs and solaris compat layer. And these makes up for ~ half the size of /stand (5MiB). -- Jean-Yves Migeon jeanyves.mig...@free.fr