build-poky
Last modified by Microchip on 2025/07/17 06:33
Note that building an entire distribution is a long process. It also requires a big amount of free disk space.
The support for Microchip AT91 SoC family is included in a particular Yocto Project layer: meta-atmel. The source for this layer are hosted on Linux4SAM GitHub account: https://github.com/linux4sam/meta-atmel
Building environment
A step-by-step comprehensive installation is explained in the Yocto Project Quick Build. The following lines have to be considered as an add-on that is AT91 specific or that can facilitate your setup.
Prerequisite
Here are the reference pages for setting up a Yocto Project building environment: What You Need and How You Get It.
For instance, on Ubuntu or debian, these packages need to be installed on your development host:
sudo apt-get install gawk wget git-core git-lfs diffstat unzip texinfo gcc-multilib \
build-essential chrpath socat cpio python3 python3-pip python3-pexpect \
xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev \
pylint3 xterm
build-essential chrpath socat cpio python3 python3-pip python3-pexpect \
xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev \
pylint3 xterm
Step by step build procedure
This layer provides support for Microchip microprocessors (aka AT91)
====================================================================
For more information about the Microchip MPU product line see:
http://www.microchip.com/design-centers/32-bit-mpus
Linux & Open Source on Microchip microprocessors:
http://www.linux4sam.org
Supported SoCs / MACHINE names
==============================
Note that most of the machine names below, have a SD Card variant that can be
built by adding an "-sd" suffix to the machine name.
- SAMA5D2 product family / sama5d2-xplained, sama5d2-xplained-emmc, sama5d27-som1-ek-sd, sama5d27-som1-ek-optee-sd, sama5d2-ptc-ek, sama5d2-icp, sama5d27-wlsom1-ek-sd, sama5d29-curiosity-sd
- SAMA5D4 product family / sama5d4ek, sama5d4-xplained
- SAMA5D3 product family / sama5d3xek, sama5d3-xplained
- AT91SAM9x5 product family (AT91SAM9G15, AT91SAM9G25, AT91SAM9X25, AT91SAM9G35 and AT91SAM9X35) / at91sam9x5ek
- AT91SAM9RL / at91sam9rlek
- AT91SAM9G45 / at91sam9m10g45ek
- SAM9X60 / sam9x60ek, sam9x60-curiosity
- SAMA7G5 / sama7g5ek-sd, sama7g5ek-optee-sd, sama7g5ek-emmc, sama7g5ek-ospi
- SAM9X75 / sam9x75eb, sam9x75-curiosity
Sources
=======
- meta-atmel
URI: https://github.com/linux4sam/meta-atmel.git
Branch: scarthgap
Tag/commit:53c6bb2eddceb62ae5120c7c68174ce423d341e2
Dependencies
============
This Layer depends on :
- poky
URI: https://git.yoctoproject.org/poky
Branch: scarthgap
Tag:scarthgap-5.0.3
- meta-openembedded
URI: https://git.openembedded.org/meta-openembedded
Branch: scarthgap
Tag/commit:735ae0310870ffce07ce0c55c4f87c20ac161ff9
- meta-arm (for optee components)
URI: https://git.yoctoproject.org/meta-arm
Branch: scarthgap
Tag:yocto-5.0
Build procedure
===============
0/ Create a directory
mkdir my_dir
cd my_dir
1/ Clone yocto/poky git repository with the proper branch ready
git clone https://git.yoctoproject.org/poky && cd poky && \
git checkout -b scarthgap scarthgap-5.0.3 && cd -
2/ Clone meta-openembedded git repository with the proper branch ready
git clone git://git.openembedded.org/meta-openembedded && \
cd meta-openembedded && git checkout -b scarthgap 735ae0 && cd -
3/ Clone meta-atmel layer with the proper branch ready
git clone https://github.com/linux4sam/meta-atmel.git && cd meta-atmel && \
git checkout -b scarthgap 53c6bb && cd -
4/ Clone meta-arm layer with the proper branch ready
git clone https://git.yoctoproject.org/meta-arm && cd meta-arm && \
git checkout -b scarthgap yocto-5.0 && cd -
5/ Enter the poky directory to configure the build system and start the build process
cd poky
If not created yet, add a new "build-microchip" directory:
mkdir build-microchip
Else, if it's the first time you use Yocto Project templates, and if the
build-microchip directory remains from a previous use, we advise you to start
from a fresh directory. Keep your build-microchip/conf/local.conf file for
reference.
6/ Inside the .templateconf file, you will need to modify the TEMPLATECONF
variable to match the path to the meta-atmel layer "conf" directory:
export TEMPLATECONF=${TEMPLATECONF:-../meta-atmel/conf/templates/default}
7/ Initialize build directory
source oe-init-build-env build-microchip
8/ To build a small image provided by Yocto Project:
[MACHINE=] bitbake core-image-minimal
Example for sama5d2-xplained-sd SD card image:
MACHINE=sama5d2-xplained-sd bitbake core-image-minimal
9/ To build the microchip image with no graphics support:
[MACHINE=] bitbake microchip-headless-image
Example for sama5d2-xplained-sd SD card image:
MACHINE=sama5d2-xplained-sd bitbake microchip-headless-image
10/ To build the microchip image with graphics support (EGT):
[MACHINE=] bitbake microchip-graphics-image
Example for sama5d2-xplained-sd SD card image:
MACHINE=sama5d2-xplained-sd bitbake microchip-graphics-image
Typical bitbake output
======================
Build Configuration:
BB_VERSION = "2.8.0"
BUILD_SYS = "x86_64-linux"
NATIVELSBSTRING = "universal"
TARGET_SYS = "arm-poky-linux-gnueabi"
MACHINE = "sam9x75-curiosity-sd"
DISTRO = "poky-atmel"
DISTRO_VERSION = "5.0.3"
TUNE_FEATURES = "arm armv5 thumb dsp"
TARGET_FPU = "soft"
meta
meta-poky
meta-yocto-bsp = "heads/scarthgap-5.0.3:0b37512fb4b231cc106768e2a7328431009b3b70"
meta-oe
meta-networking
meta-webserver
meta-python
meta-initramfs = "735ae0310870ffce07ce0c55c4f87c20ac161ff9:735ae0310870ffce07ce0c55c4f87c20ac161ff9"
meta-atmel = "heads/linux4microchip-2024.10:53c6bb2eddceb62ae5120c7c68174ce423d341e2"
meta-multimedia = "735ae0310870ffce07ce0c55c4f87c20ac161ff9:735ae0310870ffce07ce0c55c4f87c20ac161ff9"
meta-arm
meta-arm-toolchain = "heads/yocto-5.0:8aa8a1f17f5b64bc691544f989f04fc83df98adb"
Contributing
============
To contribute to this layer you should submit the patches for review to:
the github pull-request facility directly or the forum. Anyway, don't forget to
Cc the maintainers.
Microchip Forum:
https://www.microchip.com/forums/f542.aspx
for some useful guidelines to be followed when submitting patches:
http://www.openembedded.org/wiki/How_to_submit_a_patch_to_OpenEmbedded
Maintainers:
Hari Prasath G E
Nicolas Ferre
When creating patches insert the [meta-atmel] tag in the subject, for example
use something like:
git format-patch -s --subject-prefix='meta-atmel][PATCH'
====================================================================
For more information about the Microchip MPU product line see:
http://www.microchip.com/design-centers/32-bit-mpus
Linux & Open Source on Microchip microprocessors:
http://www.linux4sam.org
Supported SoCs / MACHINE names
==============================
Note that most of the machine names below, have a SD Card variant that can be
built by adding an "-sd" suffix to the machine name.
- SAMA5D2 product family / sama5d2-xplained, sama5d2-xplained-emmc, sama5d27-som1-ek-sd, sama5d27-som1-ek-optee-sd, sama5d2-ptc-ek, sama5d2-icp, sama5d27-wlsom1-ek-sd, sama5d29-curiosity-sd
- SAMA5D4 product family / sama5d4ek, sama5d4-xplained
- SAMA5D3 product family / sama5d3xek, sama5d3-xplained
- AT91SAM9x5 product family (AT91SAM9G15, AT91SAM9G25, AT91SAM9X25, AT91SAM9G35 and AT91SAM9X35) / at91sam9x5ek
- AT91SAM9RL / at91sam9rlek
- AT91SAM9G45 / at91sam9m10g45ek
- SAM9X60 / sam9x60ek, sam9x60-curiosity
- SAMA7G5 / sama7g5ek-sd, sama7g5ek-optee-sd, sama7g5ek-emmc, sama7g5ek-ospi
- SAM9X75 / sam9x75eb, sam9x75-curiosity
Sources
=======
- meta-atmel
URI: https://github.com/linux4sam/meta-atmel.git
Branch: scarthgap
Tag/commit:53c6bb2eddceb62ae5120c7c68174ce423d341e2
Dependencies
============
This Layer depends on :
- poky
URI: https://git.yoctoproject.org/poky
Branch: scarthgap
Tag:scarthgap-5.0.3
- meta-openembedded
URI: https://git.openembedded.org/meta-openembedded
Branch: scarthgap
Tag/commit:735ae0310870ffce07ce0c55c4f87c20ac161ff9
- meta-arm (for optee components)
URI: https://git.yoctoproject.org/meta-arm
Branch: scarthgap
Tag:yocto-5.0
Build procedure
===============
0/ Create a directory
mkdir my_dir
cd my_dir
1/ Clone yocto/poky git repository with the proper branch ready
git clone https://git.yoctoproject.org/poky && cd poky && \
git checkout -b scarthgap scarthgap-5.0.3 && cd -
2/ Clone meta-openembedded git repository with the proper branch ready
git clone git://git.openembedded.org/meta-openembedded && \
cd meta-openembedded && git checkout -b scarthgap 735ae0 && cd -
3/ Clone meta-atmel layer with the proper branch ready
git clone https://github.com/linux4sam/meta-atmel.git && cd meta-atmel && \
git checkout -b scarthgap 53c6bb && cd -
4/ Clone meta-arm layer with the proper branch ready
git clone https://git.yoctoproject.org/meta-arm && cd meta-arm && \
git checkout -b scarthgap yocto-5.0 && cd -
5/ Enter the poky directory to configure the build system and start the build process
cd poky
If not created yet, add a new "build-microchip" directory:
mkdir build-microchip
Else, if it's the first time you use Yocto Project templates, and if the
build-microchip directory remains from a previous use, we advise you to start
from a fresh directory. Keep your build-microchip/conf/local.conf file for
reference.
6/ Inside the .templateconf file, you will need to modify the TEMPLATECONF
variable to match the path to the meta-atmel layer "conf" directory:
export TEMPLATECONF=${TEMPLATECONF:-../meta-atmel/conf/templates/default}
7/ Initialize build directory
source oe-init-build-env build-microchip
8/ To build a small image provided by Yocto Project:
[MACHINE=] bitbake core-image-minimal
Example for sama5d2-xplained-sd SD card image:
MACHINE=sama5d2-xplained-sd bitbake core-image-minimal
9/ To build the microchip image with no graphics support:
[MACHINE=] bitbake microchip-headless-image
Example for sama5d2-xplained-sd SD card image:
MACHINE=sama5d2-xplained-sd bitbake microchip-headless-image
10/ To build the microchip image with graphics support (EGT):
[MACHINE=] bitbake microchip-graphics-image
Example for sama5d2-xplained-sd SD card image:
MACHINE=sama5d2-xplained-sd bitbake microchip-graphics-image
Typical bitbake output
======================
Build Configuration:
BB_VERSION = "2.8.0"
BUILD_SYS = "x86_64-linux"
NATIVELSBSTRING = "universal"
TARGET_SYS = "arm-poky-linux-gnueabi"
MACHINE = "sam9x75-curiosity-sd"
DISTRO = "poky-atmel"
DISTRO_VERSION = "5.0.3"
TUNE_FEATURES = "arm armv5 thumb dsp"
TARGET_FPU = "soft"
meta
meta-poky
meta-yocto-bsp = "heads/scarthgap-5.0.3:0b37512fb4b231cc106768e2a7328431009b3b70"
meta-oe
meta-networking
meta-webserver
meta-python
meta-initramfs = "735ae0310870ffce07ce0c55c4f87c20ac161ff9:735ae0310870ffce07ce0c55c4f87c20ac161ff9"
meta-atmel = "heads/linux4microchip-2024.10:53c6bb2eddceb62ae5120c7c68174ce423d341e2"
meta-multimedia = "735ae0310870ffce07ce0c55c4f87c20ac161ff9:735ae0310870ffce07ce0c55c4f87c20ac161ff9"
meta-arm
meta-arm-toolchain = "heads/yocto-5.0:8aa8a1f17f5b64bc691544f989f04fc83df98adb"
Contributing
============
To contribute to this layer you should submit the patches for review to:
the github pull-request facility directly or the forum. Anyway, don't forget to
Cc the maintainers.
Microchip Forum:
https://www.microchip.com/forums/f542.aspx
for some useful guidelines to be followed when submitting patches:
http://www.openembedded.org/wiki/How_to_submit_a_patch_to_OpenEmbedded
Maintainers:
Hari Prasath G E
Nicolas Ferre
When creating patches insert the [meta-atmel] tag in the subject, for example
use something like:
git format-patch -s --subject-prefix='meta-atmel][PATCH'