cvs commit: src/release/alpha dokern.sh drivers.conf

Scott Long scott_long at btc.adaptec.com
Mon May 19 15:05:14 PDT 2003


Very interesting experiment.  This looks like an excellent project for
5.2.  I'm unclear of where the .dsc files fit into here, but that should
be rather easy to handle in any case.

Scott

Garrett Wollman wrote:
> <<On Sun, 18 May 2003 03:50:55 +0300, Ruslan Ermilov <ru at FreeBSD.org> said:
> 
> 
>>It'd be even more advantageous to gzip(1) all the .ko files,
>>and have sysinstall(8) unpack them.
> 
> 
> Even better would be to simply link them all together.  The overhead
> for symbol tables and dynamic linking information appears to be about
> 24%, and much of that can be shared.  Here is a simple science
> experiment:
> 
> Build a complete set of modules.
> $ ld -Bshareable -d -warn-common -o foo.ko `find modules -name '*.kld'`
> $ objcopy --strip-debug foo.ko foo-nodebug.ko
> $ ls -l foo-nodebug.ko 
> -rw-r--r--  1 wollman  wheel  9005614 May 19 17:31 foo-nodebug.ko
> 
> OK, so this still won't fit on a floppy.  Let's try this instead:
> 
> $ awk '/^#/ { next; } NF > 2 {print "modules/usr/src/sys/modules/"$2"/"$2".kld"}' /usr/src/release/i386/drivers.conf > kld-list
> $ ld -Bshareable -d -warn-common -o foo.ko `while read kld; do if [ -e $kld ]; then echo $kld; else echo $kld | sed -e 's,s/if_,s/,' -e 's,/miibus/,/mii/,' -e 's,/\(sysv...\)/,/sysvipc/\1/,' -e 's,/firewire/,/firewire/firewire/,' -e 's,/sbp/,/firewire/sbp/,' -e 's,/fwe/,/firewire/fwe/,'; fi; done < kld-list`
> $ objcopy --strip-debug foo.ko foo-nodebug.ko
> $ ls -l foo-nodebug.ko 
> -rw-r--r--  1 wollman  wheel  1834728 May 19 17:44 foo-nodebug.ko
> 
> Well, that right there is almost enough to fit all the drivers on a
> single floppy again.  If we can gzip it, we're more than there:
> 
> -rw-r--r--  1 wollman  wheel  677731 May 19 17:47 foo-nodebug.ko.gz
> 
> Let's try just the stuff from floppy 2:
> 
> -rw-r--r--  1 wollman  wheel  732717 May 19 17:47 foo-nodebug.ko
> 
> ...which gzips down to:
> 
> -rw-r--r--  1 wollman  wheel  257111 May 19 17:47 foo-nodebug.ko.gz
> 
> -GAWollman




More information about the cvs-src mailing list