element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
    About the element14 Community
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      •  Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
WaRP7
  • Products
  • Dev Tools
  • Single-Board Computers
  • WaRP7
  • More
  • Cancel
WaRP7
Blog Warp7 Yocto : Part1 : setup, configure and generate Warp7 binaries
  • Blog
  • Forum
  • Documents
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join WaRP7 to participate - click to join for free!
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: tusharp
  • Date Created: 16 Sep 2016 7:30 AM Date Created
  • Views 9973 views
  • Likes 4 likes
  • Comments 89 comments
  • tusharp
  • imx7
  • yocto
  • image
  • bitbake
  • warp7
  • embedded
  • yocto-bsp
  • linux
Related
Recommended

Warp7 Yocto : Part1 : setup, configure and generate Warp7 binaries

tusharp
tusharp
16 Sep 2016

Contents

1. Warp7 Yocto Part1 <-- You are here

2. Warp7 Yocto Part2

3. Warp7 Sensors demo - mpl3115a2

4. Warp7 Sensors demo - fxos8700cq

5. Warp7 IoT demo

 

The Warp7 is a next generation Wearable and IoT development platform.

plz refer  NXP and element14 website for more platform related information.

 

Warp7 Board

fd53fb.jpg

CPU Board

34nmm39.jpg

IO Board

2dkfsao.jpg

 

In this blog we will

1. Download warp7 yocto sources.

2. Setup required environment.

3. add/customise warp7 machine configs.

4. Compile and generate binaries.

 

 

A bit on yocto before we start :

oq9937.jpg

 

If you are new to yocto , plz make sure to check the yocto project before proceeding.

 

Platform Setup:

I am using Ubuntu 14.04 x86_64 for the build process. you can use do this from a Virtual Machine (vmware, virtualbox) also.

 

We need to install some packages on which yocto depends for the build process.

sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential chrpath socat libsdl1.2-dev \
xterm sed cvs subversion coreutils texi2html python-pysqlite2 help2man make gcc g++ desktop-file-utils libgl1-mesa-dev \
libglu1-mesa-dev mercurial autoconf automake groff curl lzop u-boot-tools

 

vr90kz.jpg

 

Download repo:

We need to have a repo tool to pull yocto sources.

 

mkdir ~/bin
curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
export PATH=~/bin:$PATH

 

Download Yocto:

following steps will help download yocto sources from NXP(Freescale) official repository:

 

mkdir warp7_yocto
cd warp7_yocto
repo init -u https://github.com/Freescale/fsl-community-bsp-platform -b krogoth
repo sync

 

Before building the yocto bsp we need to update the yocto build with warp7 config.

To configure we need to pass the proper MACHINE name as a macro.

 

Determine machine name:

