Task #2 - First build

Document created by Daiane Angolini Employee on Jun 3, 2013Last modified by Daiane Angolini Employee on Mar 27, 2014
Version 9Show Document
  • View in full screen mode

Synchronize your source code

 

Source code you have is one week old now. So, first step is synchronize it.

$ repo sync

 

 

Create your local branch

$ repo start <new branch name> --all

 

 

Why should I create a local branch?

 

If you change *any* source code (for choosing another preferred kernel, for example) and want to sync again, or use master instead of dylan, you may be able to rebase or sync your source code, even with changes.

Or you found a bug, fixed that, and want to send a patch to community.

 

 

Choose your board

$ source setup-environment build

Now, you are in new created build directory.

 

The default board for dora is imx6qsabresd, you can choose QSB or imx28 if you prefer:

$ vi conf/local.conf

 

Your default local.conf file can looks like:

MACHINE ??= 'imx6qsabresd'

DISTRO ?= 'poky'

PACKAGE_CLASSES ?= "package_rpm"

EXTRA_IMAGE_FEATURES = "debug-tweaks"

USER_CLASSES ?= "buildstats image-mklibs image-prelink"

PATCHRESOLVE = "noop"

BB_DISKMON_DIRS = "\

STOPTASKS,${TMPDIR},1G,100K \

STOPTASKS,${DL_DIR},1G,100K \

STOPTASKS,${SSTATE_DIR},1G,100K \

ABORT,${TMPDIR},100M,1K \

     ABORT,${DL_DIR},100M,1K \

ABORT,${SSTATE_DIR},100M,1K"

CONF_VERSION = "1"

 

BB_NUMBER_THREADS = '4'

PARALLEL_MAKE = '-j 4'

ACCEPT_FSL_EULA = ""

 

 

Change MACHINE to your board name. In order to figure out what is your machine name:

$ ls ../sources/meta-fsl-arm/conf/machine/*.conf -l

-rw-rw-r-- 1 daiane daiane 504 2013-02-01 11:30 sources/meta-fsl-arm/conf/machine/imx23evk.conf

-rw-rw-r-- 1 daiane daiane 692 2013-02-01 11:30 sources/meta-fsl-arm/conf/machine/imx28evk.conf

-rw-rw-r-- 1 daiane daiane 794 2013-02-01 11:30 sources/meta-fsl-arm/conf/machine/imx31pdk.conf

-rwxrwxr-x 1 daiane daiane 690 2013-02-01 11:30 sources/meta-fsl-arm/conf/machine/imx35pdk.conf

-rw-rw-r-- 1 daiane daiane 332 2013-02-01 11:30 sources/meta-fsl-arm/conf/machine/imx51evk.conf

-rw-rw-r-- 1 daiane daiane 464 2013-02-01 11:30 sources/meta-fsl-arm/conf/machine/imx53ard.conf

-rw-rw-r-- 1 daiane daiane 456 2013-02-01 11:30 sources/meta-fsl-arm/conf/machine/imx53qsb.conf

-rw-rw-r-- 1 daiane daiane 410 2013-02-01 11:30 sources/meta-fsl-arm/conf/machine/imx6qsabreauto.conf

-rw-rw-r-- 1 daiane daiane 410 2013-02-01 11:30 sources/meta-fsl-arm/conf/machine/imx6qsabrelite.conf

-rw-rw-r-- 1 daiane daiane 402 2013-02-01 11:30 sources/meta-fsl-arm/conf/machine/imx6qsabresd.conf

 

For non-Freescale boards, see:

$ ls ../sources/meta-fsl-arm-extra/conf/machine/*.conf -l

-rw-rw-r-- 1 daiane daiane 425 Jun  3 13:09 sources/meta-fsl-arm-extra/conf/machine/cgtqmx6.conf

-rw-rw-r-- 1 daiane daiane 246 Jun  3 13:09 sources/meta-fsl-arm-extra/conf/machine/imx233-olinuxino-maxi.conf

-rw-rw-r-- 1 daiane daiane 190 Jun  3 13:09 sources/meta-fsl-arm-extra/conf/machine/imx233-olinuxino-micro.conf

-rw-rw-r-- 1 daiane daiane 188 Jun  3 13:09 sources/meta-fsl-arm-extra/conf/machine/imx233-olinuxino-mini.conf

-rw-rw-r-- 1 daiane daiane 502 Jun  3 13:09 sources/meta-fsl-arm-extra/conf/machine/imx6qsabrelite.conf

-rw-rw-r-- 1 daiane daiane 632 Jun  3 13:09 sources/meta-fsl-arm-extra/conf/machine/m28evk.conf

-rw-rw-r-- 1 daiane daiane 771 Jun  3 13:09 sources/meta-fsl-arm-extra/conf/machine/nitrogen6x.conf

-rw-rw-r-- 1 daiane daiane 493 Jun  3 13:09 sources/meta-fsl-arm-extra/conf/machine/wandboard-dual.conf

-rw-rw-r-- 1 daiane daiane 420 Jun  3 13:09 sources/meta-fsl-arm-extra/conf/machine/wandboard-solo.conf

 

Now you know every supported board.

For other supported board, take a look on Freescale/meta-fsl-arm-extra · GitHub

Or, see the meta-fsl-arm:dora release notes: Freescale Community BSP Release Notes 1.5 documentation

 

Start to build

 

The biggest image from meta-fsl-demos is fsl-image-gui. It has X11, gstreamer, fsl codec for gstreamer, unit-test, gpu, one gpu sample (with source code) for imx53 and QT 4.8. But it takes forever to build (if you are luck and have a powerful machine, it will take only few hours). In my PC it takes around 4,5 hours to complete (from scratch) at first time. If you have already built it once, it will take 3 seconds to decide nothing has been changed and about 15 minutes to wrap the image (it´s a 750MB rootfs, and it does take some time to create such big file)

 

But there is a lot of other images you can create. In order to see how many, please:

$ find ../sources -name *image*

 

I would say, start core-image-base. It does not have X11 or gstreamer or QT, but it take 30 minutes to build at first time. And should work great for any board.

 

Following, the complete sequence of commands, it´s only to make sure you´re on the right folder:

(you are still in build directory)

$ bitbake core-image-base

Note (24Feb2014): Required disk space for build image is ~18GB

 

Go to Yocto Training - HOME

Go to Task #1 - Download the source code

Go to Task #3 - The build result

 

 

 

Please, share any comment, question, issue.

Attachments

    Outcomes