Building Root Filesystem 23.1¶
- Table of contents
- 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.
- Open a terminal
- 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
- Launch the docker container interactively:
docker run --rm -it -v `pwd`:/work --workdir=/work crops/poky:ubuntu-22.04 /bin/bash
- You should be inside a bash shell of the docker contain. Source the yocto environment
. ./oe-init-build-env
- 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.
- 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
- Source the yocto environment
. ./oe-init-build-env
- 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.
- 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
- Source the yocto environment
. ./oe-init-build-env
- 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