Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Mark Hatle <mark.hatle@windriver.com>
To: <openembedded-core@lists.openembedded.org>
Subject: Re: [PATCH 2/8] initscripts: add setup-commands.sh
Date: Mon, 11 Nov 2013 10:13:06 -0600	[thread overview]
Message-ID: <52810212.3050302@windriver.com> (raw)
In-Reply-To: <1384170804.16718.135.camel@phil-desktop.brightsign>

On 11/11/13, 5:53 AM, Phil Blundell wrote:
> On Mon, 2013-11-11 at 10:52 +0800, ChenQi wrote:
>> On 11/10/2013 07:00 AM, Phil Blundell wrote:

...

> I thought that last time this topic came up on the mailing list, the
> eventual conclusion was that Wind River (being more-or-less the only
> people who seemed to feel strongly that supporting / and /usr on
> different partitions was important) were going to come up with some sort
> of overall strategy for solving the whole problem rather than just
> fixing up individual bits in a piecemeal fashion.  I think that strategy
> would need to include a policy for which utilities initscripts can
> legitimately expect to be available before /usr is mounted, and if this
> set is different from what we have today then it would need to include a
> plan for sorting that out.

There is a bug open for the Yocto Project 1.6 to explicitly do this.  Come up 
with an overall strategy for these kinds of things, as well as a test plan to 
verify that whatever we end up doing works properly long term.

As you said, busybox is not required on a system -- just something that has a 
reasonable set of software packages.  Also a lot of this stuff is simply limited 
to 'early boot'.  At some point we do need to define 'early boot'.  (Generally I 
define it as until /usr would normally be mounted.)

And unfortunately you will see patches in piecemeal at this point.  Until such a 
strategy is generated, everything is being done reactively.  We see a QA 
error/warning and someone is assigned to solve it.  Yocto Project Compliance 
(and our own internal) guidelines then indicate since we've patched something it 
has to go out to the community.

> To answer the particular question at hand it seems that someone would
> need to do some analysis of things like:
>
> - how many scripts actually need those commands
> - how hard would it be to change them to not need them
> - what would be the impact of moving them into ${base_bindir} (for
> example, would this cause a whole load of libraries to get dragged into
> ${base_libdir} as well?)

That was my thought exactly.  Lets look at moving things -or- stop using them. 
Whichever is more reasonable.

> Offhand I don't know the answer to any of those things.
>
>>> 4. this seems like distro policy and not something that really belongs
>>> in oe-core at all.  For systems where ${bindir} and ${base_bindir} are
>>> on the same filesystem (or even are the same directory) this script will
>>> just make bootup slower without achieving anything useful.
>
>> If /usr and / are on the same file system, this script has no real
>> effect because /usr will always be there. So I think it will not take
>> much time at boot.
>
> Just spawning a new copy of the shell and reading the script does take a
> finite (and measureable) time.  If you can determine statically at build
> time that the script isn't going to do anything useful then I don't
> think it's appropriate to install it.
>
>> If ${base_bindir} and ${bindir} are the same, that means that there's
>> no /usr. In this case, there should no /usr/xxx entries
>> in /etc/busybox.links, so this script should also function correctly
>> and it will not take much time at boot.
>>
>> (I just configured ${bindir} and ${base_bindir} to be the same and
>> performed a build, it failed. I'm not sure whether it's valid to make
>> such configurations in OE.)
>
> It is a valid configuration, and this is the way that most of the images
> I build are configured.  It probably is true that there are still some
> number of recipes in oe-core that don't support this properly, but I
> don't want to see that situation get any worse.

And yes, all scripts need to (at build time) bind to the bindir and base_bindir 
of that distribution.  Hardcoding those values into the scripts before build 
time is wrong.

--Mark

> p.
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>



  parent reply	other threads:[~2013-11-11 16:13 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-09  5:28 [PATCH 0/8] Fixes about unsafe-references QA warnings Qi.Chen
2013-11-09  5:28 ` [PATCH 1/8] udev: fix dependency and location of udevadm Qi.Chen
2013-11-09 22:54   ` Phil Blundell
2013-11-11  2:18     ` ChenQi
2013-11-11 10:53       ` Phil Blundell
2013-11-11 11:28         ` ChenQi
2013-11-09  5:28 ` [PATCH 2/8] initscripts: add setup-commands.sh Qi.Chen
2013-11-09 23:00   ` Phil Blundell
2013-11-11  2:52     ` ChenQi
2013-11-11 11:53       ` Phil Blundell
2013-11-11 12:40         ` ChenQi
2013-11-11 14:49           ` Phil Blundell
2013-11-11 16:13         ` Mark Hatle [this message]
2013-11-11 12:12       ` Burton, Ross
2013-11-11 12:53         ` ChenQi
2013-11-11 16:15         ` Mark Hatle
2013-11-09  5:28 ` [PATCH 3/8] zlib: install into base_libdir Qi.Chen
2013-11-09  5:28 ` [PATCH 4/8] kmod: install libkmod " Qi.Chen
2013-11-09  5:28 ` [PATCH 5/8] udev: fix unsafe reference by installing libgudev in libdir Qi.Chen
2013-11-09  5:28 ` [PATCH 6/8] insane.bbclass: make the checking stricter for unsafe references in scripts Qi.Chen
2013-11-09  5:28 ` [PATCH 7/8] iputils: fix program location and QA warning Qi.Chen
2013-11-09  5:28 ` [PATCH 8/8] busybox: install ping6 into bindir by default Qi.Chen
2013-11-11 11:12 ` [PATCH 0/8] Fixes about unsafe-references QA warnings Burton, Ross
2013-11-11 11:23   ` ChenQi

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=52810212.3050302@windriver.com \
    --to=mark.hatle@windriver.com \
    --cc=openembedded-core@lists.openembedded.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox