My OpenEmbedded environment II

Year ago I wrote post about my directory structure for all my work with OpenEmbedded. Recently I discovered that some people on #oe IRC channel follow this too. But they had some questions so I decided to write this post.

I use ~/devel/ to keep all things:

  • bitbake/ — Subversion tree of BitBake
  • build/ — place where I do all OE builds — for example:

    • build/native/ — native i686 build for developing OPIE
    • build/wrt/ — build for my OpenWRT powered router
  • doc/ — misc documentation (QT/E, Qtopia and other)

  • oe/ — OpenEmbedded directory

    • oe/org.openembedded.dev/ — development repository
    • oe/branch.oz354x/ — frozen repository for release
    • oe/hrw-packages/ — my misc testing packages
  • openwrt/ — copy of OpenWRT build system

  • opie/ — development for OPIE
  • sources/ — sources for builds:

    • cvs_dir/ — cvs checkouts
    • svn_dir/ — subversion checkouts
    • git_dir/ — git trees
    • dl_dir/ — archives

Each build dir contain those entries:

  • packages/ — symlink to packages tree of proper branch (for short paths when I play with bitbake -b)
  • conf/ — all configuration files:

    • site.conf — contain all paths (CVSDIR, SVNDIR, GITDIR, DL_DIR, BBFILES and common variables like BBINCLUDELOGS
    • local.conf — DISTRO setting and build related things like SRCDATE
    • auto.conf — MACHINE entry

Split into those 3 files give me possibility to start with new build fast. As I use multimachine thing only change to auto.conf is needed to build for other target device (file is generated with echo command). All common settings are in one site.conf file so for new build I only need to create ~/devel/build/newbuild/conf directory, copy site.conf& local.conf, generate auto.conf, edit local.conf and can start new build.

I hope that someone will find that info useful.

My site.conf:

DL_DIR = "/home/hrw/devel/sources/dl_dir/"
CVSDIR = "/home/hrw/devel/sources/cvs_dir/"
GITDIR = "/home/hrw/devel/sources/git_dir/"
SVNDIR = "/home/hrw/devel/sources/svn_dir/"

PKGDIR = "/home/hrw/devel/oe/org.openembedded.dev/packages/"
BBFILES = "${PKGDIR}/*/*.bb"

BBINCLUDELOGS = "yes"
PARALLEL_MAKE = "-j4"