Luke Mewburn recently announced that the -current branch of NetBSD has recently switched to being a fully dynamically linked system. That is to say, even binaries in /bin and /sbin are dynamically linked to libraries in /lib. The end result is a smaller / (root) directory, saving about 11.5 MB on an i386 system. A new /rescue directory adds around 2.5 MB of statically linked "rescue" binaries, so the net space savings is still around 9 MB.
Work is actively being done to speed the start-up times of dynamically linked binaries, which is typically slower then that of statically linked binaries. Read on for the full explanation, and links to much discussion on the change.
From: Luke Mewburn
To: None current-users AT netbsd.org
Subject: HEADS UP: fully dynamic linked system now the default
Date: 09/23/2002 01:25:59
As mentioned a few weeks ago, we've switched to a fully dynamically
linked system by default.
The net outcome:
+ /bin and /sbin are dynamically linked, along with the small
number of programs in /usr/* that were still statically
+ The shared libraries that are required by /bin and /sbin
are installed in /lib, with symlinks from /usr/lib for
+ The dynamic linker is installed in /libexec, with a symlinks
from /usr/libexec for compatibility purposes.
+ Less disk space used on `/'. On the i386, the savings are
in the order of 11.5 MB (4.5 MB versus 16 MB). If the space
consumed by /rescue is counted only in the "new" system,
there's still a 9 MB saving.
+ Specific rescue tools are provided in /rescue, rather than
overloading /bin and /sbin for that purpose.
+ The kernel's "-a" bootloader option now also prompts for the
path to init(8), so "/rescue/init" can be used if /sbin/init
won't start due to an unexpected failure.
+ Whilst dynamic linked programs start up slower that statically
linked programs, there is active work in progress to resolve
If you don't want this behaviour, set MKDYNAMICROOT=no in mk.conf(5).