mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-08-09 17:03:35 -09:00
Since uClibc was bumped to 1.0.58 (c7fef3704c, "package/uclibc:
bump to 1.0.58"), the board fails to boot:
sh: out of memory
Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000100
CPU: 0 PID: 1 Comm: init Not tainted 6.1.167 #2
Hardware name: STM32 (Device Tree Support)
Function entered at [<0800ea1e>] from [<0800de7b>]
Function entered at [<0800de7b>] from [<080e4991>]
Function entered at [<080e4991>] from [<080e2d19>]
Function entered at [<080e2d19>] from [<080125eb>]
Function entered at [<080125eb>] from [<08012b09>]
Function entered at [<08012b09>] from [<08012b69>]
---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000100 ]---
The STM32F429 has no MMU, and uClibc's standard malloc() implementation
returns NULL for allocations performed during early init on this target,
causing init to abort immediately.
Fix this by switching to MALLOC_SIMPLE, a plain mmap-based allocator
meant for small/noMMU systems, via a uClibc config fragment. The
fragment is placed under board/stmicroelectronics/common/stm32f4xx/,
rather than under the board-specific directory, so that it can be
shared with the STM32F469, another Cortex-M4/noMMU board affected by
the same issue, which will be fixed in a subsequent patch.
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
26 lines
1.1 KiB
Plaintext
26 lines
1.1 KiB
Plaintext
BR2_arm=y
|
|
BR2_cortex_m4=y
|
|
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y
|
|
BR2_UCLIBC_CONFIG_FRAGMENT_FILES="board/stmicroelectronics/common/stm32f4xx/uclibc-fragment.config"
|
|
# BR2_UCLIBC_INSTALL_UTILS is not set
|
|
BR2_ENABLE_LTO=y
|
|
BR2_GLOBAL_PATCH_DIR="board/stmicroelectronics/stm32f429-disco/patches"
|
|
BR2_DOWNLOAD_FORCE_CHECK_HASHES=y
|
|
BR2_ROOTFS_POST_BUILD_SCRIPT="board/stmicroelectronics/common/stm32f4xx/stm32-post-build.sh"
|
|
BR2_LINUX_KERNEL=y
|
|
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
|
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.167"
|
|
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
|
|
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/stmicroelectronics/stm32f429-disco/linux.config"
|
|
BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y
|
|
BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="xipImage"
|
|
BR2_LINUX_KERNEL_DTS_SUPPORT=y
|
|
BR2_LINUX_KERNEL_INTREE_DTS_NAME="stm32f429-disco"
|
|
BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="board/stmicroelectronics/common/stm32f4xx/busybox.fragment"
|
|
# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
|
|
BR2_TARGET_ROOTFS_INITRAMFS=y
|
|
# BR2_TARGET_ROOTFS_TAR is not set
|
|
BR2_TARGET_AFBOOT_STM32=y
|
|
BR2_TARGET_AFBOOT_STM32_KERNEL_ADDR=0x0800C000
|
|
BR2_PACKAGE_HOST_OPENOCD=y
|