Patchwork [doc,3/3] add first steps to build chapter

login
register
mail settings
Submitter kim.hansen@prevas.dk
Date Sept. 19, 2013, 10:59 a.m.
Message ID <1379588394-28990-3-git-send-email-kim.hansen@prevas.dk>
Download mbox | patch
Permalink /patch/275942/
State Changes Requested
Delegated to: Esben Haabendal
Headers show

Comments

kim.hansen@prevas.dk - Sept. 19, 2013, 10:59 a.m.
From: Kim Højgaard-Hansen <kiho@prevas.dk>

---
 build.txt | 52 +++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 51 insertions(+), 1 deletion(-)
Kim Højgaard-Hansen - Sept. 23, 2013, 7:22 a.m.
On 23/09/13 09:16, Jacob Barsøe Kjærgaard wrote:
> On 09/19/2013 12:59 PM, kim.hansen@prevas.dk wrote:
>> From: Kim Højgaard-Hansen <kiho@prevas.dk>
>>
>> ---
>>   build.txt | 52 +++++++++++++++++++++++++++++++++++++++++++++++++++-
>>   1 file changed, 51 insertions(+), 1 deletion(-)
>>
>> diff --git a/build.txt b/build.txt
>> index 5f5630a..ebd335e 100644
>> --- a/build.txt
>> +++ b/build.txt
>> @@ -13,4 +13,54 @@ an SDK toolchain image, and so on.
>>     Building is done with the OE-lite Bakery sub-command called "bake".
>>   -TBD...
>> +Before building you need to setup the build configuration in the file
>> ++conf/local.conf+.
>> +
>> +A very minimal example configuration purely to test that building 
>> works:
>> +
>> +--------
>> +DISTRO = "base"
>> +MACHINE_CPU = "arm-926ejs"
>> +PROVIDED = "all"
>> +SDK_CPU = "i686"
>> +SDK_OS = "linux-gnu"
>> +RMWORK = "0"
>> +--------
>> +
>> +The +DISTRO+ variable selects the OE-lite
>> +xref:_oe_lite_terminology[distribution]. Here we choose a simple 
>> distribution
>> +called base to be able to build something. Next we set the cpu we 
>> want to
>> +cross compile for using +MACHINE_CPU+. It is also possible to set 
>> +MACHINE+ to
>> +target a specific board e.g. raspberry-pi or pandaboard.
> This is only somewhat correct. The raspberry pi requires an additional 
> meta layer (bcm2835)
> whereas the pandaboard does not.
hmm yes, that needs re-wording, to say that for that you need to use the 
appropriate manifest.
The point was just to say that you don't have to set MACHINE_CPU. Let me 
try reformulating it.
>
> -Jacob
>> +The +PROVIDED+ variable is used to inform the bake command what 
>> dependencies
>> +can be assumed to be provided on the host system. See 
>> +conf/provided/all.conf+
>> +in the core metadata layer. The +SDK+ variables are used to specify 
>> what
>> +architecture the OE-lite xref:_oe_lite_terminology[SDK] should be 
>> build for.
>> ++RMWORK+ currently need to be set to 0 since automatic removal of 
>> temporary
>> +build files is not implemented. Optionally you may want to set
>> ++PARALLEL_MAKE = "-j X"+ where X is the number of CPUs available on 
>> your host
>> +system + 1, to speed up the build.
>> +
>> +Now it is possible to choose something to build with the bake 
>> command. In
>> +OE-lite all xref:_oe_lite_terminology[recipes] can be build. A 
>> recipe is a
>> +file with the +.oe+ file extension, take a look at what recipes you 
>> have in
>> +your current manifest using:
>> +
>> +--------
>> +find . -name '*.oe'
>> +--------
>> +
>> +The primary goal of the building process in OE-lite is to produce 
>> deployable
>> +images, so for this example we will build an image. In the base 
>> metadata layer
>> +a rootfs image recipe is located in: +recipes/images+ which we can try
>> +building:
>> +
>> +--------
>> +oe bake base-rootfs
>> +--------
>> +
>> ++oe+ will resolve the list of dependencies, present you with a list 
>> of what
>> +needs to be built and ask for confirmation before continuing. The build
>> +process takes a while, but in the end you should see that 
>> base-rootfs was
>> +build and the elapsed build time. The deployable images are now 
>> located in
>> ++tmp/images+
>

Patch

diff --git a/build.txt b/build.txt
index 5f5630a..ebd335e 100644
--- a/build.txt
+++ b/build.txt
@@ -13,4 +13,54 @@  an SDK toolchain image, and so on.
 
 Building is done with the OE-lite Bakery sub-command called "bake".
 
-TBD...
+Before building you need to setup the build configuration in the file
++conf/local.conf+.
+
+A very minimal example configuration purely to test that building works:
+
+--------
+DISTRO = "base"
+MACHINE_CPU = "arm-926ejs"
+PROVIDED = "all"
+SDK_CPU = "i686"
+SDK_OS = "linux-gnu"
+RMWORK = "0"
+--------
+
+The +DISTRO+ variable selects the OE-lite
+xref:_oe_lite_terminology[distribution]. Here we choose a simple distribution
+called base to be able to build something. Next we set the cpu we want to
+cross compile for using +MACHINE_CPU+. It is also possible to set +MACHINE+ to
+target a specific board e.g. raspberry-pi or pandaboard.
+The +PROVIDED+ variable is used to inform the bake command what dependencies
+can be assumed to be provided on the host system. See +conf/provided/all.conf+
+in the core metadata layer. The +SDK+ variables are used to specify what
+architecture the OE-lite xref:_oe_lite_terminology[SDK] should be build for.
++RMWORK+ currently need to be set to 0 since automatic removal of temporary
+build files is not implemented. Optionally you may want to set
++PARALLEL_MAKE = "-j X"+ where X is the number of CPUs available on your host
+system + 1, to speed up the build.
+
+Now it is possible to choose something to build with the bake command. In
+OE-lite all xref:_oe_lite_terminology[recipes] can be build. A recipe is a
+file with the +.oe+ file extension, take a look at what recipes you have in
+your current manifest using:
+
+--------
+find . -name '*.oe'
+--------
+
+The primary goal of the building process in OE-lite is to produce deployable
+images, so for this example we will build an image. In the base metadata layer
+a rootfs image recipe is located in: +recipes/images+ which we can try
+building:
+
+--------
+oe bake base-rootfs
+--------
+
++oe+ will resolve the list of dependencies, present you with a list of what
+needs to be built and ask for confirmation before continuing. The build
+process takes a while, but in the end you should see that base-rootfs was
+build and the elapsed build time. The deployable images are now located in
++tmp/images+