Populate the target and boot the image

1 Open a terminal[edit]

Open a terminal on the host computer.

Ubuntu terminal

All the commands preceded by have to be executed from the host computer terminal.

  • Create your STM32MPU workspace directory on the host computer:
 mkdir $HOME/STM32MPU_workspace
 cd $HOME/STM32MPU_workspace

2 Check the host computer Internet access[edit]

  • An Internet access through http and https protocols must be provided.

The command below enables checking for Internet access through http/https protocols:

 wget -q www.google.com && echo "Internet access over HTTP/HTTPS is OK !" || echo "No internet access over HTTP/HTTPS ! You may need to set up a proxy."

If an 'OK' message is returned, the network is correctly configured.
In this case, skip the rest of this section.

Otherwise, a proxy for http/https protocols is required.
The best solution is to set this proxy through the shell variables http_proxy and https_proxy:

 export http_proxy=http://<MyProxyLogin>:<MyProxyPassword>@<MyProxyServerUrl>:<MyProxyPort>
 export https_proxy=http://<MyProxyLogin>:<MyProxyPassword>@<MyProxyServerUrl>:<MyProxyPort>

Check again the Internet access using the command:

 wget -q www.google.com && echo "Internet access over HTTP/HTTPS is OK !" || echo "No internet access over HTTP/HTTPS ! You may need to set up a proxy."

3 Install the tools[edit]

3.1 STM32CubeProgrammer[edit]

  • Create your STM32MPU tools directory on the host computer:
 mkdir $HOME/STM32MPU_workspace/STM32MPU-Tools
 mkdir $HOME/STM32MPU_workspace/STM32MPU-Tools/STM32CubeProgrammer-x.y.z
  • Create a temporary directory in your STM32MPU workspace:
 mkdir $HOME/STM32MPU_workspace/tmp

STM32CubeProgrammer V2.11 is recommended for ecosystem release v4.0.0 More info.png

  • Uncompress the archive file to get the STM32CubeProgrammer installers:
 cd $HOME/STM32MPU_workspace/tmp
 unzip SetupSTM32CubeProgrammer.zip
  • Execute the Linux® installer, which guides you through the installation process. Select "$HOME/STM32MPU-Tools/STM32CubeProgrammer-x.y.z" as installation directory when it is requested by the installer.
 ./SetupSTM32CubeProgrammer-x.y.z.linux

The screenshots below have been obtained with old STM32CubeProgrammer V2.7.0. They are provided as examples still valid for higher version :

Splash screen
Welcome page
Installation path
  • Add the STM32CubeProgrammer binary path to your PATH environment variable:
export PATH=$HOME/STM32MPU_workspace/STM32MPU-Tools/STM32CubeProgrammer-x.y.z/bin:$PATH
  • Go inside the binary folder:
 cd $HOME/STM32MPU_workspace/STM32MPU-Tools/STM32CubeProgrammer-x.y.z/bin/


  • Check that the STM32CubeProgrammer tool is properly installed and accessible:
 STM32_Programmer_CLI --h
     -------------------------------------------------------------------
                       STM32CubeProgrammer vx.y.z                  
     -------------------------------------------------------------------

3.2 USB serial link[edit]

  • Install the libusb on your host computer:
 sudo apt-get install libusb-1.0-0
  • To allow STM32CubeProgrammer to access the USB port through low-level commands, proceed as follows:
 cd $HOME/STM32MPU_workspace/STM32MPU-Tools/STM32CubeProgrammer-x.y.z/Drivers/rules
 sudo cp *.* /etc/udev/rules.d/

4 Download the image[edit]

  • Create your STM32MP1 Starter Package directory on the host computer:
 mkdir $HOME/STM32MPU_workspace/STM32MP1-Ecosystem-v4.0.0
 mkdir $HOME/STM32MPU_workspace/STM32MP1-Ecosystem-v4.0.0/Starter-Package
 cd $HOME/STM32MPU_workspace/STM32MP1-Ecosystem-v4.0.0/Starter-Package
  • Download the STM32MP1-Ecosystem-v4.0.0 Starter Package to the following directory:
    $HOME/STM32MPU_workspace/STM32MP1-Ecosystem-v4.0.0/Starter-Package
  • Uncompress the tarball file to get the binaries for the different partitions of the image, and the Flash layout files
 tar xvf FLASH-stm32mp1-openstlinux-5.15-yocto-kirkstone-mp1-v22.06.15.tar.xz