Building the Filesystem under Quartus Pro 21.3 20240205¶
1. Prerequisites 2. Building the FPGA Image 3. Building the Bootloader 4. Building the Filesystem 5. Building the SD Card
- Table of contents
- Building the Filesystem under Quartus Pro 21.3 20240205
Introduction¶
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 our git-web viewer: gitweb
The current branch of the Critical Link SOCFPGA is: kirkstone.
The recommended Operating System for the build machine: Ubuntu 22.04
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 |
Development Kit Pre-built Outputs¶
Description | Link |
Development Kit Filesystem Archive | mitysom-image-base-mitysom-a10s.tar.gz |
Development Kit Filesystem SDK | poky-glibc-x86_64-mitysom-image-base-cortexa9hf-neon-mitysom-a10s-toolchain-4.0.16.sh |
Development Kit Filesystem Sources | Please contact Critical Link |
Development Kit Filesystem Licenses | Please contact Critical Link |
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://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.a10 conf/local.conf
Performing the Yocto Build¶
The following steps will build the filesystem that is used on the Critical Link MitySOM-A10S 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-a10s/mitysom-image-base-mitysom-a10s.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-A10S 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-a10s-toolchain-4.0.16.sh |
Further Reading¶
1. Prerequisites 2. Building the FPGA Image 3. Building the Bootloader 4. Building the Filesystem 5. Building the SD Card
Go to top