[3/6] configs/stm32f769_disco_sd: fix boot failure after uClibc bump

Message ID 20260721184249.1579381-4-dario.binacchi@amarulasolutions.com
State New
Headers show
Series
  • configs/stm32f4xx,stm32f769: fix uClibc boot failure and bump Linux/U-Boot
Related show

Commit Message

Dario Binacchi July 21, 2026, 6:42 p.m. UTC
Since uClibc was bumped to 1.0.58 (c7fef3704c70, "package/uclibc:
bump to 1.0.58"), the board hangs after starting init:

    [    1.231624] Run /sbin/init as init process
    [    1.235599]   with arguments:
    [    1.238549]     /sbin/init
    [    1.241331]     earlyprintk
    [    1.244018]   with environment:
    [    1.247143]     HOME=/
    [    1.249554]     TERM=linux
    [    1.252177]     consoleblank=0

No error message is printed and the boot simply stalls at this
point.

The STM32F769 has no MMU, and uClibc's standard malloc()
implementation returns NULL for allocations performed during early
init on this target, causing init to fail.

Fix this by switching to MALLOC_SIMPLE, a plain mmap-based allocator
meant for small/noMMU systems, via a uClibc config fragment. Unlike
the STM32F429/STM32F469 fix, the fragment is kept board-specific
since the STM32F769 is a Cortex-M7 board and does not belong to the
stm32f4xx family.

Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
---
 board/stmicroelectronics/stm32f769-disco/uclibc-fragment.config | 2 ++
 configs/stm32f769_disco_sd_defconfig                            | 1 +
 2 files changed, 3 insertions(+)
 create mode 100644 board/stmicroelectronics/stm32f769-disco/uclibc-fragment.config

Patch

diff --git a/board/stmicroelectronics/stm32f769-disco/uclibc-fragment.config b/board/stmicroelectronics/stm32f769-disco/uclibc-fragment.config
new file mode 100644
index 000000000000..fb8fa9ee01c3
--- /dev/null
+++ b/board/stmicroelectronics/stm32f769-disco/uclibc-fragment.config
@@ -0,0 +1,2 @@ 
+# MALLOC is not set
+MALLOC_SIMPLE=y
diff --git a/configs/stm32f769_disco_sd_defconfig b/configs/stm32f769_disco_sd_defconfig
index 065d5b59bf6d..d09b81b19b3e 100644
--- a/configs/stm32f769_disco_sd_defconfig
+++ b/configs/stm32f769_disco_sd_defconfig
@@ -1,6 +1,7 @@ 
 BR2_arm=y
 BR2_cortex_m7=y
 BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y
+BR2_UCLIBC_CONFIG_FRAGMENT_FILES="board/stmicroelectronics/stm32f769-disco/uclibc-fragment.config"
 BR2_GLOBAL_PATCH_DIR="board/stmicroelectronics/stm32f769-disco/patches"
 BR2_DOWNLOAD_FORCE_CHECK_HASHES=y
 BR2_ROOTFS_POST_BUILD_SCRIPT="board/stmicroelectronics/stm32f769-disco/post-build.sh"