echo; ls sources/*/conf/machine/*.conf | sed s/\.conf//g | sed -r 's/^.+\///' | xargs -I% echo -e "\t%" | grep imx

 

1444o6p.jpg

 

The Warp7 machine name is imx7s-warp .

 

 

Setting up the environment:

 

MACHINE=imx7s-warp source setup-environment build

 

2useno7.jpg

 

Select "Y" to accept the EULA license and complete the machine config setup.

 

9bi39u.jpg

 

Now a build directory is created under ~/warp7_yocto directory.

It contains the build system settings for warp7 machine(i.e local.conf) and yocto bitbake layers path information (i.e bblayers.conf).

 

local.conf

1z4a4vn.jpg

 

bblayers.conf

141tfeq.jpg

 

 

Customise warp7 machine config:

Now edit the kernel source in warp7 machine configuration file.

 

in ~/warp7_yocto/sources/meta-fsl-arm-extra/conf/machine/imx7s-warp.conf file, edit as below.

Replace

PREFERRED_PROVIDER_virtual/kernel ?= "linux-fslc-imx"

with

PREFERRED_PROVIDER_virtual/kernel ?= "linux-warp"

 

Now the kernel source will be pulled from the linux-warp%%  bitbake recipe.

Create a directory named "linux-warp7-4.1" and recipe named "linux-warp7_4.1.bb" in below path.

~/warp7_yocto/sources/meta-fsl-arm-extra/recipes-kernel/linux/

 

mkdir ~/warp7_yocto/sources/meta-fsl-arm-extra/recipes-kernel/linux/linux-warp7-4.1
touch ~/warp7_yocto/sources/meta-fsl-arm-extra/recipes-kernel/linux/linux-warp7_4.1.bb

 

 

Populating warp7 recipe:

populate the recipe "linux-warp7_4.1.bb" with below contents.

# Released under the MIT license (see COPYING.MIT for the terms)

 

include recipes-kernel/linux/linux-imx.inc

include recipes-kernel/linux/linux-dtb.inc

 

DEPENDS += "lzop-native bc-native"

 

SRCBRANCH = "4.1-1.0.x-imx"

SRCREV = "fa571312b4271e368ca99ffcdf7992247d534e55"

 

SRC_URI = "git://github.com/WaRP7/linux-fslc.git;branch=${SRCBRANCH} \

           file://defconfig"

 

COMPATIBLE_MACHINE = "(imx7s-warp)"

 

In above recipe we setup 4.1-1.0.x-imx as source branch for our kernel and file defconfig will be the default kernel config file.

Next copy the defconfig file (in attachment) into the linux-warp7-4.1 directory.

 

 

Downloading yocto packages:

If you want to build images offline, its a good idea to download the packages first.

bitbake core-image-minimal -c fetchall

 

 

Build:

bitbake core-image-minimal

 

Now build, it will take several hours to complete depending on your PC configuration.

 

While kernel build is in process you might encounter an error wrt imx7s-warp.dtb.

This will happen is there is no imx7s-warp.dts file in below directory.

~/warp7_yocto/build/tmp/work/imx7s_warp-poky-linux-gnueabi/linux-warp7/4.1-r0/git/arch/arm/boot/dts

 

below is a snapshot from the log file that captured the above  error.

90avr7.jpg

 

In that case copy the imx7s-warp.dts from the attachments to the below directory:

~/warp7_yocto/build/tmp/work/imx7s_warp-poky-linux-gnueabi/linux-warp7/4.1-r0/git/arch/arm/boot/dts

 

2s7dqv4.jpg

 

Now hit build again.

 

After build completed, the images build are found in ~/warp7_yocto/build/tmp/deploy/images/imx7s-warp

noajk7.jpg

 

 

Let us know any challenges faced during build procedure through comments.

 

Next time we will flash the generated images.

 

Happy Warping.

Attachments:
warp7_attachments.zip
  • Sign in to reply

Top Comments

  • bwelsby
    bwelsby over 9 years ago in reply to Jan Cumps +1
    Jan Cumps wrote: bitbake -fetch finished successful (14 hours on the raspberry pi to complete all 189 jobs. it used 4 job threads to allocate tasks on this board), now up to the next step: build That's…
  • bheemarao
    bheemarao over 9 years ago +1
    I tried building the same as shown steps below bheema@Bheema:~/warp7_yocto$ MACHINE=imx7s-warp source setup-environment build-warp7 then by default the kernel will fetch from "include recipes-kernel/linux…
  • Jan Cumps
    Jan Cumps over 9 years ago in reply to Jan Cumps +1
    Installing the dependencies. Once I'm at the bitbake line, I'll switch to bheemarao 's steps...
  • Jan Cumps
    Jan Cumps over 9 years ago in reply to bheemarao

    bheemarao, are you building it on an intel processor (the one running your ubuntu)?

     

    edit: asking because the failures seem to be related with trying to build the image on a machine that runs on an ARM.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • bheemarao
    bheemarao over 9 years ago

    I tried building the same as shown steps below

     

    bheema@Bheema:~/warp7_yocto$ MACHINE=imx7s-warp source setup-environment build-warp7

     

    then by default the kernel will fetch from "include recipes-kernel/linux/linux-fslc.inc" which is located in linux-warp7_4.1.bb

    "/home/bheema/warp7_yocto/sources/meta-fsl-arm-extra/recipes-kernel/linux"

     

    then

    $ bitbake core-image-minimal

     

    bheema@Bheema:~/warp7_yocto/build-warp7$ bitbake core-image-minimal
    NOTE: Your conf/bblayers.conf has been automatically updated.
    Parsing recipes: 100% |######################################################################################################################################################################| Time: 00:00:49
    Parsing of 1663 .bb files complete (0 cached, 1663 parsed). 2197 targets, 189 skipped, 0 masked, 0 errors.
    NOTE: Resolving any missing task queue dependencies
    
    Build Configuration:
    BB_VERSION        = "1.30.0"
    BUILD_SYS         = "x86_64-linux"
    NATIVELSBSTRING   = "Ubuntu-14.04"
    TARGET_SYS        = "arm-poky-linux-gnueabi"
    MACHINE           = "imx7s-warp"
    DISTRO            = "poky"
    DISTRO_VERSION    = "2.1.2"
    TUNE_FEATURES     = "arm armv7ve vfp thumb neon       callconvention-hard       cortexa7"
    TARGET_FPU        = "hard"
    meta              
    meta-yocto        = "HEAD:ae9b341ecfcc60e970f29cfe04306411ad26c0cf"
    meta-oe           
    meta-multimedia   = "HEAD:55c8a76da5dc099a7bc3838495c672140cedb78e"
    meta-fsl-arm      = "HEAD:e2254e7b2ded0c2b66b1226f879b3a6d52037b2d"
    meta-fsl-arm-extra = "HEAD:e95f4ae61fdaf6452d6dfa9cb59dbdf9cdf73c99"
    meta-fsl-demos    = "HEAD:a165068f8a0d1cf29aabe4b4053f28be1c2aa492"
    
    NOTE: Fetching uninative binary shim from http://downloads.yoctoproject.org/releases/uninative/1.0.1/x86_64-nativesdk-libc.tar.bz2;sha256sum=acf1e44a0ac2e855e81da6426197d36358bf7b4e88e552ef933128498c8910f8
    NOTE: Preparing RunQueue
    NOTE: Executing SetScene Tasks
    NOTE: Executing RunQueue Tasks
    WARNING: zlib-native-1.2.8-r0 do_fetch: Failed to fetch URL http://www.zlib.net/zlib-1.2.8.tar.xz, attempting MIRRORS if available
    WARNING: linux-libc-headers-4.4-r0 do_fetch: Failed to fetch URL http://kernel.org/pub/linux/kernel/v4.x/linux-4.4.tar.xz, attempting MIRRORS if available
    WARNING: libpcre-native-8.38-r0 do_fetch: Failed to fetch URL ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.38.tar.bz2, attempting MIRRORS if available

     

    image

     

    image

    after this execution i got the images in folder "/home/bheema/warp7_yocto/build-warp7/tmp/deploy/images/imx7s-warp"

     

    image

    i shall port this sdcard image and let you know the status of working on warp7 board.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • Jan Cumps
    Jan Cumps over 9 years ago in reply to Jan Cumps

    I've retried everything, now with the instructions from the Warp7 User Guide Manual.

    I run in the same issues as soon as I start the bitbake , and more (different) errors along the way when I fixes the one.

     

    ERROR: /home/jcumps/nxp/fsl-community-bsp/sources/meta-fsl-arm/recipes-devtools/cst/cst_git.bb: cannot map 'armv7l' to a linux kernel architecture
    ERROR: /home/jcumps/nxp/fsl-community-bsp/sources/meta-fsl-arm/recipes-devtools/cst/cst_git.bb: cannot map 'armv7l' to a linux kernel architecture

     

     

    NOTE: Resolving any missing task queue dependencies
    ERROR: Nothing PROVIDES 'nasm-native' (but /home/jcumps/nxp/fsl-community-bsp/sources/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_8d+1.4.2.bb DEPENDS on or otherwise requires it)
    ERROR: nasm-native was skipped: incompatible with host armv7l-linux (not in COMPATIBLE_HOST)
    NOTE: Runtime target 'gstreamer1.0-plugins-good-souphttpsrc' is unbuildable, removing...
    Missing or unbuildable dependency chain was: ['gstreamer1.0-plugins-good-souphttpsrc', 'jpeg', 'nasm-native']
    NOTE: Runtime target 'packagegroup-fsl-gstreamer1.0' is unbuildable, removing...
    Missing or unbuildable dependency chain was: ['packagegroup-fsl-gstreamer1.0', 'gstreamer1.0-plugins-good-souphttpsrc', 'jpeg', 'nasm-native']
    ERROR: Required build target 'fsl-image-machine-test' has no buildable providers.
    Missing or unbuildable dependency chain was: ['fsl-image-machine-test', 'packagegroup-fsl-gstreamer1.0', 'gstreamer1.0-plugins-good-souphttpsrc', 'jpeg', 'nasm-native']
    
    
    Summary: There was 1 WARNING message shown.
    Summary: There were 5 ERROR messages shown, returning a non-zero exit code.

     

    I'm running a plain ubuntu with all dependencies from the install documents.

    I can try to install an ubuntu14 (I'm running 16_x now, and the build flags Host distribution "Ubuntu-16.04" 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.) I'm not that convinced that it's the issue though - I think that the build scripts (and those several dependencies) aren't working well with the processor type ARMv7l...

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • Jan Cumps
    Jan Cumps over 9 years ago in reply to bwelsby

    The PI hasn't run out of resources during the processes. I'm monitoring to see if I run out of them during the build.

    If I'd run into memory allocation issues I could define a swap but it hasn't been necessary until now (maybe also because there's only room to run four tasks it isn't that memory hungry)

    The number of cores is a given, so I can't complain that there's not more processor grunt available.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • bwelsby
    bwelsby over 9 years ago in reply to Jan Cumps

    Jan Cumps wrote:

     

    bitbake -fetch finished successful (14 hours on the raspberry pi to complete all 189 jobs. it used 4 job threads to allocate tasks on this board), now up to the next step: build

    That's good news, but 14 HOURS !!!!!  ouch! That roughly works out to over 4 days for the full build.  It will use 4 job threads because it's a quad core processor and that may also be a cause of further problems due to the relative low amount of memory on the RPi and no swap space configured. If you did have swap enabled then that could put a excessive load on the uSD card (if it isn't already straining).   Having a USB HD boot configuration for the Pi would be my preferred opinion.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
<>
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2026 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube