!!! 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. 2. Create a project directory $: mkdir dhcom-yocto-bsp 3. 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 4. 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 5. Available Image Types dh-image-demo: Weston image with QT5 and several examples and demos core-image-minimal: minimal configuration 6. 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. 7. 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/"