DESKTOP mode

Rob Landley rob at landley.net
Mon Oct 2 22:02:36 UTC 2006


On Monday 02 October 2006 3:25 pm, Denis Vlasenko wrote:
> > i think lumping a whole lot of unrelated options under a single
> > vague heading like "desktop" (what's that mean, anyway?)
> 
> That means "busybox for Linux machine with common distro installed".
> Vast majority of such machines are used as personal desktop boxes.

If you want to do one big CONFIG_DESKTOP, it's your call now.  However, I 
initially did "make defconfig" with that sort of thing in mind, and was 
doing "CONFIG_NITPICK" to hide stuff that only the most persnickety embedded 
people should ever have to look at.  Just a thought.

For toybox I'm going to grab the klibc config stuff myself, add the ENABLE 
stuff (and miniconfig), and make CONFIG_NITPICK work, and then I'm going to 
contribute my modifications _back_ to the kernel guys and you're welcome to 
pick them up from there.

> You reminded me that our Makefile machinery is buggy and needs overhaul. :(

Oh yeah.  I may not be doing it for BusyBox anymore, but my code's GPLv2 and I 
hope to have a new website up for toybox later this week.  (Depends on parts 
arriving in the mail and when we can get the cable modem guys out to upgrade 
our connection.  I don't think Fade playing World of Warcraft is going to 
impact the site's bandwidth much. :)

> > but putting them 
> > all together under one ifdef is just being lazy.
> 
> I still don't understand what is silly about it.
> 
> "I want to build bbox for wireless router" -> switch CONFIG_DESKTOP off
> "I want to build bbox for my Red Hat box" -> switch CONFIG_DESKTOP on

I want to build bbox for a video kiosk which has some features of both: switch 
CONFIG_DESKTOP halfway.

> Why do you insist on wading through
> 
> switch CONFIG_FEATURE_GZIP_OPTION_V off
> switch CONFIG_FEATURE_GUNZIP_OPTION_V off
> switch CONFIG_FEATURE_MOUNT_OPTION_S off
>    ...two hundred more options skipped...
> 
> instead? Do you hate our users? ;)

There's a difference between inflicting complexity on people and having no 
controls but the "try to guess what I want to do" button.  The happy medium 
is progressive disclosure.

It sounds like "CONFIG_NITPICK" is insufficient, and what's actually needed 
is:

CONFIG_EMBEDDED - Extra options for embedded systems.
CONFIG_DESKTOP - Extra options for desktop systems.

With each one having three positions: force on, force off, and show the 
individual options and let the user select 'em.

Making that work would require ripping kconfig a new one.  I'll see what I can 
do. :)

> _All_ these options are practically useless. They are just add
> compatibility with scripts which already exist on desktop distors.

There are embedded systems out there using stripped down versions of Red Hat 
with bash and so on.  It's sad, but true.  The "roll your own" market is 
about 80% of this space, and the vast majority of them at least start out 
just trying to get something working (often with _no_idea_ what they're 
doing), and then try to clean it up as they go along.

Before saying "nobody would ever do that" contemplate that we have an entire 
industry devoted to delivering internet access via electrical outlets.

Rob
-- 
Never bet against the cheap plastic solution.



More information about the busybox mailing list