Project

General

Profile

Building the Root Filesystem with Yocto

Please note that Yocto support is in Beta and bugs may be present. We encourage you to contact us regarding bugs you may encounter.

Prerequisites

This procedure is known to work on Ubuntu 14.04. Note: Yocto Daisy does not work in Ubuntu 16.04, though we'd love to hear from anyone who got it working.

https://www.yoctoproject.org/docs/2.0/ref-manual/ref-manual.html#required-packages-for-the-host-development-system

$ sudo apt-get install chrpath gawk diffstat unzip texinfo g++ gcc-multilib build-essential socat libsdl1.2-dev u-boot-tools git

Clone the git repositories to build the filesystem, kernel, and u-boot using Yocto

  1. Clone the poky repo of the Yocto Project (Tested Commit: 39ec0738d4bdc566eca2724dc35c557955042242)
    $ git clone -b daisy git://git.yoctoproject.org/poky.git
    $ cd poky
    
  2. Make sure you are in the poky directory. Clone the mitysom-335x meta-layer - Custom layer for Critical Link 335x Devkit
    $ git clone -b daisy git://support.criticallink.com/home/git/meta-mitysom-335x.git
    
  3. Clone the Critical Link layer
    $ git clone -b daisy git://support.criticallink.com/home/git/meta-criticallink.git
    
  4. Clone TI's meta-layer - Used for PowerVR Graphics (Tested Commit: 090b02a104924886afd0fa79be7b5d08eebf071f)
    $ git clone -b daisy git://git.yoctoproject.org/meta-ti
    
  5. Clone Open-Embedded - Dependency for Graphics and NTP (Tested Commit: d3d14d3fcca7fcde362cf0b31411dc4eea6d20aa)
    $ git clone -b daisy git://git.openembedded.org/meta-openembedded
    
  6. Clone the Linaro toolchain layer (Tested Commit: 56ca81ca1ea8ec83a34dc8f55cc923a8eb2ccaa1)
    git clone -b daisy git://git.linaro.org/openembedded/meta-linaro.git
    
  7. Clone the Qt5 layer - Provide Qt5 support on the filesystem (Tested Commit: 23405d3a66c308e0b2ea64308b834285850c5c9f)
    git clone -b daisy git://github.com/meta-qt5/meta-qt5.git
    

Building the filesystem, kernel, and u-boot using Yocto

  1. Setup build environment (this will create a directory called mitysom-335x and cd into it)
    $ source oe-init-build-env mitysom-335x
    
  2. Copy the example local.conf
    $ cp ../meta-mitysom-335x/conf/machine/local.conf.sample conf/local.conf
    
  3. Edit conf/bblayers.conf by adding the mitysom-335x,TI and oe-embedded layers. See ../meta-mitysom-335x/conf/machine/bblayers.conf.sample for example.
    Make sure /export/space corresponds to the correct path to the yocto project
    Make sure the order is exactly the same
    BBLAYERS ?= " \
      /export/space/yocto_335x/meta-mitysom-335x \
      /export/space/yocto_335x/meta-criticallink \
      /export/space/yocto_335x/meta-qt5 \
      /export/space/yocto_335x/meta-ti \
      /export/space/yocto_335x/meta-linaro/meta-linaro-toolchain \
      /export/space/yocto_335x/meta-openembedded/meta-oe \
      /export/space/yocto_335x/meta-openembedded/meta-networking \
      /export/space/yocto_335x/meta-openembedded/toolchain-layer \
      /export/space/yocto_335x/meta \
      /export/space/yocto_335x/meta-yocto \
      /export/space/yocto_335x/meta-yocto-bsp \
      " 
    
  4. Begin the build
    $ bitbake mitysom-335x-devkit
    

    - When complete, the following built files will be in mitysom-335x/tmp/deploy/images/mitysom-335x/
    - u-boot.img
    - MLO
    - uImage
    - mitysom-mitysom-335x.tar.bz2
  5. For instructions on making an SD card, see Creating an SD Card

Go to top
Add picture from clipboard (Maximum size: 1 GB)