Freescale Yocto Project main page

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Freescale Yocto Project main page

No ratings

Freescale Yocto Project main page


Yoctoproject Framework

Yoctoproject is a framework for creating Linux distributions for embedded devices. Its layering mechanism makes it easy to add Linux to new target devices highly customized for a particular platform; it can include custom start-up scripts, software packages built with a high degree of optimization for a particular architecture, and different user interfaces from full Gnome desktop to a simple a serial console.

Yocto has 2 basic layers: board support packages layer and core layer. In the BSP layer is where all the custom software and configuration tweaks for a particular platform are included, while the core layer provides the common software stack to provide from a simple command line interface to Sato desktop interface (Matchbox based and Gnome mobile software stack). A third layer could be added to provide additional user interfaces LXDE, XFCE, and more; YP is quite flexible&emdash;one of it major strengths.

Installing any Needed Package

Go to Yocto Project Quick Start and double check that you have all the necessary packages installed for your machine.

For example, if building machine was an Ubuntu machine:

$ sudo apt-get install gawk wget git-core diffstat unzip texinfo  build-essential chrpath libsdl1.2-dev xterm curl


Using Yocto and i.MX Boards

Please, go to project's README file in order to see the recommended instructions to download the source code.

Testing Yocto for i.MX6

How to test Yocto for i.MX 6

i.MX53 QSB - Quick Start Board

Edit conf/local.conf user config file and set imx53 Quick start board machine and enable parallel build features.

MACHINE ?= "imx53qsb" 
BB_NUMBER_THREADS = "4" 
PARALLEL_MAKE = "-j 4"

i.MX6 Sabre Lite Board

Edit conf/local.conf user config file and set i.MX6 Sabrelite board machine and enable parallel build features

MACHINE ?= "imx6qsabrelite" 
BB_NUMBER_THREADS = "4" 
PARALLEL_MAKE = "-j 4"

if you've been facing problems to get yocto's images working on your i.MX Sabre Lite board, please take a look on this comment Re: The kernel sometins hang  in L3.0.35_4.0.0_130424 release

Build the image

some example of available image:

image name
description
core-image-minimalA small image just capable of allowing a device to boot.
core-image-baseA console-only image that fully supports the target device hardware.
core-image-satoImage with sato, a mobile environment and visual style for mobile devices.  The image supports X11 with a Sato theme, Pimlico applications and contains terminal, editor and file manager.
fsl-image-testBuilds contents core-image-base plus Freescale test applications and multimedia components.
fsl-image-guiBuilds contents of core-image-sato with Freescale test applications and multimedia with hardware accelerated X11

To build the image:

$ bitbake <image_name> 

Build using Dash instead can bring some problems. You can check what your system uses typing: "ls -l /bin/sh". On Ubuntu you can change it using "dpkg-reconfigure bash". Some Ubuntu releases you must use "dpkg-reconfigure dash" and choose Bash

Built images are located in

cd tmp/deploy/images 

SDCard Image

sudo dd if=core-image-minimal-imx6qsabrelite.sdcard of=/dev/sdb 

i.MX Yocto Project: Frequently Asked Questions

Labels (1)
Comments

Hi

Thanks a lot for the information.


I tried to use the instruction above to build image for iMX6q SabreLite, but I've got a error below when I try to do "bitbake core-image-minimal"

=================================

Summary: There were 2 WARNING messages shown.

Summary: There were 2 ERROR messages shown, returning a non-zero exit code.

WARNING: Host distribution "Ubuntu 10.10" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.

Loading cache: 100% |###########################################| ETA:  00:00:00

Loaded 1160 entries from dependency cache.

ERROR: No recipes available for:

  /home/its/poky/meta-fsl-arm/recipes-core/udev/udev_173.bbappend

ERROR: Command execution failed: Exited with 1

=====================================


Anybody can help? I am very new to Yocto/bitbake, we used to build image by using ltib,


Thanks a lot.

I'll update the page above soon. Meanwhile, I suggest you to use the instructions located at:

Freescale/fsl-community-bsp-platform · GitHub

For i.MX53 platform, use the denzil branch, for i.MX6, use the master branch.

Rgds

Rogerio

Please refer to the bellow link to check the community supported way to build Freescale Yocto layers

How to test yocto for imx6

What does it wrong ?

I did step by step from this tutorial..

gorio@ubuntu:/opt/poky/build$ bitbake core-image-minimal

Loading cache: 100% |############################################################| ETA:  00:00:00

Loaded 1600 entries from dependency cache.

Build Configuration:

BB_VERSION        = "1.17.1"

BUILD_SYS         = "x86_64-linux"

NATIVELSBSTRING   = "Ubuntu-10.04"

