RFD: Rework/extending functionality of mdev

Laurent Bercot ska-dietlibc at skarnet.org
Thu Mar 12 09:50:51 UTC 2015


On 11/03/2015 19:02, Harald Becker wrote:
> It is neither a knowledge nor any technical problem, it is preference:
> I want to have *one* statical binary in the minimal system, and being
> able to run a full system setup with this (system) binary (or call it
> tool set). All I need then is the binary, some configs, some scripts
> (and may be special applications). I even go so far, to run a system
> with exactly that one binary only, all other applications functions are
> done with scripting (ash, sed, awk). Sure those are minimalist
> (dedicated systems), but they may be used in a comfortable manner.

  Out of curiosity: what are, to you, the benefits of this approach ?
Does it actually save you noticeable amounts of RAM ? of disk space ?
Is it about maintenance - just copy one binary file from a system to
another ? (But you'd also have to copy all your scripts...) Is it
about something else ?

  If it's just for the hacking value, I can totally respect that, but it's
not an argument you can use to justify architectural modifications to a
Unix tool other people are using, because it kinda goes against the Unix
philosophy: one job, one tool. Busybox gets away with it for now because
it's still small and the practical aspects are overshadowing the
conceptual ones, but to my taste it's already teetering on the edge
(and I believe that inclusion of supervisors and super-servers is already
too much).

  Even on a noMMU system, I think what you'd gain from having one single
userspace binary (instead of multiple small binaries, as I do on my
systems) is negligible when you're running a Linux kernel in the first
place, which needs at least several megabytes even when optimized to
the fullest.

  I know a guy who manages to run almost-POSIX systems in crazy tiny amounts
of RAM - think 256kB, and the TCP/IP stack takes about 40 kB - but that's a
whole other world, with microcontrollers, JTAG, a specific OS in asm, and
ninja optimization techniques at the expense of maintainability and
practicalness. This is definitely not what we're doing here - if I can run
Linux, I can run a few dozens of separate binaries and a few hundreds of
long-lived processes, if they're small enough.

-- 
  Laurent



More information about the busybox mailing list