Buildroot support for STM32MP updated, STM32MP2 added

STM32MP2 Evaluation Board 1We are happy to announce a new release of our buildroot-external-st project, which is a Buildrooot add-on that allows to easily get started with STMicroelectronics STM32MP platforms using Buildroot. This new release openstlinux-6.1-buildroot-2024.02.3-mpu-v24.06.26 brings support for the new STM32MP2 platform, updated ST BSP components, updated Buildroot.

STM32MP2 support

Earlier this year, STMicroelectronics has announced the release of its new STM32MP2 processor family, composed of ARM64 processors based on single or dual Arm Cortex-A35 cores, combined with one Cortex-M33 and a wide range of peripherals.

A first evaluation board for the STM32MP2, the STM32MP257F-EV1, is already available.

Our new release of buildroot-external-st brings support for the STM32MP2, with specifically:

  • A minimal Buildroot defconfig to build a basic system for the STM32MP257F-EV1
  • A demonstration Buildroot defconfig to build a more featureful system for the STM32MP257F-EV1, which includes support for the Cortex-M33, graphics with Qt5/OpenGL, Over The Air updates with RAUC, and camera

Updated ST BSP

Our new release of buildroot-external-st is based on the latest BSP components provided by ST:

Another update is expected at the end of this year, with a switch to a newer Linux kernel, but also newer versions of U-Boot, TF-A and OP-TEE.

Updated Buildroot

Buildroot logoThis new release of buildroot-external-st is based on Buildroot 2024.02.3, which is part of the currently maintained Buildroot LTS branch. This means that security updates and bug fixes are provided by the Buildroot community for this 2024.02.x version.

This update brings a large number of package updates, which were brought in upstream Buildroot between 2023.02 and 2024.02.

Getting started

The documentation available on the Github page details how to use this work, but here is a quick start in just a few steps:

  1. Retrieve Buildroot itself, a branch containing a few patches on top of upstream 2023.02 is needed
    $ git clone -b st/2024.02.3 https://github.com/bootlin/buildroot.git
  2. Retrieve buildroot-external-st
    $ git clone -b st/2024.02.3 https://github.com/bootlin/buildroot-external-st.git
  3. Go into the Buildroot directory
    $ cd buildroot/
  4. Configure Buildroot, for example here to build the demo configuration for the STM32MP257F-EV1
    $ make BR2_EXTERNAL=../buildroot-external-st st_stm32mp257f_ev1_demo_defconfig
  5. Run the build
    $ make
  6. Flash the resulting SD card image available at output/images/sdcard.img and boot your board!

Getting support

If you have any question or issue, feel free to use the Github issue tracker to contact us. Bootlin is an ST Authorized Partner, and can provide engineering and training services around embedded Linux on STM32MP platforms.

Köry Maincent

Author: Köry Maincent

Köry Maincent is an embedded Linux and kernel engineer at Bootlin, which he joined in 2020.

4 thoughts on “Buildroot support for STM32MP updated, STM32MP2 added”

  1. Anyone has the experience of install java on stm32mp257 please? I tried openjdk-8 and jdk-22.0.1/2 jdk-23.0.1 all failed to run java program. It says
    ————————————–
    No X11 DISPLAY variable was set,
    or no headful library support was found,
    but this program performed an operation which requires it,
    ————————————–
    I have DISPLAY=:0.0 set doesn’t work.

    I can run same java progam on stm32mp157 with jdk-8

      1. Sorry I posted in the wrong place, it’s not the system built with Buildroot, it’s from Yocto.
        I know why now. The system needs enable feature of X11 while it has only wayland. Thank you Thomas.

  2. Hi Thomas,
    Thanks for your support of Buildroot, It make the building so easy.
    But I am new to Buildroot, the system I built tells the file system is read only.
    and I cannot do some configuration like sshd service failed to start for no hostkeys.
    #df
    22:31:51.237: Filesystem 1K-blocks Used Available Use% Mounted on
    22:31:51.237: /dev/root 113280 113280 0 100% /
    22:31:51.261: devtmpfs 1863904 0 1863904 0% /dev
    22:31:51.261: tmpfs 1931072 0 1931072 0% /dev/shm
    22:31:51.261: tmpfs 772432 10040 762392 1% /run
    22:31:51.269: tmpfs 772432 10040 762392 1% /etc/machine-id
    22:31:51.269: tmpfs 1931072 0 1931072 0% /tmp
    22:31:51.284: /dev/mmcblk0p7 199003 20 184647 0% /data

    #ssh-keygen -A
    22:27:39.194: ssh-keygen: generating new host keys: RSA Could not save your private key in /etc/ssh/ssh_host_rsa_key.XXXX4PTZBC: Read-only file system

    #fsck -Af -M
    22:31:08.105: fsck from util-linux 2.39.3
    22:31:08.105: fsck: cannot check /dev/root: fsck.ext2 not found

    This is the filesystem, it’s so small. I’m new to buildroot, I wonder if I can partition before make.
    I remember when I customized config.in(make menuconfig), I gave 10G to root, but seems it doesn’t work.

    Another problem is that the system after reboot, serial port first during starting kernel output very nice, but then output garbage characters so I cannot use serial port, do you experience the same situation?

    With no sshd and bad serial port I can do nothing with the system now.

    Really appreciate if you give me some information.
    Thank you.

Leave a Reply