TARGET_SYS        = "arm-poky-linux-gnueabi"

MACHINE           = "imx53qsb"

DISTRO            = "poky"

DISTRO_VERSION    = "1.3+snapshot-20130308"

TUNE_FEATURES     = "armv7a vfp neon"

TARGET_FPU        = "vfp-neon"

meta             

meta-yocto        = "master:d823759b4594143d522eae0b2a2498436a6dcb1e"

meta-oe           = "master:6c9ac38e8b998e6739383ba91e0c4e0c0ed0094b"

meta-fsl-arm      = "master:a502be66bef33f2016b43f8c7129b18f92d6e337"

NOTE: Resolving any missing task queue dependencies

NOTE: Preparing runqueue

NOTE: Executing SetScene Tasks

NOTE: Executing RunQueue Tasks

ERROR: Function failed: do_configure (see /opt/poky/build/tmp/work/armv7a-vfp-neon-poky-linux-gnueabi/busybox/1.20.2-r6/temp/log.do_configure.23360 for further information)

ERROR: Logfile of failure stored in: /opt/poky/build/tmp/work/armv7a-vfp-neon-poky-linux-gnueabi/busybox/1.20.2-r6/temp/log.do_configure.23360

Log data follows:

| DEBUG: Executing python function sysroot_cleansstate

| DEBUG: Python function sysroot_cleansstate finished

| DEBUG: Executing shell function do_configure

| trap: 80: SIGHUP: bad trap

| ERROR: Function failed: do_configure (see /opt/poky/build/tmp/work/armv7a-vfp-neon-poky-linux-gnueabi/busybox/1.20.2-r6/temp/log.do_configure.23360 for further information)

ERROR: Task 914 (/opt/poky/meta/recipes-core/busybox/busybox_1.20.2.bb, do_configure) failed with exit code '1'

NOTE: Tasks Summary: Attempted 1030 tasks of which 1026 didn't need to be rerun and 1 failed.

Waiting for 0 running tasks to finish:

Summary: 1 task failed:

  /opt/poky/meta/recipes-core/busybox/busybox_1.20.2.bb, do_configure

Summary: There was 1 ERROR message shown, returning a non-zero exit code.

gorio@ubuntu:/opt/poky/build$

Hi gorio, please post your question on the meta-freescale mailing list. Check this document for instructions.

Hi Leonardo Sandoval Gonzalez,

Met same error as Eduardo Gorio in busybox,. So, Freescale will support repo way for our build only? Either or customize build for our own board?

BR Thomas

Hi Thomas,

sorry for the confusion but this document should not be used to build Freescale Yocto layers, please refer to this document

How to test yocto for imx6

Repeat the steps, and try to build the same core image. If error persists, please send the description/log to the meta-freescale distribution list.

Thank you for the information on how to get started with the new Yocto based Freescale BSPs. Could you please assist me with a problem fetching the repositories? It appears that protocols/ports other than HTTP are blocked by the corporate firewall. Changing to HTTP though results in errors finding the info subdirectory. Can you please suggest a resolution to this problem?

The output from repo is as follows:

$ ./repo sync
fatal: unable to connect to github.com:
github.com[0: 207.97.227.239]: errno=Connection timed out

fatal: unable to connect to github.com:
github.com[0: 207.97.227.239]: errno=Connection timed out

fatal: unable to connect to github.com:
github.com[0: 207.97.227.239]: errno=Connection timed out

fatal: unable to connect to git.yoctoproject.org:
git.yoctoproject.org[0: 140.211.169.56]: errno=Connection timed out

fatal: unable to connect to git.yoctoproject.org:
git.yoctoproject.org[0: 140.211.169.56]: errno=Connection timed out

fatal: unable to connect to github.com:
github.com[0: 207.97.227.239]: errno=Connection timed out

fatal: unable to connect to github.com:
github.com[0: 207.97.227.239]: errno=Connection timed out

fatal: unable to connect to github.com:
github.com[0: 207.97.227.239]: errno=Connection timed out

error: Cannot fetch meta-fsl-arm
error: Cannot fetch meta-fsl-arm-extra
error: Cannot fetch meta-fsl-demos
error: Cannot fetch fsl-community-bsp-base
fatal: unable to connect to git.openembedded.org:
git.openembedded.org[0: 140.211.169.152]: errno=Connection timed out

fatal: unable to connect to git.openembedded.org:
git.openembedded.org[0: 140.211.169.152]: errno=Connection timed out

error: Cannot fetch meta-openembedded

