Everything is ready to play, let's go for it!
We should issue all bitbake commands from the build/ directory, so all work will be created within a tmp/ folder inside build/. Usually the first bitbake command to raise is:
~/my_OE/build$ bitbake nano or ~/my_OE/build$ bitbake helloworld
Basically what we are doing is to build a very simple package, because by building this first package the system will create all the staff related with building systems, compilers, linkers, glibc (or uclibc), and so on. This is a time consuming task, then we must be patients.
~/my_OE/build$ bitbake nano NOTE: Handling BitBake files: \ (4974/4974) [100 %] NOTE: Parsing finished. 0 cached, 4745 parsed, 229 skipped, 0 masked. NOTE: build 200804231554: started OE Build Configuration: BB_VERSION = "1.8.10" OE_REVISION = "02f2658aecfb649fc8c64f9e8ec8cce2af899d06" TARGET_ARCH = "i586" TARGET_OS = "linux" MACHINE = "epia" DISTRO = "generic" DISTRO_VERSION = ".dev-snapshot-20080423" TARGET_FPU = "" NOTE: Resolving any missing task queue dependencies ...
After this first compilation we will have a new tmp directory that is used by bitbake as output working directory. It shows the following structure:
~/my_OE/build/tmp/
|-- cache/
|-- cross/ ==> cross tools (gcc, ldd, ...)
|-- deploy/
| |-- images ==> final image files (cpio, jffs2, ext2, ...)
| `-- ipk ==> final packets
|-- rootfs/ ==> final rootfs layout.
|-- staging/ ==> shared items availables for the whole system.
|-- stamps/ ==> magnagement stamps.
`-- work/ ==> where bitbake uncompress, configure, compile, ...
It is strongly recommended to study the Bitbake manual. Anyway the following table shows the usual examples, for informational purposes:
| bitbake nano -c listtasks | tasks available for a package/recipe |
| bitbake nano -c rebuild -f | clean and build again a package |
| bitbake nano -c fetch -f | download again the source program |
| bitbake nano -c devshell | expand a gnome xterm ready to raise commands |
| bibake helloworld-image | image which will start a static executable that prints hello world |
| bitbake package-index | make Package index files for feeds |
| bitbake gpe-image | GPE-based kernel and rootfs |
| bitbake bootstrap-image | Build image contains task-base packages. |
| bitbake bootstrap-image -c buildall -f | build pending packages for bootstrap-image |
| bitbake bootstrap-image -c rootfs -f | populate rootfs again for bootstrap-image |