[Openembedded-users] overlay questions

Anthony Tzouris anthony at ideal-enterprises-inc.com
Thu Jun 11 16:09:30 UTC 2009


My (non-overlay) build for the davinci-dvevm target creates a
*/stuff*/build/tmp/work directory of about 8 GB with "bitbake
bootstrap-image".  After I create and build the overlay with "bitbake
boostrap-image" it seems to take the same amount of time to build as the
initial non-overlay build.

I expected

    * only the overriden source package would be built from source code
    * reuse of all of the already built non-overlay build tree items
    * build time to be very short
    * that the overlay directory ~/tmp/work would end up being around
      the same disk usage size (8 GB) as the non-overlay build and it is.

I did not expect

    * when building the overlay that all would be built again from
      source again
    * it would take that long to build as if I was building from scratch


I am trying to get a feel for the overlay to see if I am using it
correctly and how most other developers (users of OE) are performing
their development as users of OE and not developers of OE.  My purpose
is to use the OE environment overlay as a developer directory that can
be checked out of subversion for multiple users and multiple instances
per user as well.  I am needing the overlay to be small and not take a
long time to build for the initial and subsequent "bitbake
bootstrap-image" builds in the overlay directory.

*_Questions_*

   1. Is my understanding correct or incorrect on the how the overlay
      should work?
   2. Are developers (users of OE and not developers of OE) using this
      overlay for development or just using non-overlay build trees for
      development?
   3. Does it look like I botched the overlay setup? (See procedure
      inline below)
   4. I must say that OE is very impressive work.  Is there any
      documentation for advanced use of OE for users of OE available?  I
      am only finding basic usage documentation for OE.

_*Procedure*_

I created the overlay with the following procedure:

 non-overlay build directory */stuff*
 overlay build directory */home/user/oe*.

_*Step #1*_
Create the base overlay directory
*/home/user/oe*

Under the */home/user/oe* directory create the following subdirectories

*/home/user/oe*/local/classes
*/home/user/oe*/local/conf/distro/include
*/home/user/oe*/local/conf/machine
*/home/user/oe*/local/recipes/images
*/home/user/oe*/local/recipes/tasks
*/home/user/oe*/build/conf

_*Step #2*_
Copy the *local.conf* and *site.conf* files to the new overlay area at
the following path

*/home/user/oe*/local/conf/site.conf
*/home/user/oe*/local/conf/local.conf

site.conf file
--snip
DL_DIR = "*/home/user*/sources/dl/"
CVSDIR = "*/home/user*/sources/cvs/"
GITDIR = "*/home/user*/sources/git/"
SVNDIR = "*/home/user*/sources/svn/"

PKGDIR = "*/stuff*/openembedded/recipes/"
BBFILES = "${PKGDIR}/*/*.bb"

BBINCLUDELOGS = "yes"
PARALLEL_MAKE = "-j4"
--snip

local.conf file (excerpt from end of file)
--snip
BBFILES := "*/stuff*/openembedded/recipes/*/*.bb
*/home/user/oe*/local/recipes/*/*.bb"
BBFILE_COLLECTIONS = "upstream local"
BBFILE_PATTERN_upstream = "*/stuff*/openembedded/recipes"
BBFILE_PATTERN_local = "*/home/user/oe*/local/recipes"
BBFILE_PRIORITY_upstream = "5"
BBFILE_PRIORITY_local = "10"
--snip

_*Step #3*_
set the following environment shell variable either from the command
line as follows:

export BBPATH=*/home/user/oe*/local:*/stuff*/build:*/stuff*/openembedded


_*Step #4

*_Copy the following file from the */stuff* original build tree to the
*/home/user/oe*/local overlay directory structure_*
*_
file from
*/stuff*/openembedded/recipes/linux/linux-davinci-2.6.27.bb

file to
*/home/user/oe*/local/recipes/linux/linux-davinci-2.6.27.bb


_*Step #5

*_Modify the bb file for the kernel
*/home/user/oe*/local/recipes/linux/linux-davinci-2.6.27.bb to point to
a dummy file for the SRC_URI to get the source and point the bb file to
a local directory for the sources

--snip
SRC_URI = "*/home/user/oe*/local/files/dummy.txt"

S = "*/home/user/oe*/local/source/linux-davinci-2.6.27-r0/git"
--snip

_*Step #6

*_Copy the source for the linux-davinci kernel from

*/stuff/*build/tmp/work/davinci-dvevm-angstrom-linux-gnueabi/linux-davinci-2.6.27-r0/git

to

*/home/user/oe*/local/source/linux-davinci-2.6.27-r0/git


_*Step #7*_

cd */home/user/oe*/build
bitbake -D bootstrap-image

to build the project in the overlay directory.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-users/attachments/20090611/b6739be0/attachment-0002.html>


More information about the Openembedded-users mailing list