Project

General

Profile

Yocto for MitySOM-5CSX

The instructions for building the older dora branch can be found here: Yocto Dora Instructions

If you are interested in building / maintaining your own linux distribution from source for the MitySOM-A10S family, there is a Yocto compatible meta layer for the module provided at https://support.criticallink.com/gitweb/?p=meta-cl-socfpga.git;a=summary.

The current branch of the Critical Link SOCFPGA is: rocko.
The recommend Operating System for the build machine: Ubuntu 16.04

Built rocko Toolchain: poky-glibc-x86_64-mitysom-image-base-cortexa9hf-neon-toolchain-2.4.4.sh

Please note that yocto builds can use around 35GB of space on the host machine.

Setting up the Build Environment

In order to build the filesystem is recommended to use Ubuntu 16.04 with the following packages installed:

sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential chrpath socat libsdl1.2-dev python curl libssl-dev bc python3 tig libncurses5-dev libncursesw5-dev

Setting up Yocto

Yocto is made up of multiple meta layers, these layers are stored in git repositories. To get everything setup to build, these repositories will need to be cloned and a few config files will need to be copied over.

  1. Open a terminal
  2. Clone all the needed repositories
    git clone -b rocko git://git.yoctoproject.org/poky
    cd poky
    git clone -b rocko git://git.openembedded.org/meta-openembedded
    git clone -b rocko git://git.yoctoproject.org/meta-ti
    git clone -b rocko git://support.criticallink.com/home/git/meta-cl-socfpga.git
    
  1. Source the yocto environment
    . ./oe-init-build-env
    
  2. Copy the Critical Link's Example configuration files into the build/conf
    cp ../meta-cl-socfpga/conf/bblayers.conf.sample conf/bblayers.conf
    cp ../meta-cl-socfpga/conf/local.conf.5cs conf/local.conf
    

Performing the Yocto Build

The following steps will build the filesystem that is used on the Critical Link MitySOM-5CSx development kit.

  1. Open a terminal and change into the poky directory
  2. Source the yocto environment
    . ./oe-init-build-env
    
  3. Build the filesystem
    bitbake mitysom-image-base
    

After the build completes the tarball of the filesystem can be found in: tmp/deploy/images/mitysom-c5/mitysom-image-base-mitysom-c5/

Build the SDK

The following steps will build the SDK with the cross-compiler toolchain that is used on the Critical Link MitySOM-5CSx development kit.

  1. Open a terminal and change into the poky directory
  2. Source the yocto environment
    . ./oe-init-build-env
    
  3. Build the filesystem
    bitbake mitysom-image-base -c populate_sdk
    

After the build completes the tarball of the filesystem can be found in: tmp/deploy/sdk/poky-glibc-x86_64-mitysom-image-base-cortexa9hf-neon-toolchain-2.4.3.sh

Changes from Dora Branch

The new meta-cl-socfpga layer was based off of the meta-mitysom-5csx layer. The name change is because the layer now also supports Critical Links' MitySOM-A10S, which uses the Intel Arria 10 SoC.

The notable changes to the layer are as follows:
  • Addition of the 4.9.78-ltsi kernel, which is the default now for the MitySOM-5CSx
  • Change to build the kernel as a zImage instead of uImage

Steps to Switch back to older kernel format

It is still possible to configure the rocko branch to build the 3.16 kernel and uImage. To do so follow the above instructions for setting yocto but after copying over the example local.conf edit it and add the followings lines to:

KERNEL_IMAGETYPE = "uImage"                                                                                                                                                                   │
UBOOT_ENTRYPOINT = "0x00008000"                                                                                                                                                               │
KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT}"                                                                                                                                           │
                                                                                                                                                                                              │
LINUX_VERSION_SUFFIX = ""                                                                                                                                                                     │
LINUX_VERSION = "3.16"                                                                                                                                                                        │
KBRANCH = "socfpga-3.16" 

Go to top
Add picture from clipboard (Maximum size: 600 MB)