Building the Root Filesystem with Yocto¶
- Table of contents
- 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.
$ 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¶
- Clone the poky repo of the Yocto Project (Tested Commit: 39ec0738d4bdc566eca2724dc35c557955042242)
$ git clone -b daisy git://git.yoctoproject.org/poky.git $ cd poky
- 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
- Clone the Critical Link layer
$ git clone -b daisy git://support.criticallink.com/home/git/meta-criticallink.git
- Clone TI's meta-layer - Used for PowerVR Graphics (Tested Commit: 090b02a104924886afd0fa79be7b5d08eebf071f)
$ git clone -b daisy git://git.yoctoproject.org/meta-ti
- Clone Open-Embedded - Dependency for Graphics and NTP (Tested Commit: d3d14d3fcca7fcde362cf0b31411dc4eea6d20aa)
$ git clone -b daisy git://git.openembedded.org/meta-openembedded
- Clone the Linaro toolchain layer (Tested Commit: 56ca81ca1ea8ec83a34dc8f55cc923a8eb2ccaa1)
git clone -b daisy git://git.linaro.org/openembedded/meta-linaro.git
- 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¶
- Setup build environment (this will create a directory called mitysom-335x and cd into it)
$ source oe-init-build-env mitysom-335x
- Copy the example local.conf
$ cp ../meta-mitysom-335x/conf/machine/local.conf.sample conf/local.conf
- 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 sameBBLAYERS ?= " \ /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 \ "
- 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 - For instructions on making an SD card, see Creating an SD Card
Go to top