* [Buildroot] [PATCH v4 1/3] package/tinyinit: new package
2024-08-31 12:08 [Buildroot] [PATCH v4 0/3] tinyinit and stm32f746_disco_sd_defconfig Dario Binacchi
@ 2024-08-31 12:08 ` Dario Binacchi
2024-09-02 0:26 ` Damien Le Moal via buildroot
2024-09-14 9:24 ` Yann E. MORIN
2024-08-31 12:08 ` [Buildroot] [PATCH v4 2/3] configs/stm32f746_disco_sd: new defconfig Dario Binacchi
2024-08-31 12:08 ` [Buildroot] [PATCH v4 3/3] board/canaan/k210-soc: use tinyinit as Linux init process Dario Binacchi
2 siblings, 2 replies; 9+ messages in thread
From: Dario Binacchi @ 2024-08-31 12:08 UTC (permalink / raw)
To: buildroot
Cc: linux-amarula, Damien Le Moal, Dario Binacchi, Yann E . MORIN,
Thomas Petazzoni
This package contains a Linux init script suitable for resource-limited
systems which can be used as an alternative to the one provided by
Busybox.
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Cc: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
Changes v3 -> v4:
- Add tinyinit to Busybox dependencies
- Add a comment to the tinyinit.mk just before the statements creating
the symlink
- Drop the comment from package/tinyinit/Config.in
- Add the entry in the init selection in system/Config.in.
Changes v2 -> v3:
- Add the init script
- Drop the entry in the init selection in system/Config.in.
Changes v1 -> v2:
- Rename tinit to tinyinit.
- Put the script inside the tinyinit package without the need to use
a github repo.
- Update the commit message.
DEVELOPERS | 1 +
package/Config.in | 1 +
package/busybox/busybox.mk | 1 +
package/tinyinit/Config.in | 8 ++++++++
package/tinyinit/init | 32 ++++++++++++++++++++++++++++++++
package/tinyinit/tinyinit.mk | 13 +++++++++++++
system/Config.in | 9 +++++++++
7 files changed, 65 insertions(+)
create mode 100644 package/tinyinit/Config.in
create mode 100644 package/tinyinit/init
create mode 100644 package/tinyinit/tinyinit.mk
diff --git a/DEVELOPERS b/DEVELOPERS
index 0b590f0ec20c..cf62d0ed65ae 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -791,6 +791,7 @@ 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/tinyinit/
F: package/uuu/
N: Dario Binacchi <dariobin@libero.it>
diff --git a/package/Config.in b/package/Config.in
index 211080345adc..af7f13a75f7e 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -2868,6 +2868,7 @@ menu "System tools"
source "package/tar/Config.in"
source "package/tealdeer/Config.in"
source "package/thermald/Config.in"
+ source "package/tinyinit/Config.in"
source "package/tpm-tools/Config.in"
source "package/tpm2-abrmd/Config.in"
source "package/tpm2-tools/Config.in"
diff --git a/package/busybox/busybox.mk b/package/busybox/busybox.mk
index 204ebe0106ee..942875ee0e12 100644
--- a/package/busybox/busybox.mk
+++ b/package/busybox/busybox.mk
@@ -68,6 +68,7 @@ BUSYBOX_DEPENDENCIES = \
$(if $(BR2_PACKAGE_UNZIP),unzip) \
$(if $(BR2_PACKAGE_USBUTILS),usbutils) \
$(if $(BR2_PACKAGE_UTIL_LINUX),util-linux) \
+ $(if $(BR2_PACKAGE_TINYINIT),tinyinit) \
$(if $(BR2_PACKAGE_VIM),vim) \
$(if $(BR2_PACKAGE_WATCHDOG),watchdog) \
$(if $(BR2_PACKAGE_WGET),wget) \
diff --git a/package/tinyinit/Config.in b/package/tinyinit/Config.in
new file mode 100644
index 000000000000..f68b030e7e0f
--- /dev/null
+++ b/package/tinyinit/Config.in
@@ -0,0 +1,8 @@
+config BR2_PACKAGE_TINYINIT
+ bool "tinyinit"
+ depends on BR2_INIT_TINYINIT
+ imply BR2_PACKAGE_BUSYBOX
+ help
+ A Linux tiny initialization script suitable for resource
+ limited systems, which can be used as an alternative to the
+ one provided by Busybox.
diff --git a/package/tinyinit/init b/package/tinyinit/init
new file mode 100644
index 000000000000..fbcb481010c2
--- /dev/null
+++ b/package/tinyinit/init
@@ -0,0 +1,32 @@
+#!/bin/sh
+
+# This script replaces the default busybox init process to avoid having that
+# process staying alive and sleeping in the background, (uselessly) consuming
+# precious memory.
+
+# Mount procfs and sysfs
+/bin/mount -t proc proc /proc
+/bin/mount -t sysfs sysfs /sys
+
+# When the kernel is directly booted, devtmpfs is not automatically mounted.
+# Manually mount it if needed.
+devmnt=$(mount | grep -c devtmpfs)
+if [ "${devmnt}" -eq 0 ]; then
+ /bin/mount -t devtmpfs devtmpfs /dev
+fi
+
+# Use the /dev/console device node from devtmpfs if possible to not
+# confuse glibc's ttyname_r().
+# This may fail (E.G. booted with console=), and errors from exec will
+# terminate the shell, so use a subshell for the test
+if (exec 0</dev/console) 2>/dev/null; then
+ exec 0</dev/console
+ exec 1>/dev/console
+ exec 2>/dev/console
+fi
+
+# Clear memory to reduce page fragmentation
+echo 3 > /proc/sys/vm/drop_caches
+
+# Finally, let's start an interactive shell
+exec /bin/sh
diff --git a/package/tinyinit/tinyinit.mk b/package/tinyinit/tinyinit.mk
new file mode 100644
index 000000000000..ac1f0f736e38
--- /dev/null
+++ b/package/tinyinit/tinyinit.mk
@@ -0,0 +1,13 @@
+################################################################################
+#
+# tinyinit
+#
+################################################################################
+
+define TINYINIT_INSTALL_TARGET_CMDS
+ $(INSTALL) -m 0755 -D $(TINYINIT_PKGDIR)/init $(TARGET_DIR)/sbin/init
+ # Downside: In non-initramfs systems the symlink isn't used/needed
+ (cd $(TARGET_DIR); ln -sf /sbin/init init)
+endef
+
+$(eval $(generic-package))
diff --git a/system/Config.in b/system/Config.in
index d7d59db47db7..974152bd23e6 100644
--- a/system/Config.in
+++ b/system/Config.in
@@ -165,6 +165,15 @@ config BR2_INIT_TINI
https://github.com/krallin/tini
+config BR2_INIT_TINYINIT
+ bool "tiny init"
+ select BR2_PACKAGE_TINYINIT
+ select BR2_PACKAGE_SKELETON_INIT_NONE if BR2_ROOTFS_SKELETON_DEFAULT
+ help
+ A Linux tiny initialization script suitable for resource
+ limited systems, which can be used as an alternative to the
+ one provided by Busybox.
+
config BR2_INIT_NONE
bool "Custom (none)"
select BR2_PACKAGE_SKELETON_INIT_NONE if BR2_ROOTFS_SKELETON_DEFAULT
--
2.43.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 9+ messages in thread* Re: [Buildroot] [PATCH v4 1/3] package/tinyinit: new package
2024-08-31 12:08 ` [Buildroot] [PATCH v4 1/3] package/tinyinit: new package Dario Binacchi
@ 2024-09-02 0:26 ` Damien Le Moal via buildroot
2024-09-14 9:24 ` Yann E. MORIN
1 sibling, 0 replies; 9+ messages in thread
From: Damien Le Moal via buildroot @ 2024-09-02 0:26 UTC (permalink / raw)
To: Dario Binacchi, buildroot; +Cc: linux-amarula, Yann E . MORIN, Thomas Petazzoni
On 8/31/24 21:08, Dario Binacchi wrote:
> This package contains a Linux init script suitable for resource-limited
> systems which can be used as an alternative to the one provided by
> Busybox.
I think it would be good to add a description of the menuconfig path to enable
this init here.
Other than that, looks good to me:
Reviewed-by: Damien Le Moal <dlemoal@kernel.org>
--
Damien Le Moal
Western Digital Research
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Buildroot] [PATCH v4 1/3] package/tinyinit: new package
2024-08-31 12:08 ` [Buildroot] [PATCH v4 1/3] package/tinyinit: new package Dario Binacchi
2024-09-02 0:26 ` Damien Le Moal via buildroot
@ 2024-09-14 9:24 ` Yann E. MORIN
1 sibling, 0 replies; 9+ messages in thread
From: Yann E. MORIN @ 2024-09-14 9:24 UTC (permalink / raw)
To: Dario Binacchi; +Cc: Damien Le Moal, linux-amarula, Thomas Petazzoni, buildroot
Dario, All,
On 2024-08-31 14:08 +0200, Dario Binacchi spake thusly:
> This package contains a Linux init script suitable for resource-limited
> systems which can be used as an alternative to the one provided by
> Busybox.
>
> Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
> Cc: Yann E. MORIN <yann.morin.1998@free.fr>
> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> ---
[--SNIP--]
> diff --git a/package/tinyinit/Config.in b/package/tinyinit/Config.in
> new file mode 100644
> index 000000000000..f68b030e7e0f
> --- /dev/null
> +++ b/package/tinyinit/Config.in
> @@ -0,0 +1,8 @@
> +config BR2_PACKAGE_TINYINIT
> + bool "tinyinit"
> + depends on BR2_INIT_TINYINIT
> + imply BR2_PACKAGE_BUSYBOX
As discussed with together with the other maintainers at the dev-days,
we concluded that we do not want to use 'imply', at least not in this
case.
Indeed, imply is a soft requirement, that makes the target enabled by
default, but can still be de-selectable. In our case, busybox is already
enabled by default, so 'imply' has no impact.
Applied to master with 'imply' dropped, thanks!
Regards,
Yann E. MORIN.
> + help
> + A Linux tiny initialization script suitable for resource
> + limited systems, which can be used as an alternative to the
> + one provided by Busybox.
> diff --git a/package/tinyinit/init b/package/tinyinit/init
> new file mode 100644
> index 000000000000..fbcb481010c2
> --- /dev/null
> +++ b/package/tinyinit/init
> @@ -0,0 +1,32 @@
> +#!/bin/sh
> +
> +# This script replaces the default busybox init process to avoid having that
> +# process staying alive and sleeping in the background, (uselessly) consuming
> +# precious memory.
> +
> +# Mount procfs and sysfs
> +/bin/mount -t proc proc /proc
> +/bin/mount -t sysfs sysfs /sys
> +
> +# When the kernel is directly booted, devtmpfs is not automatically mounted.
> +# Manually mount it if needed.
> +devmnt=$(mount | grep -c devtmpfs)
> +if [ "${devmnt}" -eq 0 ]; then
> + /bin/mount -t devtmpfs devtmpfs /dev
> +fi
> +
> +# Use the /dev/console device node from devtmpfs if possible to not
> +# confuse glibc's ttyname_r().
> +# This may fail (E.G. booted with console=), and errors from exec will
> +# terminate the shell, so use a subshell for the test
> +if (exec 0</dev/console) 2>/dev/null; then
> + exec 0</dev/console
> + exec 1>/dev/console
> + exec 2>/dev/console
> +fi
> +
> +# Clear memory to reduce page fragmentation
> +echo 3 > /proc/sys/vm/drop_caches
> +
> +# Finally, let's start an interactive shell
> +exec /bin/sh
> diff --git a/package/tinyinit/tinyinit.mk b/package/tinyinit/tinyinit.mk
> new file mode 100644
> index 000000000000..ac1f0f736e38
> --- /dev/null
> +++ b/package/tinyinit/tinyinit.mk
> @@ -0,0 +1,13 @@
> +################################################################################
> +#
> +# tinyinit
> +#
> +################################################################################
> +
> +define TINYINIT_INSTALL_TARGET_CMDS
> + $(INSTALL) -m 0755 -D $(TINYINIT_PKGDIR)/init $(TARGET_DIR)/sbin/init
> + # Downside: In non-initramfs systems the symlink isn't used/needed
> + (cd $(TARGET_DIR); ln -sf /sbin/init init)
> +endef
> +
> +$(eval $(generic-package))
> diff --git a/system/Config.in b/system/Config.in
> index d7d59db47db7..974152bd23e6 100644
> --- a/system/Config.in
> +++ b/system/Config.in
> @@ -165,6 +165,15 @@ config BR2_INIT_TINI
>
> https://github.com/krallin/tini
>
> +config BR2_INIT_TINYINIT
> + bool "tiny init"
> + select BR2_PACKAGE_TINYINIT
> + select BR2_PACKAGE_SKELETON_INIT_NONE if BR2_ROOTFS_SKELETON_DEFAULT
> + help
> + A Linux tiny initialization script suitable for resource
> + limited systems, which can be used as an alternative to the
> + one provided by Busybox.
> +
> config BR2_INIT_NONE
> bool "Custom (none)"
> select BR2_PACKAGE_SKELETON_INIT_NONE if BR2_ROOTFS_SKELETON_DEFAULT
> --
> 2.43.0
>
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH v4 2/3] configs/stm32f746_disco_sd: new defconfig
2024-08-31 12:08 [Buildroot] [PATCH v4 0/3] tinyinit and stm32f746_disco_sd_defconfig Dario Binacchi
2024-08-31 12:08 ` [Buildroot] [PATCH v4 1/3] package/tinyinit: new package Dario Binacchi
@ 2024-08-31 12:08 ` Dario Binacchi
2024-09-14 10:15 ` Yann E. MORIN
2024-08-31 12:08 ` [Buildroot] [PATCH v4 3/3] board/canaan/k210-soc: use tinyinit as Linux init process Dario Binacchi
2 siblings, 1 reply; 9+ messages in thread
From: Dario Binacchi @ 2024-08-31 12:08 UTC (permalink / raw)
To: buildroot
Cc: Damien Le Moal, Thomas Petazzoni, Dario Binacchi, linux-amarula,
Yann E . MORIN
The commit adds support for STM32F746G-DISCO board. The discovery kit is
a complete demonstration and development platform for STMicroelectronics
Arm Cortex-M7-core-based STM32F746NG.
Board support package includes the following components:
- mainline Linux kernel 5.15.165
- mainline U-Boot 2024.07
- default packages from buildroot
Link: https://www.st.com/en/evaluation-tools/32f746gdiscovery.html
Co-Developed-by: Waldemar Brodkorb <wbx@openadk.org>
Tested-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
---
Changes v3 -> v4:
- Fix indentation in board/stmicroelectronics/stm32f746-disco/flash_sd.sh
- Remove from board/stmicroelectronics/stm32f746-disco/post-build.sh the
statements for finalizing the tinyinit script
- Replace BR2_INIT_NONE=y and BR2_PACKAGE_TINYINIT=y with
BR2_INIT_TINYINIT=y in stm32f746_disco_sd_defconfig
- I ran some tests with a single partition, as suggested by Thomas, but
the system became less stable. Even with just an `ls` command, I
encountered issues with the device, whereas with two partitions, I can
execute more commands before running into problems.
The memory fragmentation has likely increased.
So I therefore preferred to keep the two-partition system.
Changes v2 -> v3:
- Replace BR2_INIT_TINYINIT=y with BR2_INIT_NONE=y and
BR2_PACKAGE_TINYINIT=y in stm32f746_disco_sd_defconfig.
Changes v1 -> v2:
- Move Linux kernel from version 5.15.163 to 5.15.165.
- Drop busybox-tiny.config and use package/busybox/busybox-minimal.config.
- Remove the logo management.
- Add the Tested-by tag.
- Update the commit message
DEVELOPERS | 2 ++
.../stm32f746-disco/extlinux.conf | 4 +++
.../stm32f746-disco/flash_sd.sh | 22 +++++++++++++
.../stm32f746-disco/genimage.cfg | 27 ++++++++++++++++
.../stm32f746-disco/linux.fragment | 13 ++++++++
| 1 +
.../stm32f746-disco/patches/linux/linux.hash | 2 ++
.../stm32f746-disco/patches/uboot/uboot.hash | 2 ++
.../stm32f746-disco/post-build.sh | 4 +++
.../stm32f746-disco/readme.txt | 31 +++++++++++++++++++
configs/stm32f746_disco_sd_defconfig | 31 +++++++++++++++++++
11 files changed, 139 insertions(+)
create mode 100644 board/stmicroelectronics/stm32f746-disco/extlinux.conf
create mode 100755 board/stmicroelectronics/stm32f746-disco/flash_sd.sh
create mode 100644 board/stmicroelectronics/stm32f746-disco/genimage.cfg
create mode 100644 board/stmicroelectronics/stm32f746-disco/linux.fragment
create mode 120000 board/stmicroelectronics/stm32f746-disco/patches/linux-headers/linux-headers.hash
create mode 100644 board/stmicroelectronics/stm32f746-disco/patches/linux/linux.hash
create mode 100644 board/stmicroelectronics/stm32f746-disco/patches/uboot/uboot.hash
create mode 100755 board/stmicroelectronics/stm32f746-disco/post-build.sh
create mode 100644 board/stmicroelectronics/stm32f746-disco/readme.txt
create mode 100644 configs/stm32f746_disco_sd_defconfig
diff --git a/DEVELOPERS b/DEVELOPERS
index cf62d0ed65ae..70e57598486e 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -785,10 +785,12 @@ F: package/xinetd/
N: Dario Binacchi <dario.binacchi@amarulasolutions.com>
F: board/bsh/
+F: board/stmicroelectronics/stm32f746-disco/
F: board/stmicroelectronics/stm32f769-disco/
F: configs/imx6ulz_bsh_smm_m2_defconfig
F: configs/imx8mn_bsh_smm_s2_defconfig
F: configs/imx8mn_bsh_smm_s2_pro_defconfig
+F: configs/stm32f746_disco_sd_defconfig
F: configs/stm32f769_disco_sd_defconfig
F: package/sscep/
F: package/tinyinit/
diff --git a/board/stmicroelectronics/stm32f746-disco/extlinux.conf b/board/stmicroelectronics/stm32f746-disco/extlinux.conf
new file mode 100644
index 000000000000..bb79c0b412a2
--- /dev/null
+++ b/board/stmicroelectronics/stm32f746-disco/extlinux.conf
@@ -0,0 +1,4 @@
+label stm32f746-disco-buildroot
+ kernel /zImage
+ devicetree /stm32f746-disco.dtb
+ append console=ttySTM0,115200 root=/dev/mmcblk0p2 rw rootwait consoleblank=0 ignore_loglevel
diff --git a/board/stmicroelectronics/stm32f746-disco/flash_sd.sh b/board/stmicroelectronics/stm32f746-disco/flash_sd.sh
new file mode 100755
index 000000000000..b4858cb9dacb
--- /dev/null
+++ b/board/stmicroelectronics/stm32f746-disco/flash_sd.sh
@@ -0,0 +1,22 @@
+#!/bin/bash
+
+if [ $# -eq 0 ]; then
+ OUTPUT_DIR=output
+else
+ OUTPUT_DIR=$1
+fi
+
+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/stm32f746g-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/stm32f746-disco/genimage.cfg b/board/stmicroelectronics/stm32f746-disco/genimage.cfg
new file mode 100644
index 000000000000..6743d41972c0
--- /dev/null
+++ b/board/stmicroelectronics/stm32f746-disco/genimage.cfg
@@ -0,0 +1,27 @@
+image boot.vfat {
+ vfat {
+ files = {
+ "zImage",
+ "stm32f746-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/stm32f746-disco/linux.fragment b/board/stmicroelectronics/stm32f746-disco/linux.fragment
new file mode 100644
index 000000000000..625fdced9e8d
--- /dev/null
+++ b/board/stmicroelectronics/stm32f746-disco/linux.fragment
@@ -0,0 +1,13 @@
+# CONFIG_PREEMPT is not set
+# CONFIG_MULTIUSER is not set
+# CONFIG_TIMERFD is not set
+CONFIG_SET_MEM_PARAM=y
+CONFIG_DRAM_BASE=0xC0000000
+CONFIG_DRAM_SIZE=0x01000000
+# CONFIG_GCC_PLUGINS is not set
+# CONFIG_XIP_KERNEL is not set
+# CONFIG_BLK_DEV is not set
+# CONFIG_COMPAT_BRK is not set
+# CONFIG_PROC_SYSCTL is not set
+# CONFIG_CRYPTO is not set
+CONFIG_RCU_TRACE=y
\ No newline at end of file
--git a/board/stmicroelectronics/stm32f746-disco/patches/linux-headers/linux-headers.hash b/board/stmicroelectronics/stm32f746-disco/patches/linux-headers/linux-headers.hash
new file mode 120000
index 000000000000..5808d92afe89
--- /dev/null
+++ b/board/stmicroelectronics/stm32f746-disco/patches/linux-headers/linux-headers.hash
@@ -0,0 +1 @@
+../linux/linux.hash
\ No newline at end of file
diff --git a/board/stmicroelectronics/stm32f746-disco/patches/linux/linux.hash b/board/stmicroelectronics/stm32f746-disco/patches/linux/linux.hash
new file mode 100644
index 000000000000..7f78b950f35c
--- /dev/null
+++ b/board/stmicroelectronics/stm32f746-disco/patches/linux/linux.hash
@@ -0,0 +1,2 @@
+# Locally calculated
+sha256 a36dd3e82ceb634afded31f2656568f57c4d9c4b399859f298b18116df11c6fe linux-5.15.165.tar.xz
diff --git a/board/stmicroelectronics/stm32f746-disco/patches/uboot/uboot.hash b/board/stmicroelectronics/stm32f746-disco/patches/uboot/uboot.hash
new file mode 100644
index 000000000000..fe9b4f53dc63
--- /dev/null
+++ b/board/stmicroelectronics/stm32f746-disco/patches/uboot/uboot.hash
@@ -0,0 +1,2 @@
+# Locally calculated
+sha256 f591da9ab90ef3d6b3d173766d0ddff90c4ed7330680897486117df390d83c8f u-boot-2024.07.tar.bz2
diff --git a/board/stmicroelectronics/stm32f746-disco/post-build.sh b/board/stmicroelectronics/stm32f746-disco/post-build.sh
new file mode 100755
index 000000000000..5dcdb352eb3b
--- /dev/null
+++ b/board/stmicroelectronics/stm32f746-disco/post-build.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+BOARD_DIR="$(dirname "$0")"
+
+install -m 0644 -D "${BOARD_DIR}"/extlinux.conf "${BINARIES_DIR}"/extlinux/extlinux.conf
diff --git a/board/stmicroelectronics/stm32f746-disco/readme.txt b/board/stmicroelectronics/stm32f746-disco/readme.txt
new file mode 100644
index 000000000000..4ac16da33132
--- /dev/null
+++ b/board/stmicroelectronics/stm32f746-disco/readme.txt
@@ -0,0 +1,31 @@
+STM32F746-DISCO
+===================
+
+This tutorial describes how to use the predefined Buildroot
+configuration for the STM32F746-DISCO evaluation platform.
+
+Building
+--------
+
+ make stm32f746_disco_sd_defconfig
+ make
+
+Flashing
+--------
+
+ ./board/stmicroelectronics/stm32f746-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/stm32f746-disco/genimage.cfg.
diff --git a/configs/stm32f746_disco_sd_defconfig b/configs/stm32f746_disco_sd_defconfig
new file mode 100644
index 000000000000..870dde318324
--- /dev/null
+++ b/configs/stm32f746_disco_sd_defconfig
@@ -0,0 +1,31 @@
+BR2_arm=y
+BR2_cortex_m7=y
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y
+BR2_GLOBAL_PATCH_DIR="board/stmicroelectronics/stm32f746-disco/patches"
+BR2_DOWNLOAD_FORCE_CHECK_HASHES=y
+BR2_INIT_TINYINIT=y
+BR2_ROOTFS_POST_BUILD_SCRIPT="board/stmicroelectronics/stm32f746-disco/post-build.sh"
+BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
+BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/stmicroelectronics/stm32f746-disco/genimage.cfg"
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_VERSION=y
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.165"
+BR2_LINUX_KERNEL_DEFCONFIG="stm32"
+BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/stmicroelectronics/stm32f746-disco/linux.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="stm32f746-disco"
+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="2024.07"
+BR2_TARGET_UBOOT_BOARD_DEFCONFIG="stm32f746-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
--
2.43.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 9+ messages in thread* Re: [Buildroot] [PATCH v4 2/3] configs/stm32f746_disco_sd: new defconfig
2024-08-31 12:08 ` [Buildroot] [PATCH v4 2/3] configs/stm32f746_disco_sd: new defconfig Dario Binacchi
@ 2024-09-14 10:15 ` Yann E. MORIN
0 siblings, 0 replies; 9+ messages in thread
From: Yann E. MORIN @ 2024-09-14 10:15 UTC (permalink / raw)
To: Dario Binacchi; +Cc: Damien Le Moal, linux-amarula, Thomas Petazzoni, buildroot
Dario, All,
On 2024-08-31 14:08 +0200, Dario Binacchi spake thusly:
> The commit adds support for STM32F746G-DISCO board. The discovery kit is
> a complete demonstration and development platform for STMicroelectronics
> Arm Cortex-M7-core-based STM32F746NG.
>
> Board support package includes the following components:
> - mainline Linux kernel 5.15.165
> - mainline U-Boot 2024.07
> - default packages from buildroot
>
> Link: https://www.st.com/en/evaluation-tools/32f746gdiscovery.html
> Co-Developed-by: Waldemar Brodkorb <wbx@openadk.org>
> Tested-by: Waldemar Brodkorb <wbx@openadk.org>
> Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
As we've discussed at the dev-days, this configuration generates a
system that is not entirely stable: after a few commands, the following
ones fail to run.
This happens whether you use the 'u-boot' partition, or not, as
suggested by Thomas. In the first case, one can run more commands than
in the second case; in either case, the system is quickly unstable. As
Waldemar suggested, this is most probably due to memory being quickly
fragmented.
One suggestion that emerged during the discussion was to move the kernel
to the flash, and be XIP, so that more memory is free to run commands.
Of course, the internal flash is only 1MiB, but there is a Q-SPI flash
that is 16MiB; if that one can be memory-mapped, then it would be
possible to have a XIP kernel, and keep only the rootfs on the SDcard.
So, for now, we've decided to drop the configuration.
Thanks for the explanations!
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH v4 3/3] board/canaan/k210-soc: use tinyinit as Linux init process
2024-08-31 12:08 [Buildroot] [PATCH v4 0/3] tinyinit and stm32f746_disco_sd_defconfig Dario Binacchi
2024-08-31 12:08 ` [Buildroot] [PATCH v4 1/3] package/tinyinit: new package Dario Binacchi
2024-08-31 12:08 ` [Buildroot] [PATCH v4 2/3] configs/stm32f746_disco_sd: new defconfig Dario Binacchi
@ 2024-08-31 12:08 ` Dario Binacchi
2024-09-02 0:26 ` Damien Le Moal via buildroot
2024-09-14 9:35 ` Yann E. MORIN
2 siblings, 2 replies; 9+ messages in thread
From: Dario Binacchi @ 2024-08-31 12:08 UTC (permalink / raw)
To: buildroot
Cc: linux-amarula, Damien Le Moal, Dario Binacchi, Yann E . MORIN,
Thomas Petazzoni
The initialization script provided by the tinyinit package is the same
as the one contained in board/canaan/k210-soc/rootfs_overlay/sbin/init
except for the Linux logo, which has been removed. The patch reworks
the configurations that use this overlay directory by replacing the
initialization process contained within it with the one provided by
the tinyinit package.
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
---
Changes v3 -> v4:
- Replace BR2_INIT_NONE=y and BR2_PACKAGE_TINYINIT=y with
BR2_INIT_TINYINIT=y in stm32f746_disco_sd_defconfig
Changes v2 -> v3:
- Replace BR2_INIT_TINYINIT=y with BR2_INIT_NONE=y and
BR2_PACKAGE_TINYINIT=y in stm32f746_disco_sd_defconfig.
Changes v1 -> v2:
- Remove the logo management.
- Update the commit message.
.checkpackageignore | 1 -
board/canaan/k210-soc/rootfs_overlay/init | 1 -
.../canaan/k210-soc/rootfs_overlay/sbin/init | 41 -------------------
configs/canaan_kd233_defconfig | 3 +-
configs/sipeed_maix_bit_defconfig | 3 +-
configs/sipeed_maix_bit_sdcard_defconfig | 3 +-
configs/sipeed_maix_dock_defconfig | 3 +-
configs/sipeed_maix_dock_sdcard_defconfig | 3 +-
configs/sipeed_maix_go_defconfig | 3 +-
configs/sipeed_maix_go_sdcard_defconfig | 3 +-
configs/sipeed_maixduino_defconfig | 3 +-
configs/sipeed_maixduino_sdcard_defconfig | 3 +-
12 files changed, 9 insertions(+), 61 deletions(-)
delete mode 120000 board/canaan/k210-soc/rootfs_overlay/init
delete mode 100755 board/canaan/k210-soc/rootfs_overlay/sbin/init
diff --git a/.checkpackageignore b/.checkpackageignore
index 4cfc202153c7..849bb2a55e47 100644
--- a/.checkpackageignore
+++ b/.checkpackageignore
@@ -22,7 +22,6 @@ board/bsh/imx8mn-bsh-smm-s2-pro/post-image.sh Shellcheck
board/bsh/imx8mn-bsh-smm-s2/flash.sh Shellcheck lib_shellscript.EmptyLastLine
board/bsh/imx8mn-bsh-smm-s2/post-build.sh Shellcheck
board/canaan/k210-soc/post-build.sh Shellcheck
-board/canaan/k210-soc/rootfs_overlay/sbin/init Shellcheck
board/chromebook/elm/sign.sh Shellcheck
board/chromebook/mksd.sh Shellcheck
board/chromebook/snow/sign.sh Shellcheck
diff --git a/board/canaan/k210-soc/rootfs_overlay/init b/board/canaan/k210-soc/rootfs_overlay/init
deleted file mode 120000
index a0b71977c06f..000000000000
--- a/board/canaan/k210-soc/rootfs_overlay/init
+++ /dev/null
@@ -1 +0,0 @@
-/sbin/init
\ No newline at end of file
diff --git a/board/canaan/k210-soc/rootfs_overlay/sbin/init b/board/canaan/k210-soc/rootfs_overlay/sbin/init
deleted file mode 100755
index d4bf53d45231..000000000000
--- a/board/canaan/k210-soc/rootfs_overlay/sbin/init
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/bin/sh
-
-# This script replaces the default busybox init process to avoid having that
-# process staying alive and sleeping in the background, (uselessly) consuming
-# precious memory.
-
-# Mount procfs and sysfs
-/bin/mount -t proc proc /proc
-/bin/mount -t sysfs sysfs /sys
-
-# When the kernel is directly booted, devtmpfs is not automatically mounted.
-# Manually mount it if needed.
-devmnt=$(mount | grep -c devtmpfs)
-if [ ${devmnt} -eq 0 ]; then
- /bin/mount -t devtmpfs devtmpfs /dev
-fi
-
-# Use the /dev/console device node from devtmpfs if possible to not
-# confuse glibc's ttyname_r().
-# This may fail (E.G. booted with console=), and errors from exec will
-# terminate the shell, so use a subshell for the test
-if (exec 0</dev/console) 2>/dev/null; then
- exec 0</dev/console
- exec 1>/dev/console
- exec 2>/dev/console
-fi
-
-# Clear memory to reduce page fragmentation
-echo 3 > /proc/sys/vm/drop_caches
-
-# Print a fun logo :)
-echo " __ _"
-echo " / / (_) ____ _ _ __ __"
-echo " / / | || _ \\ | | | |\\ \\/ /"
-echo " / /___| || | | || |_| | > < "
-echo " /_____/|_||_| |_| \\____|/_/\\_\\"
-echo " 64-bits RISC-V Kendryte K210 NOMMU"
-echo ""
-
-# Finally, let's start an interactive shell
-exec /bin/sh
diff --git a/configs/canaan_kd233_defconfig b/configs/canaan_kd233_defconfig
index 832f8363a75c..27624aff4a9a 100644
--- a/configs/canaan_kd233_defconfig
+++ b/configs/canaan_kd233_defconfig
@@ -32,6 +32,5 @@ BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="board/canaan/k210-soc/busybox-tiny.co
# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
# Filesystem
-BR2_INIT_NONE=y
+BR2_INIT_TINYINIT=y
BR2_TARGET_ROOTFS_INITRAMFS=y
-BR2_ROOTFS_OVERLAY="board/canaan/k210-soc/rootfs_overlay"
diff --git a/configs/sipeed_maix_bit_defconfig b/configs/sipeed_maix_bit_defconfig
index 238e082a3d40..5119307330de 100644
--- a/configs/sipeed_maix_bit_defconfig
+++ b/configs/sipeed_maix_bit_defconfig
@@ -32,6 +32,5 @@ BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="board/canaan/k210-soc/busybox-tiny.co
# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
# Filesystem
-BR2_INIT_NONE=y
+BR2_INIT_TINYINIT=y
BR2_TARGET_ROOTFS_INITRAMFS=y
-BR2_ROOTFS_OVERLAY="board/canaan/k210-soc/rootfs_overlay"
diff --git a/configs/sipeed_maix_bit_sdcard_defconfig b/configs/sipeed_maix_bit_sdcard_defconfig
index 28aa143583bd..4047da159221 100644
--- a/configs/sipeed_maix_bit_sdcard_defconfig
+++ b/configs/sipeed_maix_bit_sdcard_defconfig
@@ -33,10 +33,9 @@ BR2_LINUX_KERNEL_INTREE_DTS_NAME="canaan/sipeed_maix_bit"
# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
# Filesystem
-BR2_INIT_NONE=y
+BR2_INIT_TINYINIT=y
BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT2_SIZE="64M"
-BR2_ROOTFS_OVERLAY="board/canaan/k210-soc/rootfs_overlay"
BR2_ROOTFS_POST_BUILD_SCRIPT="board/canaan/k210-soc/post-build.sh"
BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/canaan/k210-soc/genimage.cfg"
diff --git a/configs/sipeed_maix_dock_defconfig b/configs/sipeed_maix_dock_defconfig
index ee1b0d837284..0caa4d4e3ae3 100644
--- a/configs/sipeed_maix_dock_defconfig
+++ b/configs/sipeed_maix_dock_defconfig
@@ -32,6 +32,5 @@ BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="board/canaan/k210-soc/busybox-tiny.co
# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
# Filesystem
-BR2_INIT_NONE=y
+BR2_INIT_TINYINIT=y
BR2_TARGET_ROOTFS_INITRAMFS=y
-BR2_ROOTFS_OVERLAY="board/canaan/k210-soc/rootfs_overlay"
diff --git a/configs/sipeed_maix_dock_sdcard_defconfig b/configs/sipeed_maix_dock_sdcard_defconfig
index 41a062c7a179..ecb640a47bb2 100644
--- a/configs/sipeed_maix_dock_sdcard_defconfig
+++ b/configs/sipeed_maix_dock_sdcard_defconfig
@@ -33,10 +33,9 @@ BR2_LINUX_KERNEL_INTREE_DTS_NAME="canaan/sipeed_maix_dock"
# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
# Filesystem
-BR2_INIT_NONE=y
+BR2_INIT_TINYINIT=y
BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT2_SIZE="64M"
-BR2_ROOTFS_OVERLAY="board/canaan/k210-soc/rootfs_overlay"
BR2_ROOTFS_POST_BUILD_SCRIPT="board/canaan/k210-soc/post-build.sh"
BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/canaan/k210-soc/genimage.cfg"
diff --git a/configs/sipeed_maix_go_defconfig b/configs/sipeed_maix_go_defconfig
index a5b09e17ac1c..21075a9ed004 100644
--- a/configs/sipeed_maix_go_defconfig
+++ b/configs/sipeed_maix_go_defconfig
@@ -32,6 +32,5 @@ BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="board/canaan/k210-soc/busybox-tiny.co
# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
# Filesystem
-BR2_INIT_NONE=y
+BR2_INIT_TINYINIT=y
BR2_TARGET_ROOTFS_INITRAMFS=y
-BR2_ROOTFS_OVERLAY="board/canaan/k210-soc/rootfs_overlay"
diff --git a/configs/sipeed_maix_go_sdcard_defconfig b/configs/sipeed_maix_go_sdcard_defconfig
index 0e80d9c83ad8..5448bd0ce351 100644
--- a/configs/sipeed_maix_go_sdcard_defconfig
+++ b/configs/sipeed_maix_go_sdcard_defconfig
@@ -33,10 +33,9 @@ BR2_LINUX_KERNEL_INTREE_DTS_NAME="canaan/sipeed_maix_go"
# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
# Filesystem
-BR2_INIT_NONE=y
+BR2_INIT_TINYINIT=y
BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT2_SIZE="64M"
-BR2_ROOTFS_OVERLAY="board/canaan/k210-soc/rootfs_overlay"
BR2_ROOTFS_POST_BUILD_SCRIPT="board/canaan/k210-soc/post-build.sh"
BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/canaan/k210-soc/genimage.cfg"
diff --git a/configs/sipeed_maixduino_defconfig b/configs/sipeed_maixduino_defconfig
index 7ba7653e8d5f..6c93b29b4343 100644
--- a/configs/sipeed_maixduino_defconfig
+++ b/configs/sipeed_maixduino_defconfig
@@ -32,6 +32,5 @@ BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="board/canaan/k210-soc/busybox-tiny.co
# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
# Filesystem
-BR2_INIT_NONE=y
+BR2_INIT_TINYINIT=y
BR2_TARGET_ROOTFS_INITRAMFS=y
-BR2_ROOTFS_OVERLAY="board/canaan/k210-soc/rootfs_overlay"
diff --git a/configs/sipeed_maixduino_sdcard_defconfig b/configs/sipeed_maixduino_sdcard_defconfig
index 7bdd36e1d09f..0b42cae45df7 100644
--- a/configs/sipeed_maixduino_sdcard_defconfig
+++ b/configs/sipeed_maixduino_sdcard_defconfig
@@ -33,10 +33,9 @@ BR2_LINUX_KERNEL_INTREE_DTS_NAME="canaan/sipeed_maixduino"
# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
# Filesystem
-BR2_INIT_NONE=y
+BR2_INIT_TINYINIT=y
BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT2_SIZE="64M"
-BR2_ROOTFS_OVERLAY="board/canaan/k210-soc/rootfs_overlay"
BR2_ROOTFS_POST_BUILD_SCRIPT="board/canaan/k210-soc/post-build.sh"
BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/canaan/k210-soc/genimage.cfg"
--
2.43.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 9+ messages in thread* Re: [Buildroot] [PATCH v4 3/3] board/canaan/k210-soc: use tinyinit as Linux init process
2024-08-31 12:08 ` [Buildroot] [PATCH v4 3/3] board/canaan/k210-soc: use tinyinit as Linux init process Dario Binacchi
@ 2024-09-02 0:26 ` Damien Le Moal via buildroot
2024-09-14 9:35 ` Yann E. MORIN
1 sibling, 0 replies; 9+ messages in thread
From: Damien Le Moal via buildroot @ 2024-09-02 0:26 UTC (permalink / raw)
To: Dario Binacchi, buildroot; +Cc: linux-amarula, Yann E . MORIN, Thomas Petazzoni
On 8/31/24 21:08, Dario Binacchi wrote:
> The initialization script provided by the tinyinit package is the same
> as the one contained in board/canaan/k210-soc/rootfs_overlay/sbin/init
> except for the Linux logo, which has been removed. The patch reworks
> the configurations that use this overlay directory by replacing the
> initialization process contained within it with the one provided by
> the tinyinit package.
>
> Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Looks good.
Reviewed-by: Damien Le Moal <dlemoal@kernel.org>
--
Damien Le Moal
Western Digital Research
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Buildroot] [PATCH v4 3/3] board/canaan/k210-soc: use tinyinit as Linux init process
2024-08-31 12:08 ` [Buildroot] [PATCH v4 3/3] board/canaan/k210-soc: use tinyinit as Linux init process Dario Binacchi
2024-09-02 0:26 ` Damien Le Moal via buildroot
@ 2024-09-14 9:35 ` Yann E. MORIN
1 sibling, 0 replies; 9+ messages in thread
From: Yann E. MORIN @ 2024-09-14 9:35 UTC (permalink / raw)
To: Dario Binacchi; +Cc: Damien Le Moal, linux-amarula, Thomas Petazzoni, buildroot
Dario, All,
On 2024-08-31 14:08 +0200, Dario Binacchi spake thusly:
> The initialization script provided by the tinyinit package is the same
> as the one contained in board/canaan/k210-soc/rootfs_overlay/sbin/init
> except for the Linux logo, which has been removed. The patch reworks
> the configurations that use this overlay directory by replacing the
> initialization process contained within it with the one provided by
> the tinyinit package.
>
> Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Applied to master, thanks.
Regards,
Yann E. MORIN.
> ---
> Changes v3 -> v4:
> - Replace BR2_INIT_NONE=y and BR2_PACKAGE_TINYINIT=y with
> BR2_INIT_TINYINIT=y in stm32f746_disco_sd_defconfig
>
> Changes v2 -> v3:
> - Replace BR2_INIT_TINYINIT=y with BR2_INIT_NONE=y and
> BR2_PACKAGE_TINYINIT=y in stm32f746_disco_sd_defconfig.
>
> Changes v1 -> v2:
> - Remove the logo management.
> - Update the commit message.
>
> .checkpackageignore | 1 -
> board/canaan/k210-soc/rootfs_overlay/init | 1 -
> .../canaan/k210-soc/rootfs_overlay/sbin/init | 41 -------------------
> configs/canaan_kd233_defconfig | 3 +-
> configs/sipeed_maix_bit_defconfig | 3 +-
> configs/sipeed_maix_bit_sdcard_defconfig | 3 +-
> configs/sipeed_maix_dock_defconfig | 3 +-
> configs/sipeed_maix_dock_sdcard_defconfig | 3 +-
> configs/sipeed_maix_go_defconfig | 3 +-
> configs/sipeed_maix_go_sdcard_defconfig | 3 +-
> configs/sipeed_maixduino_defconfig | 3 +-
> configs/sipeed_maixduino_sdcard_defconfig | 3 +-
> 12 files changed, 9 insertions(+), 61 deletions(-)
> delete mode 120000 board/canaan/k210-soc/rootfs_overlay/init
> delete mode 100755 board/canaan/k210-soc/rootfs_overlay/sbin/init
>
> diff --git a/.checkpackageignore b/.checkpackageignore
> index 4cfc202153c7..849bb2a55e47 100644
> --- a/.checkpackageignore
> +++ b/.checkpackageignore
> @@ -22,7 +22,6 @@ board/bsh/imx8mn-bsh-smm-s2-pro/post-image.sh Shellcheck
> board/bsh/imx8mn-bsh-smm-s2/flash.sh Shellcheck lib_shellscript.EmptyLastLine
> board/bsh/imx8mn-bsh-smm-s2/post-build.sh Shellcheck
> board/canaan/k210-soc/post-build.sh Shellcheck
> -board/canaan/k210-soc/rootfs_overlay/sbin/init Shellcheck
> board/chromebook/elm/sign.sh Shellcheck
> board/chromebook/mksd.sh Shellcheck
> board/chromebook/snow/sign.sh Shellcheck
> diff --git a/board/canaan/k210-soc/rootfs_overlay/init b/board/canaan/k210-soc/rootfs_overlay/init
> deleted file mode 120000
> index a0b71977c06f..000000000000
> --- a/board/canaan/k210-soc/rootfs_overlay/init
> +++ /dev/null
> @@ -1 +0,0 @@
> -/sbin/init
> \ No newline at end of file
> diff --git a/board/canaan/k210-soc/rootfs_overlay/sbin/init b/board/canaan/k210-soc/rootfs_overlay/sbin/init
> deleted file mode 100755
> index d4bf53d45231..000000000000
> --- a/board/canaan/k210-soc/rootfs_overlay/sbin/init
> +++ /dev/null
> @@ -1,41 +0,0 @@
> -#!/bin/sh
> -
> -# This script replaces the default busybox init process to avoid having that
> -# process staying alive and sleeping in the background, (uselessly) consuming
> -# precious memory.
> -
> -# Mount procfs and sysfs
> -/bin/mount -t proc proc /proc
> -/bin/mount -t sysfs sysfs /sys
> -
> -# When the kernel is directly booted, devtmpfs is not automatically mounted.
> -# Manually mount it if needed.
> -devmnt=$(mount | grep -c devtmpfs)
> -if [ ${devmnt} -eq 0 ]; then
> - /bin/mount -t devtmpfs devtmpfs /dev
> -fi
> -
> -# Use the /dev/console device node from devtmpfs if possible to not
> -# confuse glibc's ttyname_r().
> -# This may fail (E.G. booted with console=), and errors from exec will
> -# terminate the shell, so use a subshell for the test
> -if (exec 0</dev/console) 2>/dev/null; then
> - exec 0</dev/console
> - exec 1>/dev/console
> - exec 2>/dev/console
> -fi
> -
> -# Clear memory to reduce page fragmentation
> -echo 3 > /proc/sys/vm/drop_caches
> -
> -# Print a fun logo :)
> -echo " __ _"
> -echo " / / (_) ____ _ _ __ __"
> -echo " / / | || _ \\ | | | |\\ \\/ /"
> -echo " / /___| || | | || |_| | > < "
> -echo " /_____/|_||_| |_| \\____|/_/\\_\\"
> -echo " 64-bits RISC-V Kendryte K210 NOMMU"
> -echo ""
> -
> -# Finally, let's start an interactive shell
> -exec /bin/sh
> diff --git a/configs/canaan_kd233_defconfig b/configs/canaan_kd233_defconfig
> index 832f8363a75c..27624aff4a9a 100644
> --- a/configs/canaan_kd233_defconfig
> +++ b/configs/canaan_kd233_defconfig
> @@ -32,6 +32,5 @@ BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="board/canaan/k210-soc/busybox-tiny.co
> # BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
>
> # Filesystem
> -BR2_INIT_NONE=y
> +BR2_INIT_TINYINIT=y
> BR2_TARGET_ROOTFS_INITRAMFS=y
> -BR2_ROOTFS_OVERLAY="board/canaan/k210-soc/rootfs_overlay"
> diff --git a/configs/sipeed_maix_bit_defconfig b/configs/sipeed_maix_bit_defconfig
> index 238e082a3d40..5119307330de 100644
> --- a/configs/sipeed_maix_bit_defconfig
> +++ b/configs/sipeed_maix_bit_defconfig
> @@ -32,6 +32,5 @@ BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="board/canaan/k210-soc/busybox-tiny.co
> # BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
>
> # Filesystem
> -BR2_INIT_NONE=y
> +BR2_INIT_TINYINIT=y
> BR2_TARGET_ROOTFS_INITRAMFS=y
> -BR2_ROOTFS_OVERLAY="board/canaan/k210-soc/rootfs_overlay"
> diff --git a/configs/sipeed_maix_bit_sdcard_defconfig b/configs/sipeed_maix_bit_sdcard_defconfig
> index 28aa143583bd..4047da159221 100644
> --- a/configs/sipeed_maix_bit_sdcard_defconfig
> +++ b/configs/sipeed_maix_bit_sdcard_defconfig
> @@ -33,10 +33,9 @@ BR2_LINUX_KERNEL_INTREE_DTS_NAME="canaan/sipeed_maix_bit"
> # BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
>
> # Filesystem
> -BR2_INIT_NONE=y
> +BR2_INIT_TINYINIT=y
> BR2_TARGET_ROOTFS_EXT2=y
> BR2_TARGET_ROOTFS_EXT2_SIZE="64M"
> -BR2_ROOTFS_OVERLAY="board/canaan/k210-soc/rootfs_overlay"
> BR2_ROOTFS_POST_BUILD_SCRIPT="board/canaan/k210-soc/post-build.sh"
> BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
> BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/canaan/k210-soc/genimage.cfg"
> diff --git a/configs/sipeed_maix_dock_defconfig b/configs/sipeed_maix_dock_defconfig
> index ee1b0d837284..0caa4d4e3ae3 100644
> --- a/configs/sipeed_maix_dock_defconfig
> +++ b/configs/sipeed_maix_dock_defconfig
> @@ -32,6 +32,5 @@ BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="board/canaan/k210-soc/busybox-tiny.co
> # BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
>
> # Filesystem
> -BR2_INIT_NONE=y
> +BR2_INIT_TINYINIT=y
> BR2_TARGET_ROOTFS_INITRAMFS=y
> -BR2_ROOTFS_OVERLAY="board/canaan/k210-soc/rootfs_overlay"
> diff --git a/configs/sipeed_maix_dock_sdcard_defconfig b/configs/sipeed_maix_dock_sdcard_defconfig
> index 41a062c7a179..ecb640a47bb2 100644
> --- a/configs/sipeed_maix_dock_sdcard_defconfig
> +++ b/configs/sipeed_maix_dock_sdcard_defconfig
> @@ -33,10 +33,9 @@ BR2_LINUX_KERNEL_INTREE_DTS_NAME="canaan/sipeed_maix_dock"
> # BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
>
> # Filesystem
> -BR2_INIT_NONE=y
> +BR2_INIT_TINYINIT=y
> BR2_TARGET_ROOTFS_EXT2=y
> BR2_TARGET_ROOTFS_EXT2_SIZE="64M"
> -BR2_ROOTFS_OVERLAY="board/canaan/k210-soc/rootfs_overlay"
> BR2_ROOTFS_POST_BUILD_SCRIPT="board/canaan/k210-soc/post-build.sh"
> BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
> BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/canaan/k210-soc/genimage.cfg"
> diff --git a/configs/sipeed_maix_go_defconfig b/configs/sipeed_maix_go_defconfig
> index a5b09e17ac1c..21075a9ed004 100644
> --- a/configs/sipeed_maix_go_defconfig
> +++ b/configs/sipeed_maix_go_defconfig
> @@ -32,6 +32,5 @@ BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="board/canaan/k210-soc/busybox-tiny.co
> # BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
>
> # Filesystem
> -BR2_INIT_NONE=y
> +BR2_INIT_TINYINIT=y
> BR2_TARGET_ROOTFS_INITRAMFS=y
> -BR2_ROOTFS_OVERLAY="board/canaan/k210-soc/rootfs_overlay"
> diff --git a/configs/sipeed_maix_go_sdcard_defconfig b/configs/sipeed_maix_go_sdcard_defconfig
> index 0e80d9c83ad8..5448bd0ce351 100644
> --- a/configs/sipeed_maix_go_sdcard_defconfig
> +++ b/configs/sipeed_maix_go_sdcard_defconfig
> @@ -33,10 +33,9 @@ BR2_LINUX_KERNEL_INTREE_DTS_NAME="canaan/sipeed_maix_go"
> # BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
>
> # Filesystem
> -BR2_INIT_NONE=y
> +BR2_INIT_TINYINIT=y
> BR2_TARGET_ROOTFS_EXT2=y
> BR2_TARGET_ROOTFS_EXT2_SIZE="64M"
> -BR2_ROOTFS_OVERLAY="board/canaan/k210-soc/rootfs_overlay"
> BR2_ROOTFS_POST_BUILD_SCRIPT="board/canaan/k210-soc/post-build.sh"
> BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
> BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/canaan/k210-soc/genimage.cfg"
> diff --git a/configs/sipeed_maixduino_defconfig b/configs/sipeed_maixduino_defconfig
> index 7ba7653e8d5f..6c93b29b4343 100644
> --- a/configs/sipeed_maixduino_defconfig
> +++ b/configs/sipeed_maixduino_defconfig
> @@ -32,6 +32,5 @@ BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="board/canaan/k210-soc/busybox-tiny.co
> # BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
>
> # Filesystem
> -BR2_INIT_NONE=y
> +BR2_INIT_TINYINIT=y
> BR2_TARGET_ROOTFS_INITRAMFS=y
> -BR2_ROOTFS_OVERLAY="board/canaan/k210-soc/rootfs_overlay"
> diff --git a/configs/sipeed_maixduino_sdcard_defconfig b/configs/sipeed_maixduino_sdcard_defconfig
> index 7bdd36e1d09f..0b42cae45df7 100644
> --- a/configs/sipeed_maixduino_sdcard_defconfig
> +++ b/configs/sipeed_maixduino_sdcard_defconfig
> @@ -33,10 +33,9 @@ BR2_LINUX_KERNEL_INTREE_DTS_NAME="canaan/sipeed_maixduino"
> # BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
>
> # Filesystem
> -BR2_INIT_NONE=y
> +BR2_INIT_TINYINIT=y
> BR2_TARGET_ROOTFS_EXT2=y
> BR2_TARGET_ROOTFS_EXT2_SIZE="64M"
> -BR2_ROOTFS_OVERLAY="board/canaan/k210-soc/rootfs_overlay"
> BR2_ROOTFS_POST_BUILD_SCRIPT="board/canaan/k210-soc/post-build.sh"
> BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
> BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/canaan/k210-soc/genimage.cfg"
> --
> 2.43.0
>
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 9+ messages in thread