GUF-Yocto-jethro-9.0-r7707-0
i.MX6
User Manual
$ cd ~
$ mkdir yocto
$ cd yocto
$ cp /media/sda1/Tools/GUF-Yocto-jethro-9.0-r7707-0.tar.bz2 .
$ tar -xvf GUF-Yocto-jethro-9.0-r7707-0.tar.bz2
If everything went right, we have a
GUF-Yocto-jethro-9.0-r7707-0
directory now, so we can change into it:
$ cd GUF-Yocto-jethro-9.0-r7707-0
8.4
Building the BSP for the target platform
In the Yocto directory, the following command selects the platform to be built:
$ MACHINE=imx6guf source setup-environment build-imx6guf
After that the shell should have changed the current working directory to the platform specific build directory
build-imx6guf
. Please note, that this step has to be executed each time a new shell is used for the build process
(e.g. after a reboot), since it sets necessary environment variables.
To build packages and complete images, the Yocto build tool
Bitbake
is used. It is documented in the official
Yocto documentation and online in the
OpenEmbedded Bitbake Manual
:
http://www.yoctoproject.org/docs/2.0/bitbake-user-manual/bitbake-user-manual.html
Yocto builds the images from build descriptions called
recipes
. The recipe to build the Garz & Fricke Linux image
is called
guf-image
. To build this image, call:
$ bitbake guf-image
This step automatically downloads all necessary parts from the web, builds the native toolchains as well as the
target binaries. As this step is fairly complex, and many packages will be created and compiled, it takes quite
some time. On our development machines, a complete build takes approximately 60 minutes. On weaker systems
it can take several hours.
After the build has finished, the images are located in your build directory under
tmp/deploy/images/imx6guf
.
The most important ones are the kernel image (
uImage-imx6guf.bin
) , the devicetree files (
uImage-imx6*.dtb
)
and the root file system (
guf-image-imx6guf.tar.gz
).
Rather than files itself, these are symbolic links to the former build artifacts in the same directory. Every succes-
sive build of the image creates new artifacts with a recent timestamp in its name.
58