[Buildroot] [PATCH v2 1/1] configs/stm32f769_disco_sd_defconfig: new defconfig
Giulio Benetti
giulio.benetti at benettiengineering.com
Mon May 1 15:45:41 UTC 2023
Hi Dario,
On 23/04/23 19:08, Dario Binacchi wrote:
> Board support package includes the following components:
> - mainline Linux kernel 5.15.108
> - mainline U-Boot 2023.04
> - default packages from buildroot
>
> Note: There is a problem in u-boot display management. It should display
> the ST microelectronics logo but "noise" is displayed (like when running
> the command dd if=/dev/urandom of=/dev/fb0 in Linux). I also tried to
> change version (even the first version in which this feature was
> introduced), but without success. Despite this I decided not to disable
> the video management configuration to remind us that it needs to be
> fixed :).
>
> Cc: Giulio Benetti <giulio.benetti at benettiengineering.com>
> Link: https://www.st.com/en/evaluation-tools/32f769idiscovery.html
> Signed-off-by: Dario Binacchi <dario.binacchi at amarulasolutions.com>
Reviewed-by: Giulio Benetti <giulio.benetti at benettiengineering.com>
Best regards
--
Giulio Benetti
CEO/CTO at Benetti Engineering sas
> ---
>
> Changes in v2:
> - Replace BR2_cortex_m4 with BR2_cortex_m7
> - Use Linux kernel version 5.15.108
>
> DEVELOPERS | 2 ++
> .../stm32f769-disco/extlinux.conf | 4 +++
> .../stm32f769-disco/flash_sd.sh | 18 +++++++++++
> .../stm32f769-disco/genimage.cfg | 27 ++++++++++++++++
> .../stm32f769-disco/linux-sd.fragment | 1 +
> .../stm32f769-disco/post-build.sh | 7 ++++
> .../stm32f769-disco/readme.txt | 32 +++++++++++++++++++
> configs/stm32f769_disco_sd_defconfig | 30 +++++++++++++++++
> 8 files changed, 121 insertions(+)
> create mode 100644 board/stmicroelectronics/stm32f769-disco/extlinux.conf
> create mode 100755 board/stmicroelectronics/stm32f769-disco/flash_sd.sh
> create mode 100644 board/stmicroelectronics/stm32f769-disco/genimage.cfg
> create mode 100644 board/stmicroelectronics/stm32f769-disco/linux-sd.fragment
> create mode 100755 board/stmicroelectronics/stm32f769-disco/post-build.sh
> create mode 100644 board/stmicroelectronics/stm32f769-disco/readme.txt
> create mode 100644 configs/stm32f769_disco_sd_defconfig
>
> diff --git a/DEVELOPERS b/DEVELOPERS
> index d9e95a3d0531..438d4738b307 100644
> --- a/DEVELOPERS
> +++ b/DEVELOPERS
> @@ -702,8 +702,10 @@ F: package/xinetd/
>
> N: Dario Binacchi <dario.binacchi at amarulasolutions.com>
> F: board/bsh/
> +F: board/stmicroelectronics/stm32f769-disco/
> F: configs/imx8mn_bsh_smm_s2_defconfig
> F: configs/imx8mn_bsh_smm_s2_pro_defconfig
> +F: configs/stm32f769_disco_sd_defconfig
> F: package/sscep/
> F: package/uuu/
>
> diff --git a/board/stmicroelectronics/stm32f769-disco/extlinux.conf b/board/stmicroelectronics/stm32f769-disco/extlinux.conf
> new file mode 100644
> index 000000000000..48483a01fc4e
> --- /dev/null
> +++ b/board/stmicroelectronics/stm32f769-disco/extlinux.conf
> @@ -0,0 +1,4 @@
> +label stm32f769-disco-buildroot
> + kernel /zImage
> + devicetree /stm32f769-disco.dtb
> + append console=ttySTM0,115200 root=/dev/mmcblk0p2 rw rootfstype=ext2 rootwait earlyprintk consoleblank=0 ignore_loglevel
> diff --git a/board/stmicroelectronics/stm32f769-disco/flash_sd.sh b/board/stmicroelectronics/stm32f769-disco/flash_sd.sh
> new file mode 100755
> index 000000000000..0ff3ae7dbfb3
> --- /dev/null
> +++ b/board/stmicroelectronics/stm32f769-disco/flash_sd.sh
> @@ -0,0 +1,18 @@
> +#!/bin/bash
> +
> +OUTPUT_DIR=$1
> +
> +if ! test -d "${OUTPUT_DIR}" ; then
> + echo "ERROR: no output directory specified."
> + echo "Usage: $0 OUTPUT_DIR"
> + exit 1
> +fi
> +
> +"${OUTPUT_DIR}"/host/bin/openocd -f board/stm32f769i-disco.cfg \
> + -c "init" \
> + -c "reset init" \
> + -c "flash probe 0" \
> + -c "flash info 0" \
> + -c "flash write_image erase ${OUTPUT_DIR}/images/u-boot.bin 0x08000000" \
> + -c "reset run" \
> + -c "shutdown"
> diff --git a/board/stmicroelectronics/stm32f769-disco/genimage.cfg b/board/stmicroelectronics/stm32f769-disco/genimage.cfg
> new file mode 100644
> index 000000000000..41f9da512489
> --- /dev/null
> +++ b/board/stmicroelectronics/stm32f769-disco/genimage.cfg
> @@ -0,0 +1,27 @@
> +image boot.vfat {
> + vfat {
> + files = {
> + "zImage",
> + "stm32f769-disco.dtb",
> + "extlinux"
> + }
> + }
> +
> + size = 16M
> +}
> +
> +image sdcard.img {
> + hdimage {
> + }
> +
> + partition u-boot {
> + partition-type = 0xC
> + image = "boot.vfat"
> + }
> +
> + partition rootfs {
> + partition-type = 0x83
> + image = "rootfs.ext2"
> + size = 32M
> + }
> +}
> diff --git a/board/stmicroelectronics/stm32f769-disco/linux-sd.fragment b/board/stmicroelectronics/stm32f769-disco/linux-sd.fragment
> new file mode 100644
> index 000000000000..846229d0d468
> --- /dev/null
> +++ b/board/stmicroelectronics/stm32f769-disco/linux-sd.fragment
> @@ -0,0 +1 @@
> +# CONFIG_XIP_KERNEL is not set
> diff --git a/board/stmicroelectronics/stm32f769-disco/post-build.sh b/board/stmicroelectronics/stm32f769-disco/post-build.sh
> new file mode 100755
> index 000000000000..c8cca3de8c9b
> --- /dev/null
> +++ b/board/stmicroelectronics/stm32f769-disco/post-build.sh
> @@ -0,0 +1,7 @@
> +#!/bin/sh
> +BOARD_DIR="$(dirname "$0")"
> +
> +# Kernel is built without devpts support
> +sed -i '/^devpts/d' "${TARGET_DIR}"/etc/fstab
> +
> +install -m 0644 -D "${BOARD_DIR}"/extlinux.conf "${BINARIES_DIR}"/extlinux/extlinux.conf
> diff --git a/board/stmicroelectronics/stm32f769-disco/readme.txt b/board/stmicroelectronics/stm32f769-disco/readme.txt
> new file mode 100644
> index 000000000000..8f4f79a86138
> --- /dev/null
> +++ b/board/stmicroelectronics/stm32f769-disco/readme.txt
> @@ -0,0 +1,32 @@
> +STM32F769 Discovery
> +===================
> +
> +This tutorial describes how to use the predefined Buildroot
> +configuration for the STM32F769 Discovery evaluation platform.
> +
> +Building
> +--------
> +
> + make stm32f769_disco_sd_defconfig
> + make
> +
> +Flashing
> +--------
> +
> + ./board/stmicroelectronics/stm32f769-disco/flash_sd.sh output/
> +
> +It will flash the U-boot bootloader.
> +
> +Creating SD card
> +----------------
> +
> +Buildroot prepares an"sdcard.img" image in the output/images/ directory,
> +ready to be dumped on a SD card. Launch the following command as root:
> +
> + dd if=output/images/sdcard.img of=/dev/<your-sd-device>
> +
> +*** WARNING! This will destroy all the card content. Use with care! ***
> +
> +For details about the medium image layout and its content, see the
> +definition in board/stmicroelectronics/stm32f769-disco/genimage.cfg.
> +
> diff --git a/configs/stm32f769_disco_sd_defconfig b/configs/stm32f769_disco_sd_defconfig
> new file mode 100644
> index 000000000000..2ae27fb2d852
> --- /dev/null
> +++ b/configs/stm32f769_disco_sd_defconfig
> @@ -0,0 +1,30 @@
> +BR2_arm=y
> +BR2_cortex_m7=y
> +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y
> +BR2_ROOTFS_POST_BUILD_SCRIPT="board/stmicroelectronics/stm32f769-disco/post-build.sh"
> +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
> +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/stmicroelectronics/stm32f769-disco/genimage.cfg"
> +BR2_LINUX_KERNEL=y
> +BR2_LINUX_KERNEL_CUSTOM_VERSION=y
> +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.108"
> +BR2_LINUX_KERNEL_DEFCONFIG="stm32"
> +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(LINUX_DIR)/arch/arm/configs/dram_0xc0000000.config board/stmicroelectronics/stm32f769-disco/linux-sd.fragment"
> +BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y
> +BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="zImage"
> +BR2_LINUX_KERNEL_DTS_SUPPORT=y
> +BR2_LINUX_KERNEL_INTREE_DTS_NAME="stm32f769-disco"
> +BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-minimal.config"
> +# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
> +BR2_TARGET_ROOTFS_EXT2=y
> +BR2_TARGET_ROOTFS_EXT2_SIZE="32M"
> +# BR2_TARGET_ROOTFS_TAR is not set
> +BR2_TARGET_UBOOT=y
> +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
> +BR2_TARGET_UBOOT_CUSTOM_VERSION=y
> +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2023.04"
> +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="stm32f769-disco"
> +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y
> +BR2_PACKAGE_HOST_DOSFSTOOLS=y
> +BR2_PACKAGE_HOST_GENIMAGE=y
> +BR2_PACKAGE_HOST_MTOOLS=y
> +BR2_PACKAGE_HOST_OPENOCD=y
More information about the buildroot
mailing list