summaryrefslogtreecommitdiffstats
path: root/doc/README
blob: 37567c47ad86ab1c6c4b9c71e83e59983e7a14d4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
OpenEmbedded Build Infrastructure README
--

Project overview:

(Note, the following is a high-level blurb, initial pass,
which may refer to functionality that does not yet exist, but will
by the time said blurb is advertised as fact.)

OpenEmbedded is a full-featured development environment allowing 
users to target a wide variety of devices.  Supporing multiple
build, release paths, and configurations, OpenEmbedded extends the
capabilities of your build and release engineers.  OpenEmbedded
uses compilation and configuration caching at most levels to improve
developer efficiency.

Basic operation:

At its simplist, OpenEmbedded is a metadata management system, and
multiple tools that make use of said data.  What this comes down to,
is a set of tools that manage builds and deployment in a single place,
regardless of what target device, operating system, or packaging system
we're building for.

Assuming that you already have a .oe file or set of .oe files to utilize,
the following applies:

First, unless you installed an OE rpm, deb, or ipk, you'll want to set OEDIR
to point to the OE repository that contains classes/ and bin/oe/.

	cd oe
	OEDIR=`pwd`
	export OEDIR

Next, for convenience, you'll want to add OEDIR/bin to your path.

	PATH=$PATH:$OEDIR/bin

Then, unless you're building natively (for the same architecture and operating
system as you are building from), you'll want to customize conf/local.conf within
the directory you'll be buliding from.

	cd packages
	echo 'TARGET_ARCH=arm' >> conf/local.conf
 
Finally, you can start the build.  There are a few ways to do so.  First, you
can run 'oebuild' on a single OE.  Second, you can run oemake, which operates
on an existing set of metadata, and will follow build dependencies.

	oebuild content/glibc_2.3.2.oe
	-or-
	export OEFILES=`pwd`/content/*.oe
	oemake glibc_2.3.2

Please see the other files in doc/, as well as the --help output for each of the OE
commands, for further details on the capabilities and use of the system.

Thanks,

Chris Larson - kergoth at handhelds dot org
Embedded Linux Developer - clarson at ti dot com