OpenSTLinux for VisionSOM-STM32MP1: Difference between revisions
From SomLabs Wiki
No edit summary |
No edit summary |
||
Line 5: | Line 5: | ||
There are couple of pre-built images available for VisionSOM-STM32MP1 module and VisionCB-STD-STM32MP1 board. | There are couple of pre-built images available for VisionSOM-STM32MP1 module and VisionCB-STD-STM32MP1 board. | ||
== Changelog == | == Changelog == | ||
*openst-meta-somlabs 2020_11 | |||
**Updated OpenSTLinux to dunfell version | |||
**Added SoMLabs u-boot and kernel repositories | |||
**Added demo application sources | |||
**Disabled demo autostart | |||
*openst-meta-somlabs 04_2020 | *openst-meta-somlabs 04_2020 | ||
**Added support for the openstlinux-4.19-thud-mp1-20-02-19 | **Added support for the openstlinux-4.19-thud-mp1-20-02-19 | ||
Line 23: | Line 21: | ||
== Old versions == | == Old versions == | ||
*openst-meta-somlabs 03_2020 | *openst-meta-somlabs 04_2020 | ||
**RGB display with SoMLabs demo application [http://ftp.somlabs.com/VisionSOM-STM32MP1/flashlayout_st-image-weston_FlashLayout_sdcard_stm32mp157a-visionsom-mx-basic_03_2020.zip flashlayout_st-image-weston_FlashLayout_sdcard_stm32mp157a-visionsom-mx-basic_03_2020.zip] | **RGB display with SoMLabs demo application [http://ftp.somlabs.com/VisionSOM-STM32MP1/flashlayout_st-image-weston_FlashLayout_sdcard_stm32mp157a-visionsom-mx-basic_04_2020.zip flashlayout_st-image-weston_FlashLayout_sdcard_stm32mp157a-visionsom-mx-basic_04_2020.zip] | ||
**RGB display without SoMLabs demo application [http://ftp.somlabs.com/VisionSOM-STM32MP1/flashlayout_st-image-weston_FlashLayout_sdcard_stm32mp157a-visionsom-mx-basic_no_demo_04_2020.zip flashlayout_st-image-weston_FlashLayout_sdcard_stm32mp157a-visionsom-mx-basic_no_demo_04_2020.zip] | |||
**DSI display with SoMLabs demo application [http://ftp.somlabs.com/VisionSOM-STM32MP1/flashlayout_st-image-weston_FlashLayout_sdcard_stm32mp157a-visionsom-mx-dsi-basic_04_2020.zip flashlayout_st-image-weston_FlashLayout_sdcard_stm32mp157a-visionsom-mx-dsi-basic_04_2020.zip] | |||
**DSI display without SoMLabs demo application [http://ftp.somlabs.com/VisionSOM-STM32MP1/flashlayout_st-image-weston_FlashLayout_sdcard_stm32mp157a-visionsom-mx-dsi-basic_no_demo_04_2020.zip flashlayout_st-image-weston_FlashLayout_sdcard_stm32mp157a-visionsom-mx-dsi-basic_no_demo_04_2020.zip] | |||
*openst-meta-somlabs 03_2020 **RGB display with SoMLabs demo application [http://ftp.somlabs.com/VisionSOM-STM32MP1/flashlayout_st-image-weston_FlashLayout_sdcard_stm32mp157a-visionsom-mx-basic_03_2020.zip flashlayout_st-image-weston_FlashLayout_sdcard_stm32mp157a-visionsom-mx-basic_03_2020.zip] | |||
**RGB display without SoMLabs demo application [http://ftp.somlabs.com/VisionSOM-STM32MP1/flashlayout_st-image-weston_FlashLayout_sdcard_stm32mp157a-visionsom-mx-basic_no_demo_03_2020.zip flashlayout_st-image-weston_FlashLayout_sdcard_stm32mp157a-visionsom-mx-basic_no_demo_03_2020.zip] | **RGB display without SoMLabs demo application [http://ftp.somlabs.com/VisionSOM-STM32MP1/flashlayout_st-image-weston_FlashLayout_sdcard_stm32mp157a-visionsom-mx-basic_no_demo_03_2020.zip flashlayout_st-image-weston_FlashLayout_sdcard_stm32mp157a-visionsom-mx-basic_no_demo_03_2020.zip] | ||
**DSI display with SoMLabs demo application [http://ftp.somlabs.com/VisionSOM-STM32MP1/flashlayout_st-image-weston_FlashLayout_sdcard_stm32mp157a-visionsom-mx-dsi-basic_03_2020.zip flashlayout_st-image-weston_FlashLayout_sdcard_stm32mp157a-visionsom-mx-dsi-basic_03_2020.zip] | **DSI display with SoMLabs demo application [http://ftp.somlabs.com/VisionSOM-STM32MP1/flashlayout_st-image-weston_FlashLayout_sdcard_stm32mp157a-visionsom-mx-dsi-basic_03_2020.zip flashlayout_st-image-weston_FlashLayout_sdcard_stm32mp157a-visionsom-mx-dsi-basic_03_2020.zip] | ||
Line 75: | Line 77: | ||
<pre> | <pre> | ||
cd <working directory path>/Distribution-Package | cd <working directory path>/Distribution-Package | ||
mkdir openstlinux-4 | mkdir openstlinux-5.4-dunfell-mp1-20-06-24 | ||
cd openstlinux-4 | cd openstlinux-5.4-dunfell-mp1-20-06-24 | ||
repo init -u https://github.com/STMicroelectronics/oe-manifest.git -b refs/tags/openstlinux-20- | repo init -u https://github.com/STMicroelectronics/oe-manifest.git -b refs/tags/openstlinux-5.4-dunfell-mp1-20-06-24 | ||
repo sync | repo sync | ||
cd layers/meta-st | cd layers/meta-st | ||
git clone https://github.com/SoMLabs/openst-meta-somlabs.git meta-somlabs | git clone -b dunfell https://github.com/SoMLabs/openst-meta-somlabs.git meta-somlabs | ||
cd ../../ | cd ../../ | ||
</pre> | </pre> | ||
Line 86: | Line 88: | ||
The last ''git clone'' instruction downloads the meta layer with VisionSOM-STM32MP1 module support. | The last ''git clone'' instruction downloads the meta layer with VisionSOM-STM32MP1 module support. | ||
== Bulding the image | == Bulding the system image == | ||
The following commands generate the OpenSTLinux weston image that can be run on VisionSOM-STM32MP1 module and VisionCB-STD-STM32MP1 board | The following commands generate the OpenSTLinux weston image that can be run on VisionSOM-STM32MP1 module and VisionCB-STD-STM32MP1 board: | ||
<pre> | <pre> | ||
DISTRO=openstlinux-weston MACHINE= | DISTRO=openstlinux-weston MACHINE=<MACHINE_NAME> source layers/meta-st/scripts/envsetup.sh | ||
bitbake st-image-weston | bitbake st-image-weston | ||
</pre> | </pre> | ||
The | The following VisionSOM machines are available: | ||
* stm32mp157a-visionsom-rgb-emmc-mx Module with eMMC memory and RGB display connected | |||
* stm32mp157a-visionsom-rgb-sd-mx Module with SD card and RGB display connected | |||
* stm32mp157a-visionsom-dsi-emmc-mx Module with eMMC memory and DSI display connected | |||
* stm32mp157a-visionsom-dsi-sd-mx Module with SD card and DSI display connected | |||
The | The compiled image files are located in the directory: | ||
openstlinux-5.4-dunfell-mp1-20-06-24/build-openstlinuxweston-<MACHINE_NAME>/tmp-glibc/deploy/images/<MACHINE_NAME> | |||
< | |||
In order to prepare the SD card system file the following command is required: | |||
<pre> | <pre> | ||
cd tmp-glibc/deploy/images/<MACHINE_NAME> | |||
./create_sdcard_from_flashlayout.sh ../flashlayout_st-image-weston/trusted/FlashLayout_sdcard_<MACHINE_NAME>-trusted.tsv | |||
</pre> | </pre> | ||
== Building the SDK == | == Building the SDK == |
Revision as of 15:53, 20 November 2020
OpenSTLinux for VisionSOM-STM32MP1
Pre-built images
There are couple of pre-built images available for VisionSOM-STM32MP1 module and VisionCB-STD-STM32MP1 board.
Changelog
- openst-meta-somlabs 2020_11
- Updated OpenSTLinux to dunfell version
- Added SoMLabs u-boot and kernel repositories
- Added demo application sources
- Disabled demo autostart
- openst-meta-somlabs 04_2020
- Added support for the openstlinux-4.19-thud-mp1-20-02-19
- Enabled the second SD-card (on the VisionCB-STD-STM32MP1 board) as an external storage
- Fixed the display transition between u-boot and Linux kernel
Old versions
- openst-meta-somlabs 04_2020
- RGB display with SoMLabs demo application flashlayout_st-image-weston_FlashLayout_sdcard_stm32mp157a-visionsom-mx-basic_04_2020.zip
- RGB display without SoMLabs demo application flashlayout_st-image-weston_FlashLayout_sdcard_stm32mp157a-visionsom-mx-basic_no_demo_04_2020.zip
- DSI display with SoMLabs demo application flashlayout_st-image-weston_FlashLayout_sdcard_stm32mp157a-visionsom-mx-dsi-basic_04_2020.zip
- DSI display without SoMLabs demo application flashlayout_st-image-weston_FlashLayout_sdcard_stm32mp157a-visionsom-mx-dsi-basic_no_demo_04_2020.zip
- openst-meta-somlabs 03_2020 **RGB display with SoMLabs demo application flashlayout_st-image-weston_FlashLayout_sdcard_stm32mp157a-visionsom-mx-basic_03_2020.zip
- RGB display without SoMLabs demo application flashlayout_st-image-weston_FlashLayout_sdcard_stm32mp157a-visionsom-mx-basic_no_demo_03_2020.zip
- DSI display with SoMLabs demo application flashlayout_st-image-weston_FlashLayout_sdcard_stm32mp157a-visionsom-mx-dsi-basic_03_2020.zip
- DSI display without SoMLabs demo application flashlayout_st-image-weston_FlashLayout_sdcard_stm32mp157a-visionsom-mx-dsi-basic_no_demo_03_2020.zip
Building own image
VisionSOM-STM32MP1 module is supported by Yocto meta-layer available on SoMLabs github:
https://github.com/SoMLabs/openst-meta-somlabs
The described layer shall be used with the OpenSTLinux Distribution Package provided by the STMicroelectronics:
https://wiki.st.com/stm32mpu/wiki/STM32MP1_Distribution_Package
It provides the support for VisionSOM-STM32MP1 module and VisionCB-STD-STM32MP1 board and is intended for build with the st-image-weston system image.
Host PC requirements
This tutorial was tested on the Xubuntu 18.04 LTS system. The distribution and SDK building requires significant amount of memory, disk space and time. The following hardware configuration was used for compilation:
- Intel Core i7-4510U
- 8GB RAM
- 256GB SSD Disk (30GB required for system build and another 30GB for SDK)
The OpenSTLinux compilation time takes about 8 hours. The SDK building requires another 8 hours when building with the already compiled system.
The PC requirements suggested by the STMicroelectronics may be found here:
https://wiki.st.com/stm32mpu/wiki/PC_prerequisites
The host system needs also the following packages to be installed:
sudo apt-get update sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential chrpath socat cpio python python3 python3-pip python3-pexpect xz-utils debianutils iputils-ping sudo apt-get install libsdl1.2-dev xterm sudo apt-get install make xsltproc docbook-utils fop dblatex xmlto sudo apt-get install python-git sudo apt-get install repo
Obtaining the Yocto recipes
The following steps are the summary of the image building description that can be found on the ST wiki pages with the additional SoMLabs meta-layer.
First let's clone all of the repositories containing the required packages and system distribution:
cd <working directory path>/Distribution-Package mkdir openstlinux-5.4-dunfell-mp1-20-06-24 cd openstlinux-5.4-dunfell-mp1-20-06-24 repo init -u https://github.com/STMicroelectronics/oe-manifest.git -b refs/tags/openstlinux-5.4-dunfell-mp1-20-06-24 repo sync cd layers/meta-st git clone -b dunfell https://github.com/SoMLabs/openst-meta-somlabs.git meta-somlabs cd ../../
The last git clone instruction downloads the meta layer with VisionSOM-STM32MP1 module support.
Bulding the system image
The following commands generate the OpenSTLinux weston image that can be run on VisionSOM-STM32MP1 module and VisionCB-STD-STM32MP1 board:
DISTRO=openstlinux-weston MACHINE=<MACHINE_NAME> source layers/meta-st/scripts/envsetup.sh bitbake st-image-weston
The following VisionSOM machines are available:
- stm32mp157a-visionsom-rgb-emmc-mx Module with eMMC memory and RGB display connected
- stm32mp157a-visionsom-rgb-sd-mx Module with SD card and RGB display connected
- stm32mp157a-visionsom-dsi-emmc-mx Module with eMMC memory and DSI display connected
- stm32mp157a-visionsom-dsi-sd-mx Module with SD card and DSI display connected
The compiled image files are located in the directory:
openstlinux-5.4-dunfell-mp1-20-06-24/build-openstlinuxweston-<MACHINE_NAME>/tmp-glibc/deploy/images/<MACHINE_NAME>
In order to prepare the SD card system file the following command is required:
cd tmp-glibc/deploy/images/<MACHINE_NAME> ./create_sdcard_from_flashlayout.sh ../flashlayout_st-image-weston/trusted/FlashLayout_sdcard_<MACHINE_NAME>-trusted.tsv
Building the SDK
In order to build the cross-compiler and required libraries for software development on the host machine we need to build the SDK. After building the system image as described in the previous chapters we can simply call another bitbake command:
bitbake st-image-weston -c populate_sdk
It will create the SDK installer st-image-weston-openstlinux-weston-stm32mp157a-visionsom-mx-x86_64-toolchain-2.6-snapshot.sh or st-image-weston-openstlinux-weston-stm32mp157a-visionsom-dsi-mx-x86_64-toolchain-2.6-snapshot.sh that is located in the tmp-glibc/deploy/sdk directory. The installation script should be run on the host machine to install the development toolchain.
Installing images
The following articles explain the image installation on the VisionSOM-STM32MP1 modules: