Message ID | 1379588394-28990-3-git-send-email-kim.hansen@prevas.dk |
---|---|
State | Changes Requested |
Delegated to: | Esben Haabendal |
Headers | show |
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+ >
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+
From: Kim Højgaard-Hansen <kiho@prevas.dk> --- build.txt | 52 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 51 insertions(+), 1 deletion(-)