* Working with OEMs
@ 2010-02-05 19:28 Jeremy Grant
2010-02-06 19:12 ` Holger Hans Peter Freyther
2010-02-08 16:48 ` C Michael Sundius
0 siblings, 2 replies; 9+ messages in thread
From: Jeremy Grant @ 2010-02-05 19:28 UTC (permalink / raw)
To: openembedded-devel@lists.openembedded.org
I am currently working on project that we are planning on using
openembedded. We will be using 6 ereader devices initially from 2
different manufactures. One of the manufactures already uses open
embedded the other is not. We are needing to explain to the other OEM
why they should be uses open embedded to build the images used on the
devices so that all devices are consistent and can pull from one feed
source for updates.
Here are a few of the requirements I have right now:
Must use qt-embedded 4.6.x
Would be nice if it can uses arora-e
I have a few question on what I should be doing.
Should I create my own distribution based on angstrom or just create
and image with preferred-versions for the ereaders and used angstrom as
the distro?
What suggestions does anyone have on working with the OEM that does not
uses OE already to help them see why using OE would be beneficial to
them? I find information on why developers and distribution
maintainers should uses OE but not much information on how an OEM could
create machine.conf to be used with OE or use OE. I may just have not
found the correct presentation or blog that has the information I am
looking for.
Thanks for any help you can give.
Jeremy Grant
VML | Lead Systems Administrator
2020 Baltimore, Kansas City, MO 64108
office: +1.816.218.1956
fax: +1.816.472.5234
mobile: +1.913.636.1112
email: [1]jgrant@vml.com
Before you print, please think about the environment.
Confidentiality Statement This transmission is confidential and
intended solely for the party to whom it is addressed. If the reader of
this email is not the intended recipient, you are hereby notified that
it may contain privileged, confidential and trade secret information,
and that any dissemination, distribution, copying or use of the
information in this transmission is strictly prohibited. If you have
received this transmission in error, please immediately notify the
sender at the email address above, and delete all copies of it from
your computer.
References
1. file://localhost/tmp/jgrant@vml.com
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Working with OEMs
2010-02-05 19:28 Working with OEMs Jeremy Grant
@ 2010-02-06 19:12 ` Holger Hans Peter Freyther
2010-02-08 16:48 ` C Michael Sundius
1 sibling, 0 replies; 9+ messages in thread
From: Holger Hans Peter Freyther @ 2010-02-06 19:12 UTC (permalink / raw)
To: openembedded-devel
On Friday 05 February 2010 20:28:59 Jeremy Grant wrote:
Hi Jeremy,
in general we encourage people to use one of the existing distributions
(angstrom, micro, minimal). In some recipes these distro's have done
configuration or other policy. This is done with the "OVERRIDE" system of
bitbake which is working by name. So just copying angstrom.conf to a new name
will most likely not work right a way.
For the next part. I would suggest creating a "task-oem-kind" and a "oem-kind-
image" which would install Qt Embedded 4.6, the required plugins and
additional applications like the arora browser.
My general suggestion is to use OE only for the tasks it is good. E.g. if you
force a developer to use it for application development it can be pretty
painful on both sides.
At the OEM I would encourage someone to write the machine config, makes sure
the init files are working. As the output of the OEM they should have the
machine file, the sourcecode, a bootable image, and the result of something
like "meta-toolchain-qte" or "meta-toolchain" to allow easy application
development for the target hardware.
holger
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Working with OEMs
2010-02-05 19:28 Working with OEMs Jeremy Grant
2010-02-06 19:12 ` Holger Hans Peter Freyther
@ 2010-02-08 16:48 ` C Michael Sundius
2010-02-08 18:37 ` Philip Balister
2010-02-09 21:47 ` Michael Smith
1 sibling, 2 replies; 9+ messages in thread
From: C Michael Sundius @ 2010-02-08 16:48 UTC (permalink / raw)
To: openembedded-devel
Jeremy,
I brought OE in as my employers build system to replace what was a miserable
set of make files and tarballs. we had several groups placed all over the
world and each location had their own build system and then a final build
system that was used to patch lots of tarballs together. For me (a kernel
engineer) to build the drivers and application stack was nearly impossible.
for us the reasons to use OE were these:
1) keep track of software runtime and build time dependencies.
(staging area is great at forcing developers to only publish the bare
minimum apis and libraries)
2) a consistent way of building and configuring ALL of the software used in
the distrobution
3) decouple the software source and the congiration meta data. helps in
developing portable or reusable code.
We build software for a pretty well known set top box. Since we were already
established with a large distro of software and configuration, we decided to
create a new distribution. we ended up creating 2 directories, one our local
recipes and classes, and one for the standard opensource recipes. (local and
openembedded). In the openembedded recipes, we used any recipes that existed
for versions of software that we were using, but created new recipes (i.e.
cut/paste) for unsupported packages or versions. We also (as Holger
mentioned) used overrides where we could to specify our own configuration or
patches that have to be applied. The intent is push this back out once our
development stablizes.
note that we trimmed down the openembedded directory to only those recipes
that we use so that it does not take so long to parse all the recipes which
takes too much time (though I've been thinking there's got to be a better
way of doing that.)
in our local recipes (those for our own code) we've made a very simple class
that creates a link instead of copying the source code into the work
directory (bypassing the fetch all together). This is a great help for
developers since we are not using a supported source control software and
even so, I don't think the way that the fetchers work wrt to source control
is very developer friendly.
I also recently made a hack to our bitbake to allow dependent recipes to
rebuild when a dependency was rebuilt.
> Holger writes:
> My general suggestion is to use OE only for the tasks it is good. E.g. if
you
> force a developer to use it for application development it can be pretty
> painful on both sides.
- I find it a bit dishartening that Holger does not recommend you to use OE
for software development. One of the main reasons we were in search for a
comprehensive build system was so that we could offer a consistent means of
buliding our entire distribution to all developers and Configurtion Mgmt,
Testing, Release teams alike with out everyone having to be an expert with
all parts of the system (and all different build tools that had cropped up
in the different locations we have engineers - india, US east coast, west
coast). It *is* difficult to make it work for devlopers and build teams
alike, but having a consistent means building software is a huge step
creating a really great build system. Further if people are discouraged from
using OE as a tool for developers, then it will never get any better and
this hole of support in OE will not be filled.
Holger, will all due respect to you and the rest of the list (they have been
the only way I would have been able to get our team switched over to OE -
thank you thank you to everyone on this list), I hope I am misunderstanding
that comment. Further, I wonder if there are others out there who also feel
this way? My understanding is that Monta Vista is using OE; are there voices
on this list from MV or others that use OE for creating a consistent means
of building for developers and Config/Release Managers? If so, what are your
tricks and complaints with respect to this issue.
On Fri, Feb 5, 2010 at 11:28 AM, Jeremy Grant <jgrant@vml.com> wrote:
> I am currently working on project that we are planning on using
> openembedded. We will be using 6 ereader devices initially from 2
> different manufactures. One of the manufactures already uses open
> embedded the other is not. We are needing to explain to the other OEM
> why they should be uses open embedded to build the images used on the
> devices so that all devices are consistent and can pull from one feed
> source for updates.
> Here are a few of the requirements I have right now:
> Must use qt-embedded 4.6.x
> Would be nice if it can uses arora-e
> I have a few question on what I should be doing.
> Should I create my own distribution based on angstrom or just create
> and image with preferred-versions for the ereaders and used angstrom as
> the distro?
> What suggestions does anyone have on working with the OEM that does not
> uses OE already to help them see why using OE would be beneficial to
> them? I find information on why developers and distribution
> maintainers should uses OE but not much information on how an OEM could
> create machine.conf to be used with OE or use OE. I may just have not
> found the correct presentation or blog that has the information I am
> looking for.
> Thanks for any help you can give.
> Jeremy Grant
> VML | Lead Systems Administrator
> 2020 Baltimore, Kansas City, MO 64108
> office: +1.816.218.1956
> fax: +1.816.472.5234
> mobile: +1.913.636.1112
> email: [1]jgrant@vml.com
>
> Before you print, please think about the environment.
> Confidentiality Statement This transmission is confidential and
> intended solely for the party to whom it is addressed. If the reader of
> this email is not the intended recipient, you are hereby notified that
> it may contain privileged, confidential and trade secret information,
> and that any dissemination, distribution, copying or use of the
> information in this transmission is strictly prohibited. If you have
> received this transmission in error, please immediately notify the
> sender at the email address above, and delete all copies of it from
> your computer.
>
> References
>
> 1. file://localhost/tmp/jgrant@vml.com
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Working with OEMs
2010-02-08 16:48 ` C Michael Sundius
@ 2010-02-08 18:37 ` Philip Balister
2010-02-09 17:56 ` C Michael Sundius
2010-02-09 21:47 ` Michael Smith
1 sibling, 1 reply; 9+ messages in thread
From: Philip Balister @ 2010-02-08 18:37 UTC (permalink / raw)
To: openembedded-devel
On 02/08/2010 11:48 AM, C Michael Sundius wrote:
> - I find it a bit dishartening that Holger does not recommend you to use OE
> for software development. One of the main reasons we were in search for a
> comprehensive build system was so that we could offer a consistent means of
> buliding our entire distribution to all developers and Configurtion Mgmt,
> Testing, Release teams alike with out everyone having to be an expert with
> all parts of the system (and all different build tools that had cropped up
> in the different locations we have engineers - india, US east coast, west
> coast). It *is* difficult to make it work for devlopers and build teams
> alike, but having a consistent means building software is a huge step
> creating a really great build system. Further if people are discouraged from
> using OE as a tool for developers, then it will never get any better and
> this hole of support in OE will not be filled.
Another way of looking at Holder's response is that we feel we could do
a better job of supporting people using OE to do software development.
There are certainly ways to use OE to do SW development.
I would really like to see us look at improving the experience for
people doing sw dev for OE based distributions.
Philip
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Working with OEMs
2010-02-08 18:37 ` Philip Balister
@ 2010-02-09 17:56 ` C Michael Sundius
0 siblings, 0 replies; 9+ messages in thread
From: C Michael Sundius @ 2010-02-09 17:56 UTC (permalink / raw)
To: openembedded-devel
>
> Another way of looking at Holder's response is that we feel we could do a
> better job of supporting people using OE to do software development. There
> are certainly ways to use OE to do SW development.
>
> agreed. I really wanted to be cautious regarding my comment since I've
gotten such great help from this list, further, I do want to encourage
others organizations to use and promote OE as a tool to help make the task
of building a uniform process for developers and CM alike.
>
>
>
> I would really like to see us look at improving the experience for people
> doing sw dev for OE based distributions.
>
>
that said I'd still love to hear from other developers about problems that
they have encountered and how they have overcome or didn't. I think it would
be an interesting discussion.
mike
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Working with OEMs
2010-02-08 16:48 ` C Michael Sundius
2010-02-08 18:37 ` Philip Balister
@ 2010-02-09 21:47 ` Michael Smith
2010-02-09 22:33 ` Peter Chubb
2010-02-09 23:01 ` C Michael Sundius
1 sibling, 2 replies; 9+ messages in thread
From: Michael Smith @ 2010-02-09 21:47 UTC (permalink / raw)
To: openembedded-devel
C Michael Sundius wrote:
> Further, I wonder if there are others out there who also feel
> this way? My understanding is that Monta Vista is using OE; are there voices
> on this list from MV or others that use OE for creating a consistent means
> of building for developers and Config/Release Managers? If so, what are your
> tricks and complaints with respect to this issue.
Hi Mike,
I'm using COLLECTIONS, the srctree and gitver classes, plus amend.inc. I
think all of the above come from Chris at MV. It's about three billion
times better than the custom build system we had before.
We have four trees:
- public: playground for new recipes before submitting to OE; also,
amend.inc's to tweak packaging behaviour or configure flags.
- private: recipes to build closed-source drivers from our suppliers;
- oe: full org.openembedded.dev;
- proj: git repos for internal projects get cloned here, and added to
COLLECTIONS with wildcards
Building the internal projects with OE means they barely even need to be
cross-compile aware. All they need is a simple Makefile, and a git tag
to set the package version. It's way easier than writing a one-off build
system for each project.
The only problem is that bitbake takes forever to start up: COLLECTIONS
causes a re-exec of Python, I think, and there are about 8,000 recipes
in the tree. But we get around it by passing in a specific recipe file
with -b.
For release management, I have a class that creates a list of the .deb
packages that would have gone into an image, and a script that checks
them into the right place in CVS. If you use Angstrom I think you get
the same list for free every time you build an image. The class just
saves me from waiting for rootfs to run.
Mike
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Working with OEMs
2010-02-09 21:47 ` Michael Smith
@ 2010-02-09 22:33 ` Peter Chubb
2010-02-09 23:23 ` C Michael Sundius
2010-02-09 23:01 ` C Michael Sundius
1 sibling, 1 reply; 9+ messages in thread
From: Peter Chubb @ 2010-02-09 22:33 UTC (permalink / raw)
To: openembedded-devel
We are also attempting to use BitBake +OE for development. We have a
several packagaes (a hypervisor, a kernel patched to use that
hypervisor, some libraries that act as glue between the two, and some
bits for bootloading) that are under active development, and build
several customised root images baseed on micro to run on top.
Problems we've faced are that bitbake doesn't keep track of
interpackage dependencies except by PR, so the normal `test think edit
build test ...' cycle is complicated by having to remember to remove
the packages we want rebuilt from the various caches that oe
maintains.
Setting BB_STAMP_POLICY="full" helps for this.
--
Dr Peter Chubb www.nicta.com.au peter DOT chubb AT nicta.com.au
http://www.ertos.nicta.com.au ERTOS within National ICT Australia
From Imagination to Impact Imagining the (ICT) Future
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Working with OEMs
2010-02-09 21:47 ` Michael Smith
2010-02-09 22:33 ` Peter Chubb
@ 2010-02-09 23:01 ` C Michael Sundius
1 sibling, 0 replies; 9+ messages in thread
From: C Michael Sundius @ 2010-02-09 23:01 UTC (permalink / raw)
To: openembedded-devel
On Tue, Feb 9, 2010 at 1:47 PM, Michael Smith <msmith@cbnco.com> wrote:
> C Michael Sundius wrote:
>
>> Further, I wonder if there are others out there who also feel
>> this way? My understanding is that Monta Vista is using OE; are there
>> voices
>> on this list from MV or others that use OE for creating a consistent means
>> of building for developers and Config/Release Managers? If so, what are
>> your
>> tricks and complaints with respect to this issue.
>>
>
> Hi Mike,
>
> I'm using COLLECTIONS, the srctree and gitver classes, plus amend.inc. I
> think all of the above come from Chris at MV. It's about three billion times
> better than the custom build system we had before.
>
> We have four trees:
>
> - public: playground for new recipes before submitting to OE; also,
> amend.inc's to tweak packaging behaviour or configure flags.
> - private: recipes to build closed-source drivers from our suppliers;
> - oe: full org.openembedded.dev;
> - proj: git repos for internal projects get cloned here, and added to
> COLLECTIONS with wildcards
>
we used just two collections:
openembedded: a trimmed down openembedded tree with just the recipes that
we use
local: just like your "private"
> Building the internal projects with OE means they barely even need to be
> cross-compile aware. All they need is a simple Makefile, and a git tag to
> set the package version. It's way easier than writing a one-off build system
> for each project.
>
> The only problem is that bitbake takes forever to start up: COLLECTIONS
> causes a re-exec of Python, I think, and there are about 8,000 recipes in
> the tree. But we get around it by passing in a specific recipe file with -b.
>
> this is why we only use a trimmed down version of the OE tree. our
developers would completely revolt if we had to parse all 20k recipes... I
think its really 20k...
this is easier for building, but makes it harder to sync with the main tree.
but I'm thinking that maybe I'll just create a file with a list of the
recipes (or just the recipe dirs) that I can used to build my BBFILES list
with. That way I'll be able to keep the whole oe tree..
We do not use git here :[ we used something call Synergy CCM (I had never
heard of it before either, but I guess its a company owned by IBM... its not
very friendly) , anyhow there is no fetcher currently supported. I see that
we will likely need to write our own fetcher so that we can enforce
versioning better.
we've, however, really actually been very successful by creating a class
that adds a task before the patch task.. it just sets up a symlink to the
checked out version of the code... its simple and I'm sure we could do
something fancier, but it wroks really well... it just means that we need to
pair the baseline of the OE repo w/ the source code repo.
-----------------
I have not used the srctree class, though I noticed it a while back and have
not had time to check out what it is or how it works.. (Now I guess I have
to go and educate myself...). Also not aware of the amend.inc file
-----------------
we've had long discussions about how to reconsile our software versions (for
proprietery code) and the recipe versions since they don't really follow the
version - revision way of doing things that OE uses. This has been difficult
one, I'd like to push them to be better with versioning, but infact we need
to have a real fetcher for our source control software before we can enforce
which version is built by each recipe.
---------
Finally, our drivers and applications teams just condensed their nicly
modularized recipes into just two recipes because intra recipe dependency
checking was not working (i.e. when you rebuild one recipe its dependant
recipes should rerun, but don't). I finally provided them a solution but
they had already created monster recipes for all of their source code :}
> For release management, I have a class that creates a list of the .deb
> packages that would have gone into an image, and a script that checks them
> into the right place in CVS. If you use Angstrom I think you get the same
> list for free every time you build an image. The class just saves me from
> waiting for rootfs to run.
>
we use lots of magic that puts the image in a form that can be installed on
the box. this is done in the image-postprocessing function (theres a hook
for this in the image class, forget what its called). we don't really track
the individual packages.. just the image since we never allow installing
individual packages the box.
thanks for your comments.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Working with OEMs
2010-02-09 22:33 ` Peter Chubb
@ 2010-02-09 23:23 ` C Michael Sundius
0 siblings, 0 replies; 9+ messages in thread
From: C Michael Sundius @ 2010-02-09 23:23 UTC (permalink / raw)
To: openembedded-devel
On Tue, Feb 9, 2010 at 2:33 PM, Peter Chubb <peter.chubb@nicta.com.au>wrote:
> We are also attempting to use BitBake +OE for development. We have a
> several packagaes (a hypervisor, a kernel patched to use that
> hypervisor, some libraries that act as glue between the two, and some
> bits for bootloading) that are under active development, and build
> several customised root images baseed on micro to run on top.
>
> Problems we've faced are that bitbake doesn't keep track of
> interpackage dependencies except by PR, so the normal `test think edit
> build test ...' cycle is complicated by having to remember to remove
> the packages we want rebuilt from the various caches that oe
> maintains.
>
>
> Setting BB_STAMP_POLICY="full" helps for this.
>
I was never able to make that trick work.I always ran into a problem where
it gave me a circular dependency with some of the native tools... (quilt if
I remember)
anyhow, I created a patch to bitbake just last week I posted it. I created a
variable BB_STAMP_BLACKLIST which creates a list of recipes which should be
checked for time stamp dependencies between recipes... It seems to work
well, and is maybe a little less checking (faster?) if you know that there
are a few apis you can just list those recieps...
mike
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2010-02-09 23:25 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-02-05 19:28 Working with OEMs Jeremy Grant
2010-02-06 19:12 ` Holger Hans Peter Freyther
2010-02-08 16:48 ` C Michael Sundius
2010-02-08 18:37 ` Philip Balister
2010-02-09 17:56 ` C Michael Sundius
2010-02-09 21:47 ` Michael Smith
2010-02-09 22:33 ` Peter Chubb
2010-02-09 23:23 ` C Michael Sundius
2010-02-09 23:01 ` C Michael Sundius
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.