Transcript: from git checkout to meta-intel BSP
To build and run a meta-intel BSP, you need to check out a local copy of the poky repo, along with a local copy of the meta-intel repo somewhere inside the poky checkout e.g. see below (the example below uses the 'fishriver' BSP as an example. For other meta-intel BSPs, you can use the instructions in the same way - just substitute the BSP name you actually want to build below e.g. for the jasperforest BSP, substitute 'jasperforest', 'meta-jasperforest', etc.
First do the basic checkout of the Yocto sources:
trz@elmorro:/usr/local/src$ mkdir Yocto trz@elmorro:/usr/local/src$ cd Yocto/ trz@elmorro:/usr/local/src/Yocto$ git init Initialized empty Git repository in /usr/local/src/Yocto/.git/ trz@elmorro:/usr/local/src/Yocto$ git remote add poky git://git.pokylinux.org/poky.git trz@elmorro:/usr/local/src/Yocto$ git remote update Fetching poky remote: Counting objects: 93654, done. remote: Compressing objects: 100% (28485/28485), done. remote: Total 93654 (delta 63441), reused 92073 (delta 62265) Receiving objects: 100% (93654/93654), 61.50 MiB | 253 KiB/s, done. Resolving deltas: 100% (63441/63441), done. From git://git.pokylinux.org/poky * [new branch] bernard -> poky/bernard * [new branch] bernard-5.0.1 -> poky/bernard-5.0.1 * [new branch] blinky -> poky/blinky * [new branch] clyde -> poky/clyde * [new branch] elroy -> poky/elroy * [new branch] green -> poky/green * [new branch] laverne -> poky/laverne * [new branch] master -> poky/master * [new branch] pinky -> poky/pinky * [new branch] purple -> poky/purple * [new tag] bernard-5.0 -> bernard-5.0 * [new tag] pinky-3.1.2 -> pinky-3.1.2 From git://git.pokylinux.org/poky * [new tag] bernard-1.0rc1 -> bernard-1.0rc1 * [new tag] bernard-5.0-alpha -> bernard-5.0-alpha * [new tag] bernard-5.0rc1 -> bernard-5.0rc1 * [new tag] bernard-5.0rc2 -> bernard-5.0rc2 * [new tag] laverne-4.0 -> laverne-4.0 * [new tag] laverne-4.0.1 -> laverne-4.0.1 * [new tag] m4 -> m4 * [new tag] purple-3.2 -> purple-3.2 * [new tag] purple-3.2.1 -> purple-3.2.1 trz@elmorro:/usr/local/src/Yocto$ git checkout -b bernard-cur poky/bernard Branch bernard-cur set up to track remote branch bernard from poky. Switched to a new branch 'bernard-cur'
Now check out the meta-intel repo into the top-level Yocto repo dir:
trz@elmorro:/usr/local/src/Yocto$ mkdir meta-intel trz@elmorro:/usr/local/src/Yocto$ cd meta-intel trz@elmorro:/usr/local/src/Yocto/meta-intel$ git init Initialized empty Git repository in /usr/local/src/Yocto/meta-intel/.git/ trz@elmorro:/usr/local/src/Yocto/meta-intel$ git remote add meta-intel git://git.pokylinux.org/meta-intel.git trz@elmorro:/usr/local/src/Yocto/meta-intel$ git remote update trz@elmorro:/usr/local/src/Yocto/meta-intel$ git checkout -b fishriver meta-intel/master Branch fishriver set up to track remote branch master from meta-intel. Switched to a new branch 'fishriver' trz@elmorro:/usr/local/src/Yocto/meta-intel$ cd .. trz@elmorro:/usr/local/src/Yocto$ source poky-init-build-env You had no conf/local.conf file. Poky has created this configuration file for you with some default values. You may wish to edit it to use a different MACHINE (target hardware) or enable parallel build options to take advantage of multiple cores for example. See the file for more information as common configuration options are commented. Also, for more information see the Poky Reference Manual: http://yoctoproject.org/community/documentation You had no conf/bblayers.conf file. Poky has created this configuration file for you with some default values. To add additional metadata layers into your configuration please add entries to this file. For more information see the Poky Reference Manual: http://yoctoproject.org/community/documentation ### Shell environment set up for Poky builds. ### You can now run 'bitbake <target>' Common targets are: poky-image-minimal poky-image-sato meta-toolchain meta-toolchain-sdk You can also run generated qemu images with a command like 'poky-qemu qemux86'
Before building, you need to add the meta-fishriver layer so the build recognizes it. So edit bblayers.conf:
trz@elmorro:/usr/local/src/Yocto/build$ emacs -nw conf/bblayers.conf
And change:
BBLAYERS = " \ /usr/local/src/Yocto/meta \ "
to:
BBLAYERS = " \ /usr/local/src/Yocto/meta \ /usr/local/src/Yocto/meta-intel/meta-fishriver \ "
You also need to make a few changes to your local.conf:
trz@elmorro:/usr/local/src/Yocto/build$ emacs -nw conf/local.conf
Change:
MACHINE ??= "qemux86"
to
MACHINE ??= "fishriver"
To make the build go faster, depending on how many CPUs you have change the following variables. I have 4 cores, with HT, so I'm changing my values to 8:
trz@elmorro:/usr/local/src/Yocto/build/conf$ emacs -nw local.conf BB_NUMBER_THREADS = "8" PARALLEL_MAKE = "-j 8"
You're now ready to build your image, which make take several hours:
trz@elmorro:/usr/local/src/Yocto/build$ cd /usr/local/src/Yocto/ trz@elmorro:/usr/local/src/Yocto$ source poky-init-build-env ### Shell environment set up for Poky builds. ### You can now run 'bitbake <target>' Common targets are: poky-image-minimal poky-image-sato meta-toolchain meta-toolchain-sdk You can also run generated qemu images with a command like 'poky-qemu qemux86' trz@elmorro:/usr/local/src/Yocto/build$ bitbake poky-image-sato-live