Project

General

Profile

Building Root Filesystem 23.1

This guide covers the creation of the Critical Link provided Linux filesystem and SDK installation script for the MitySOM-5CSx Dev Kit.

Repository

Description Repository Branch Web Viewer
Critical Link MitySOM-A10S/MitySOM-5CSx meta layer git://support.criticallink.com/home/git/meta-cl-socfpga.git kirkstone gitweb

Overview

If you are interested in building or maintaining your own Linux distribution from source for the MitySOM-5CSx 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: Kirkstone
The recommended operating system for the build machine: Ubuntu 22.04

Pre-built Kirkstone toolchain: poky-glibc-x86_64-mitysom-image-base-cortexa9hf-neon-mitysom-c5-toolchain-4.0.20.sh

Note: Yocto can use around 50GB of space on the host machine.

Setting up the Build Environment

In order to build the filesystem is recommended to use Ubuntu 22.04 LTS 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

The actual build is executed within a preset docker container. You need to install the docker software package as outlined in the Docker Installation Guide on the docker website. Once you have docker installed, you need to fetch the docker container used for the build:

docker pull crops/poky:ubuntu-22.04

Setting up Yocto

Yocto is made up of multiple meta layers, these layers are stored in git repositories. To get everything set up 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 kirkstone git://git.yoctoproject.org/poky
    cd poky
    git clone -b kirkstone git://git.openembedded.org/meta-openembedded
    git clone -b kirkstone git://git.yoctoproject.org/meta-ti
    git clone -b kirkstone git://support.criticallink.com/home/git/meta-cl-socfpga.git
    
  3. Launch the docker container interactively:
    docker run --rm -it -v `pwd`:/work --workdir=/work crops/poky:ubuntu-22.04 /bin/bash
    
  4. You should be inside a bash shell of the docker contain. Source the yocto environment
    . ./oe-init-build-env
    
  5. 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-5CS development kit.

  1. Stay inside the docker container from the previous step, or if you have exited relaunch the container in the poky folder:
    docker run --rm -it -v `pwd`:/work --workdir=/work crops/poky:ubuntu-22.04 /bin/bash
    
  2. Source the yocto environment
    . ./oe-init-build-env
    
  3. Build the filesystem
    bitbake mitysom-image-base
    

Outputs

Description Location
Filesystem Tarball <Yocto Directory>/build/tmp/deploy/images/mitysom-5cs/mitysom-image-base-mitysom-5cs.tar.gz

Build the SDK

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

  1. Stay inside the docker container from the previous step, or if you have exited relaunch the container in the poky folder:
    docker run --rm -it -v `pwd`:/work --workdir=/work crops/poky:ubuntu-22.04 /bin/bash
    
  2. Source the yocto environment
    . ./oe-init-build-env
    
  3. Build the filesystem
    bitbake mitysom-image-base -c populate_sdk
    

Outputs

Description Location
Filesystem Tarball <Yocto Directory>/build/tmp/deploy/sdk/poky-glibc-x86_64-mitysom-image-base-cortexa9hf-neon-mitysom-c5-toolchain-4.0.20.sh

Further Reading

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