[BusyBox] RFC: telnetd/inetd/httpd

Stefan Soucek ssoucek at coactive.com
Mon Oct 29 12:00:57 UTC 2001


Hmm. Wasn't busybox designed to collect a bunch of small apps to make more
efficient flash usage when running on systems without an MMU and, thus,
without shared libs? I agree that putting more apps in the busybox binary
would make this even more efficient.

But there is a downside, too. Making the busybox binary bigger and bigger
you run into a problem on MMU-less systems: memory allocation. Since memory
pages are managed by providing a number of certain sized-blocks, they eat up
the complete block when you load the busybox binary. In other words, the
bigger the binary is, the more inefficient DRAM memory usage will get.

Here is an example: Say busybox is 530K. This is just a bit over 512K, so
the next available memory block size is 1M. This means you'll need 1M each
time you issue an "ls" or "rm". You may consider this to be a trade-off with
FLASH efficiency since "ls" runs for a short time and exits again, freeing
up the 1M RAM block. But things get pretty ugly when running for instance
inetd. Then you'd need 1M of RAM to just run inetd (a 30-50K binary by
itself depending on the architecture).

In the end, what will hapen  is that given this very big and functionally
rich busybox binary, you'll start to break out parts of it and compile them
stand-alone, to save RAM space. But then you'll end up with the same FLASH
efficiency factor as before adding inetd, httpd, etc. to busybox.

On a shared lib system, I wouldn't see the obvious advantage to have this
big busybox binary, either. Even so, you could do without it completely, as
do common Linux distributions with shared libraries.

Just my humbnle thoughts on the future direction of this project...

-Stefan

> -----Original Message-----
> From: Emanuele Aina [mailto:faina.mail at tiscalinet.it]
> Sent: Monday, October 29, 2001 6:35 AM
> To: busybox at busybox.net
> Subject: Re: [BusyBox] RFC: telnetd/inetd/httpd
> 
> 
> David Kimdon <David_Kimdon at alumni.hmc.edu> domandò:
> 
>  > Or better yet a single binary that drops priv's before executing
>  > all but the applets that need suid:
>  > 
> http://busybox.net/lists/busybox/2001-September/004684.html
>  >
> 
> It will be very interesting to have things like telnetd, 
> ftpd, inetd and
> other little daemon in busybox. I also agree with the second 
> proposal: to
> have all the stuff in a single binary.
> 
> If it can be useful, I've recently looked for similar little daemon,
> as mini httpds, and I've found some possible candidate to start with.
> 
> Another question: how we relate with existing project (as 
> udhcpd for dhcp
> client and server, yaku-ns for dns, boa for httpd...) ?
> 
> -- 
> Au revoir.
> Lele...
> 
> 
> 
> 
> _______________________________________________
> busybox mailing list
> busybox at busybox.net
> http://busybox.net/mailman/listinfo/busybox
> 





More information about the busybox mailing list