[Soekris] "thewall" project is dead??? [really small CF images]
M. Warner Losh
imp at bsdimp.com
Fri Nov 15 20:04:21 UTC 2002
In message: <028801c28cd7$4ba6e000$52557f42 at errno.com>
"Sam Leffler" <sam at errno.com> writes:
: > In message: <020601c28cca$16d2a060$52557f42 at errno.com>
: > "Sam Leffler" <sam at errno.com> writes:
: > : However, the one question that I haven't resolved is whether or not it's
: > : better to use crunchgen or just stick to shared libraries (this is for
: > : freebsd). Disk space isn't an issue. I'm more concerned with memory
: > : footprint. I suspect there are many other things to be more concerned
: > : than shared libraries vs. crunch'd binaries but haven't had time to
: > : investigate (e.g. libc is known to be bloated).
: > We've had very good luck with libc on our SBC based system. We have
: > shared libc for everything and a bunch of tiny binaries in /sbin,
: > etc. We've found that this makes upgrading a system much easier,
: > especially when we want to add just one more binary. You don't have
: > to re-crunchgen the whole thing and can usually just copy the binary
: > from your development system over w/o any special care.
: Yes, this is one of several reasons why you want to use shared libraries.
: But what do you see for runtime memory use of systems built with shared
: libraries vs. those built with crunchgen?
That's a good question. I'd expect that we'd see a slightly slower
execution due to PIC stuff, and a comperable memory usage since most
of this code is shared. Most of the memory usage in our systems is
swamped by the application, so I don't have hard numbers for crunchgen
vs non-crunchgen. I suspect that it depends mostly on what apps are
On a 4.5 system, a static /bin and /sbin are 15274k, while dynamic
they are 2384k. These use 1604k of shared libraries, although the
vast majority of shared libaries are used only by a couple of
programs and will often not be present on the installed system. Our
installed systems have 500k /bin and 607k /sbin on them since we don't
need, for example, vinum configuration, ccdconfig, etc. Our /usr/lib
is only 2720k, but that includes a bunch more libraies than are needed
for a minimal boot. The base flash that we produce is on the order of
8M, but the bare minimum required to boot with the stock /etc/rc files
is more like 5-6M. I was unable to get a bootable system on a 4M DOC
part I have when I got a day to play with it a while back (and that
was on 3.4).
More information about the Soekris-tech