All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tim Bird <tim.bird@am.sony.com>
To: Tomas Frydrych <tf+lists.yocto@r-finger.com>
Cc: "yocto@yoctoproject.org" <yocto@yoctoproject.org>
Subject: Re: RFC: poky-tiny: init procedure
Date: Fri, 15 Jun 2012 12:49:05 -0700	[thread overview]
Message-ID: <4FDB91B1.2010706@am.sony.com> (raw)
In-Reply-To: <4FDAD6D1.4050605@r-finger.com>

On 06/14/2012 11:31 PM, Tomas Frydrych wrote:
> Hi Darren,
> 
> On 14/06/12 22:09, Darren Hart wrote:
>> This solution improves the kick-the-tires
>> experience with poky-tiny, without pulling in all of init, 
> 
> I think you really should quantify what 'all of init' means, without
> this you are addressing a problem that is merely perceived. Just a quick
> look shows that the sysvinit package is about 120KB unpacked, for that
> you get a solution that is tested, robust, and supported across Yocto.

120KB (of anything) is too much to add to a system that is targeted at
being a minimal starting point.  The mechanism added here to support
local customization is about 100 bytes (including the comment).

IMHO, the whole notion of starting with a big system and
subtracting what you don't want in order to create a minimal
system is the wrong approach.  This doesn't scale (down),
because Linux and distros just keep getting bigger, and
the work required to do this subtraction effort
to continue to hit arbitrarily small footprints is
getting harder and harder over time.

A better approach is to start as small as absolutely
possible, and build up from there.  For really small
system, it is less effort to add what you want to an
essentially empty system, than to go the other direction.

With regard to sysVinit - it's a great system for end users,
because it means that packages can slot their startup and
shutdown scripts into the filesystem automatically, and
it relieves the burden of managing this from the user.
The scripts have to be written to deal with myriad
interactions with other components, and they are
somewhat bloated because of this. However, for deeply
embedded, no such automation or bloat is desired.  For
super-constrained systems, you want to recognize and
control 100% of what's running on the system.

Just to give you context, I'm striving for a system that
runs in 1MB RAM.

> 
>> Again, we're talking about 14 lines of shell, so "init system" is
>> overstating it significantly.
> 
> Sure, but every new wheel starts exactly this way, and we are already
> discussing how to make it do things that sysvinit does for you :-)

I'm not.  If this approach doesn't work for you, then feel free to
use sysvinit, or busybox init, or some other system that is more
heavy-weight than this.  There are plenty of other choices.

I realize you said that with a smiley, so I'm not trying to be
dismissive or harsh, but I do think that if you want the features
of some other init system, then the right answer is to use them,
and not complain about this one.
 -- Tim

=============================
Tim Bird
Architecture Group Chair, CE Workgroup of the Linux Foundation
Senior Staff Engineer, Sony Network Entertainment
=============================



  parent reply	other threads:[~2012-06-15 19:47 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-14  0:33 RFC: poky-tiny: init procedure Darren Hart
2012-06-14  1:09 ` Tim Bird
2012-06-14  1:20   ` Darren Hart
2012-06-14  2:55     ` Darren Hart
2012-06-14  7:11 ` Tomas Frydrych
2012-06-14 21:09   ` Darren Hart
2012-06-15  6:31     ` Tomas Frydrych
2012-06-15  7:05       ` Thomas Petazzoni
2012-06-15 23:04         ` Darren Hart
2012-06-15 19:49       ` Tim Bird [this message]
2012-06-15 21:26         ` Tomas Frydrych
2012-06-15 23:15           ` Darren Hart
2012-06-16  8:53             ` Tomas Frydrych
2012-06-15 21:10   ` Tim Bird
2012-06-15 23:21     ` Darren Hart
2012-06-18 11:50     ` Richard Purdie

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4FDB91B1.2010706@am.sony.com \
    --to=tim.bird@am.sony.com \
    --cc=tf+lists.yocto@r-finger.com \
    --cc=yocto@yoctoproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.