dh-electronics / dhcom_stm32mp1-bsp-platform

Yocto project manifest for DHCOM STM32Mp1
4 stars 1 forks source link

!!! This project is not longer maintained !!! Please use https://github.com/dh-electronics/kas-dhsom instead

DHCOM STM32MP1 Yocto BSP Platform

Supported boards

DHCOM STM32MP1 with Premium Developer Kit 2 (PDK2) DHCOM STM32MP1 with DRC02 DHCOR STM32MP1 with Avenger96 Board

Prerequisites

DH-electronics provides a customized virtual machine for developement based on Debian Stretch. More information about the VM can be read here: https://wiki.dh-electronics.com/index.php/Virtual_Machine_for_Application_Development

In addition its necessary to install the packages "texinfo" and "g++multilib" aswell.

If you are using any other linux system, please take a look at the official yocto quickstart guide first: https://www.yoctoproject.org/docs/3.0/brief-yoctoprojectqs/brief-yoctoprojectqs.html

The required packages for your build host are specified here: https://www.yoctoproject.org/docs/3.0/ref-manual/ref-manual.html#required-packages-for-the-build-host

Quick Start

  1. Install Google's repo utility

$: mkdir ~/bin $: curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo $: chmod a+x ~/bin/repo

You can choose any other directory to download the tool. Just make sure that its available in your $PATH variable.

  1. Create a project directory

$: mkdir dhcom-yocto-bsp

  1. Initialize repositories and download the sources

$: repo init -u https://github.com/dh-electronics/dhcom_stm32mp1-bsp-platform -b $BRANCH

For Yocto Dunfell, choose branch "dunfell". If you are a customer with specific layer settings, your branch is "dunfell_projectname"

After the repositories are successfully initialized, download the sources

$: repo sync

  1. Available Machine Types

STM32MP1: dh-stm32mp1-dhcom-pdk2 - DHCOM STM32MP1 for PDK2 dh-stm32mp1-dhcor-avenger96 - DHCOR STM32MP1 for AV96 dh-stm32mp1-dhcom-drc02 - DHCOM STM32MP1 for DRC02 dh-stm32mp1-dhcom-picoitx - DHCOM STM32MP1 for picoITX

  1. Available Image Types

    dh-image-demo: Weston image with QT5 and several examples and demos core-image-minimal: minimal configuration

  2. Setup Yocto environment and build your Image (Example: DHCOM STM32MP1)

$: MACHINE=dh-stm32mp1-dhcom-common-pdk2 DISTRO=dhlinux source ./setup-environment build $: bitbake dh-image-demo

For other DHCOM modules or customer specific settings, $MACHINE and Bitbake-Image might differ.

  1. Applying your image to SD card

    Yocto builds a .wic SD card image which is stored in the build directory. Make sure to change the device name in the following command before call.

$: cd tmp/deploy/images/dh-stm32mp1-dhcom-common-pdk2/ $: unxz -c dh-image-demo-dh-stm32mp1-dhcom-common-pdk2.wic.xz | sudo dd of=/dev/sdX bs=1M iflag=fullblock oflag=direct conv=fsync status=progress

Optional: RT patched sources

There is also an option to build a rt patched linux kernel. This is just for experimental usage and NOT maintained by dh-electronics. Machines: dh-stm32mp1-dhcom-common-pdk2-rt - DHCOM STM32MP1 for PDK2 dh-stm32mp1-dhcor-common-avenger96-rt - DHCOR STM32MP1 for AV96 dh-stm32mp1-dhcom-common-drc02-rt - DHCOM STM32MP1 for DRC02

Image(based on core-image-rt): dhsom-core-image-rt

Optional: fitImage with initramfs

The fitImage can be provided with a small initramfs based on poky distro and containing swupdate. There are a few manual changes needed to adjust your Yocto project.

First set up your Yocto project as usual with the following environment:

$:MACHINE=dh-stm32mp1-dhcom-pdk2-update DISTRO=poky source ./setup-environment build-swu

After your build directory is created, you need to add the following line to "build-swu/conf/bblayers.conf" ${BSPDIR}/sources/poky/meta-poky \

Build the image: $: bitbake core-image-swupdate

The fitImage can be found in "tmp/deploy/images/dh-stm32mp1-dhcom-pdk2-update/"