/meta-sancloud

BSP Layer for the Sancloud BeagleBone Enhanced (BBE)

Primary LanguageShellMIT LicenseMIT

Yocto BSP layer for the SanCloud boards

Quick links

Description

This is the Yocto Project Board Support Package (BSP) layer for SanCloud devices.

Currently supported hardware with corresponding Yocto Project MACHINE names:

  • bbe: Sancloud BeagleBone Enhanced (BBE)

This BSP is layer supports the following configurations:

  • Automotive Grade Linux (AGL)
  • Arago Distribution
  • Poky Reference Distribution

Host OS preparation

If you are running Ubuntu 20.04, we've provided a script to automate the process of setting up your host system to build images with Yocto Project and this SanCloud BSP layer. To use this script, run the following command:

curl https://raw.githubusercontent.com/SanCloudLtd/meta-sancloud/dunfell-r2/scripts/prepare-host.sh | bash

If you are running any other Linux distribution please see Required Packages for the Build Host in the Yocto Project Reference Manual.

In addition to the packages listed in the documentation, 32-bit (aka multilib) C++ libraries may also need to be installed when building the Arago distribution. This is done automatically if you're using the prepare-host.sh script.

Getting started with Poky

This BSP layer is listed in the OpenEmbedded Layer Index which makes getting started very easy. Once your OpenEmbedded/Yocto Project build environment is set up you can use the bitbake-layers layerindex-fetch command to download this layer with all its dependencies and add these layers to your bblayers.conf file automatically.

If you do not have a Yocto Project build environment set up please first follow the Yocto Project Quick Build Guide to ensure that your Linux system has the correct packages installed and that a simple build succeeds. Once you know that your Linux system is set up correctly you can download the appropriate Yocto Project version and build an image for the BBE using the following commands:

git clone -b dunfell git://git.yoctoproject.org/poky
cd poky
source oe-init-build-env
bitbake-layers layerindex-fetch meta-sancloud
echo 'MACHINE = "bbe"' >> conf/local.conf
bitbake core-image-base

Getting Started with AGL

This BSP layer is included in recent releases of AGL. AGL sources can be downloaded by following the upstream instructions. Once the AGL sources have been downloaded and you're in the top-level AGL directory, run the following commands to build the AGL Demo image for the Sancloud BBE:

source meta-agl/scripts/aglsetup.sh -m bbe agl-demo agl-devel
bitbake agl-demo-platform

Getting started with Arago/Poky using kas

This BSP layer includes build configuration files for use with the kas build tool. This tool can fetch all layer dependencies (including bitbake) and set up a build directory with appropriate configuration for the BBE and the chosen distro. It can be installed by running pip install kas as long as you have a recent Python version.

Poky

To use kas to build the Poky distro for the BBE, run the following command in the top directory of this repository:

kas build kas/bbe-poky.yml

This BSP also supports building a Software Development Kit (SDK) for the Poky distribution. To use kas to build the SDK, run the following command in the top directory of this repository:

kas build kas/bbe-sdk-poky.yml

Arago

To build the Arago distro for the BBE the appropriate ARM toolchain first needs to be installed. This is handled automatically if you're using the prepare-host.sh script described above.

To install the ARM toolchain manually, download gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf.tar.xz and unpack into /opt. This can be done at the command line using the following commands:

wget 'https://bit.ly/arm-none-linux-gnueabihf-2019-12' -O gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf.tar.xz
sudo tar xf gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf.tar.xz -C /opt

Once the toolchain is installed in the correct location, run the following command in the top level of this repository:

kas build kas/bbe-arago.yml

This BSP also supports building a Software Development Kit (SDK) for the Arago distribution. To use kas to build the SDK, run the following command in the top directory of this repository:

kas build kas/bbe-sdk-arago.yml

Customisation

The build configuration files in the kas directory can be used as the basis of further customisation and integration work. It's recommended to copy the build configuration files into your own repository (adding a url: entry for the meta-sancloud layer) and work there so that your changes can be tracked separately from future BSP updates in this repository.

Support

Issues and Pull Requests for this BSP layer may be opened on our primary GitHub repository at https://github.com/SanCloudLtd/meta-sancloud.

For further support enquiries please contact us via email to yocto@sancloud.com.