error: Exited sync due to fetch errors
$ sed -i 's/git:/http:/g' .repo/manifest.xml
$ ./repo sync
Fetching projects:  16% (1/6)  fatal: http://git.yoctoproject.org/meta-fsl-arm/info/refs not found: did you run git update-server-info on the server?
Fetching projects:  66% (4/6)  fatal: http://git.yoctoproject.org/poky/info/refs not found: did you run git update-server-info on the server?
fatal: http://git.yoctoproject.org/meta-fsl-arm/info/refs not found: did you run git update-server-info on the server?
fatal: http://git.yoctoproject.org/poky/info/refs not found: did you run git update-server-info on the server?
error: Cannot fetch meta-fsl-arm
error: Cannot fetch poky

error: Exited sync due to fetch errors
$

Might use 'git clone' to check git command.

Yes a 'git clone http://git.yoctoproject.org/meta-fsl-arm' confirms that the meta-fsl-arm committers are not running git update-server-info so http access does not work. Until this is fixed I will use a zip archive

No idea Nick. You need to talk to the admin guy :smileyhappy:

Further investigation reveals that the url http://git.yoctoproject.org/git/meta-fsl-arm works

It seems that to change the repo from using the git protocol to using the http prtocol can be achieved as follows:

$ sed -i 's/git:/http:/g' .repo/manifest.xml

$ sed -i 's|yoctoproject.org|yoctoproject.org/git|g' .repo/manifest.xml

I hope this helps others who are experiencing problems when following the supported BSP installation process from behind firewalls that do not support git


OtavioSalvador, any other workaround you know to avoid the issue that Nick found?

Leo

All ugly hacks. He might use:

  • sed after every sync (as he did)
  • use local_manifests.xml
  • use gitconfig 'insteadOf' configuration

all hacks! better to fix the firewall.

In the prerequisites for an Ubuntu Machine there is

sudo apt-get install wget 


but in the fsl-community-bsp-platform/README there is

$: curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo

Should this instead be

$: wget https://dl-ssl.google.com/dl/googlesource/git-repo/repo -O ~/bin/repo

or should curl be added as a prerequisite?

You can use both for downloading the repo app. Both packages are requisites.

Leo

Ok if both packages are prerequisites then please change the text for the Ubuntu command in the section above entitled "Installing any Needed Package" to:

$ sudo apt-get install gawk wget git-core diffstat unzip texinfo \
  build-essential chrpath libsdl1.2-dev xterm curl

This would help new users who need to be able to follow the instructions verbatim

Nick

Thanks Nick. I have corrected the verbatim, adding the curl package.

Leo

I did a build of fsl-image-test and it boots but I still seem to have an OpenGL ES environment which required X11.  In other builds I had a libGAL and libgal-fb which had the fbGetDisplayByIndex calls so I could run with fbdev.  Is there a configuration option I am missing?

Brian

BrianEdmond, what branch are you using?

The default distribution used on yocto (and meta-fsl-arm) is poky.conf. And by default X11 is selected.

If you´re using master, you can override your DISTRO_FEATURES and remove X11. Take a look on poky.conf file under source :smileywink:

got a fsl-image-gui to compile for mx53qsb. I have a customboard with an attached LVDS lcd, but both vga as lcd remain black on boot. I attached a serial cable but only get gibberish over this (non-ascii characters). Does anyone know 1) where to find info on how to configure LVDS lcd and 2) where to configure tty/console so i can check my settings and actually see what's happening when I try the image

if you got  a custom board, why are you using a mx53qsb machine? unless the board is the same, you need to create your own board layer with proper changes.

Leo

Hi All,

I want to boot my Imx6q Sabre AI board with Yocto, can I follow the same steps suggested in this post, if not please suggest a thread/link that i can follow to achieve this.

Thanks

Ram

The only difference would be the machine name to place in local.conf.

Thanks DaianeAngolini

Please let me know where can i find local.conf file, in fsl-community-bsp

Folder tree after repo and clone

fsl-community-bsp -> sources--------------------------------- > base

                                README                                  meta-fsl-arm

                                setup-environment                      meta-fsl-arm-extra

                                                                                 meta-fsl-demos

                                                                                 meta-openembedded

                                                                                 poky

Thanks

Ram

After:

$ source setup-environment build

the local.conf file will be placed inside

<your-yocto-folder>/build/conf/local.conf

Hi All,

I want to know where exactly the actual source code will reside after "repo sync", since I see only bitbake, patch and *.inc files under source directory. Please let me know.

Thank you,

Gautham

look under "sources"

you will see "sources/meta-fsl-arm" "sources/meta-fsl-demos" "sources/poky"

hkh

Hello,

I am using a Boundarydevices Nitrogen6x with a iMX6 Solo processor.

I followed Daiane’s instruction to build my Yocto Dora image. I was able to build core-image-base, but had a problem with fsl-image-test. I found the following issue and applied the change manually (it must not be in the branch since sync was not retrieving the patch):
https://lists.yoctoproject.org/pipermail/meta-freescale/2014-April/008057.html

Also, I used menuconfig to disable ov5642 and enable ov5640.

I can build the images, but can’t use gstreamer. I keep getting this error:
ERROR: v4l2 capture: mxc_v4l_dqueue timeout enc_counter 0
VIDIOC_DQBUF failed.
ERROR: v4l2 capture: VIDIOC_QBUF: buffer already queued
VIDIOC_QBUF failed

I know my hardware works because with the Timesys demo SD Card that came with the board I can use the following command to display the MIPI camera image on the LCD:

$ gst-launch mfw_v4lsrc capture-mode=5 ! mfw_v4lsink disp-width=1280 disp-height=800

I have tried many gstreamer commands, and they all fail with the same error. One example is:
$ gst-launch mfw_v4lsrc ! mfw_v4lsink

I tried adding capture-mode=4 to the above command, and I get the same error.

Are you aware of any issue with the latest Yocto Image that would cause this problem (something similar to the patch above that I had to apply)? What else can I try?

Here is the complete snapshot of the error I am getting:

root@nitrogen6x:~# gst-launch mfw_v4lsrc ! mfw_v4lsink
MFW_GST_V4LSRC_PLUGIN 3.0.9 build on Apr 16 2014 09:57:53.
pwm_config: pwm freq = 22000000, clk_select=1 clock_rate=66000000
ov5640_mipi_camera_powerdown: powerdown=0, power_gp=0xa9
MFW_GST_V4LSINK_PLUGIN 3.0.9 build on Apr 16 2014 09:57:39.
Setting pipeline to PAUSED …
pwm_config: pwm freq = 22000000, clk_select=1 clock_rate=66000000
ov5640_mipi_camera_powerdown: powerdown=0, power_gp=0xa9
Pipeline is live and does not need PREROLL …
Setting pipeline to PLAYING …
New clock: GstSystemClock
ERROR: v4l2 capture: mxc_v4l_dqueue timeout enc_counter 0
ERROR: from element /GstPipeline:pipeline0/MFWGstV4LSrc:mfwgstv4lsrc0: Internal data flow error.
Additional debug info:
/yocto/build/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer/0.10.36-r2/gstreamer-0.10.36/libs/gst/base/gstbasesrc.c(2625): gst_base_src_loop (): /GstPipeline:pipeline0/MFWGstV4LSrc:mfwgstv4lsrc0:
streaming task paused, reason error (-5)
Execution ended after 10004586509 ns.
Setting pipeline to PAUSED …
Setting pipeline to READY …
Setting pipeline to NULL …
Total rendered:0
Freeing pipeline …
[—>FINALIZE v4l_sink
root@nitrogen6x:~# ov5640_mipi_camera_powerdown: powerdown=1, power_gp=0xa9

root@nitrogen6x:~#

Thanks,

hkh, the issue you found regarding 'mesa' has been fixed in OE-Core and Poky yesterday. You can drop this change from meta-fsl-arm and it will work just fine.

I am not a good person to help with GStreamer stuff. LeonardoSandovalGonzalez, can you take a look here?

Please, LeonardoSandovalGonzalez, hkh and OtavioSalvador, create a new topic in imx.community.

Please, remind to add all log available. With kernel version, MM version and branch name.

It´s very difficult to us, hkh to provide support when the DOC has several comments on it. It´s much easier to start with a new and clear thread, with all the text futures it has in it (like quote, mark a answer as helpfull, as so on).

Thanks in advance,

There's an error in the document, the part about dash.  You can check what your system uses typing: "ln -s /bin/sh" should probably be "ls -l /bin/sh" since "ln -s /bin/sh" would simply create a symbolic link in the current directory pointing to /bin/sh.

Hello community, have an urgent need for input on touch screen integration. Please help!

We're developing a project which requires touch screen function. The processor we use is i.MX6 dual light. Source code is Yocto 1.5.

The LCD is working. We integrated the touch screen driver and can see on the computer that is connected to the board through serial port that touch screen reports coordinates for touches which indicates that touch screen does work. However, the system doesn't respond to touches. No icon displayed on the LCD is touched and the mouse arrow doesn't move with a finger touching the screen. Any advice where to look to see which part is broken?

Thanks!

All, we're closing this document for any further comments.  If you have a comment about this document or if you have an issue doing what the document describes, please start a new discussion.  Thanks.

Version history
Last update:
‎09-10-2020 03:34 AM
Updated by: