This is an automated email from the ASF dual-hosted git repository. acassis pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx.git
commit 87db6b21f8ea801736d6386378d08d6171ec3d47 Author: wangjianyu3 <[email protected]> AuthorDate: Mon Aug 24 23:26:30 2026 +0800 boards/esp32s3-8048S043: switch defconfigs to nxinit entrypoint Switch all esp32s3-8048S043 defconfigs (gpio, i2c, lcd, nsh, sdmmc, spi, touchscreen) from nsh_main to nxinit (init_main) as the system init entry point, matching the lckfb-szpi-esp32s3 board's existing nxinit configs (see 73c949c87e5a) for consistency across esp32s3 boards. For each defconfig: - CONFIG_INIT_ENTRYPOINT switched to "init_main" - CONFIG_INIT_STACKSIZE set to 8192. Measured on lckfb-szpi-esp32s3 with CONFIG_STACK_COLORATION=y on the worst case available: a config whose init.rc starts two services (console sh + adbd). At the 2048 Kconfig default the board panics at runtime (xtensa_user_panic, task "sh"); at 4096 init_main reaches FILLED=99.5%, i.e. no headroom; at 8192 it settles at USED=4336 (53.6%). A single-service config only fills 46.9% of a 3072-byte init stack, so 8192 is deliberately uniform rather than minimal: it covers the two-service worst case with roughly 2x margin and keeps every defconfig off the 2048 default, where the init stack overflows and clobbers the global inode/mount tree - the procfs mount disappears, "ls /" crashes in read_pseudodir and "ps" reports "/proc not mounted". - CONFIG_SYSTEM_NXINIT=y added, plus its direct Kconfig dependencies (CONFIG_EXPERIMENTAL, CONFIG_LIBC_EXECFUNCS, CONFIG_SCHED_CHILD_STATUS, which depends on CONFIG_SCHED_HAVE_PARENT) - CONFIG_SYSTEM_NSH_STACKSIZE=8192 added: nsh now runs as a service spawned by init.rc instead of being init itself, so the shell workload is carried by its own stack rather than the init stack. Without this it falls back to CONFIG_DEFAULT_TASK_STACKSIZE (2048 unless the defconfig overrides it) and crashes in getumask while running "ps", too small to reach the procfs read path. - ETC_ROMFS/FS_ROMFS added where missing, needed to ship init.rc via the board's ROMFS nsh continues to run as a console service started by init.rc (boards/xtensa/esp32s3/common/src/etc/init.d/init.rc), not as the top-level init. Verified all 7 defconfigs (gpio, i2c, lcd, nsh, sdmmc, spi, touchscreen) build cleanly with make. Runtime behavior (init_main spawning nsh as a console service) was confirmed on lckfb-szpi-esp32s3 hardware, which shares the same nxinit/init.rc mechanism; this board has no hardware attached for a flash/boot pass in this session, so the build-verified defconfigs are the extent of local testing here. Assisted-by: Kiro:claude-sonnet-5 Assisted-by: Kiro:claude-opus-5 Signed-off-by: wangjianyu3 <[email protected]> --- .../xtensa/esp32s3/esp32s3-8048S043/configs/gpio/defconfig | 12 ++++++++++-- boards/xtensa/esp32s3/esp32s3-8048S043/configs/i2c/defconfig | 12 ++++++++++-- boards/xtensa/esp32s3/esp32s3-8048S043/configs/lcd/defconfig | 12 ++++++++++-- boards/xtensa/esp32s3/esp32s3-8048S043/configs/nsh/defconfig | 12 ++++++++++-- .../xtensa/esp32s3/esp32s3-8048S043/configs/sdmmc/defconfig | 12 ++++++++++-- boards/xtensa/esp32s3/esp32s3-8048S043/configs/spi/defconfig | 12 ++++++++++-- .../esp32s3/esp32s3-8048S043/configs/touchscreen/defconfig | 12 ++++++++++-- 7 files changed, 70 insertions(+), 14 deletions(-) diff --git a/boards/xtensa/esp32s3/esp32s3-8048S043/configs/gpio/defconfig b/boards/xtensa/esp32s3/esp32s3-8048S043/configs/gpio/defconfig index 00b8d207052..7818263c721 100644 --- a/boards/xtensa/esp32s3/esp32s3-8048S043/configs/gpio/defconfig +++ b/boards/xtensa/esp32s3/esp32s3-8048S043/configs/gpio/defconfig @@ -27,14 +27,18 @@ CONFIG_DEBUG_SYMBOLS=y CONFIG_DEV_GPIO=y CONFIG_ESP32S3_GPIO_IRQ=y CONFIG_ESP32S3_UART0=y +CONFIG_ETC_ROMFS=y CONFIG_EXAMPLES_GPIO=y +CONFIG_EXPERIMENTAL=y CONFIG_FS_PROCFS=y +CONFIG_FS_ROMFS=y CONFIG_HAVE_CXX=y CONFIG_HAVE_CXXINITIALIZE=y CONFIG_IDLETHREAD_STACKSIZE=3072 -CONFIG_INIT_ENTRYPOINT="nsh_main" -CONFIG_INIT_STACKSIZE=3072 +CONFIG_INIT_ENTRYPOINT="init_main" +CONFIG_INIT_STACKSIZE=8192 CONFIG_INTELHEX_BINARY=y +CONFIG_LIBC_EXECFUNCS=y CONFIG_LINE_MAX=64 CONFIG_NSH_BUILTIN_APPS=y CONFIG_NSH_FILEIOSIZE=512 @@ -43,10 +47,14 @@ CONFIG_PREALLOC_TIMERS=4 CONFIG_RAM_SIZE=114688 CONFIG_RAM_START=0x20000000 CONFIG_RR_INTERVAL=200 +CONFIG_SCHED_CHILD_STATUS=y +CONFIG_SCHED_HAVE_PARENT=y CONFIG_SCHED_WAITPID=y CONFIG_START_DAY=6 CONFIG_START_MONTH=12 CONFIG_START_YEAR=2011 CONFIG_SYSLOG_BUFFER=y CONFIG_SYSTEM_NSH=y +CONFIG_SYSTEM_NSH_STACKSIZE=8192 +CONFIG_SYSTEM_NXINIT=y CONFIG_UART0_SERIAL_CONSOLE=y diff --git a/boards/xtensa/esp32s3/esp32s3-8048S043/configs/i2c/defconfig b/boards/xtensa/esp32s3/esp32s3-8048S043/configs/i2c/defconfig index df1a54fcf3f..22b8406d486 100644 --- a/boards/xtensa/esp32s3/esp32s3-8048S043/configs/i2c/defconfig +++ b/boards/xtensa/esp32s3/esp32s3-8048S043/configs/i2c/defconfig @@ -30,7 +30,10 @@ CONFIG_DEBUG_I2C_INFO=y CONFIG_DEBUG_I2C_WARN=y CONFIG_ESP32S3_I2C0=y CONFIG_ESP32S3_UART0=y +CONFIG_ETC_ROMFS=y +CONFIG_EXPERIMENTAL=y CONFIG_FS_PROCFS=y +CONFIG_FS_ROMFS=y CONFIG_HAVE_CXX=y CONFIG_HAVE_CXXINITIALIZE=y CONFIG_I2CTOOL_DEFFREQ=100000 @@ -38,9 +41,10 @@ CONFIG_I2CTOOL_MAXBUS=1 CONFIG_I2C_RESET=y CONFIG_I2C_TRACE=y CONFIG_IDLETHREAD_STACKSIZE=3072 -CONFIG_INIT_ENTRYPOINT="nsh_main" -CONFIG_INIT_STACKSIZE=3072 +CONFIG_INIT_ENTRYPOINT="init_main" +CONFIG_INIT_STACKSIZE=8192 CONFIG_INTELHEX_BINARY=y +CONFIG_LIBC_EXECFUNCS=y CONFIG_LINE_MAX=64 CONFIG_NSH_BUILTIN_APPS=y CONFIG_NSH_FILEIOSIZE=512 @@ -49,6 +53,8 @@ CONFIG_PREALLOC_TIMERS=4 CONFIG_RAM_SIZE=114688 CONFIG_RAM_START=0x20000000 CONFIG_RR_INTERVAL=200 +CONFIG_SCHED_CHILD_STATUS=y +CONFIG_SCHED_HAVE_PARENT=y CONFIG_SCHED_WAITPID=y CONFIG_START_DAY=28 CONFIG_START_MONTH=6 @@ -56,4 +62,6 @@ CONFIG_START_YEAR=2022 CONFIG_SYSLOG_BUFFER=y CONFIG_SYSTEM_I2CTOOL=y CONFIG_SYSTEM_NSH=y +CONFIG_SYSTEM_NSH_STACKSIZE=8192 +CONFIG_SYSTEM_NXINIT=y CONFIG_UART0_SERIAL_CONSOLE=y diff --git a/boards/xtensa/esp32s3/esp32s3-8048S043/configs/lcd/defconfig b/boards/xtensa/esp32s3/esp32s3-8048S043/configs/lcd/defconfig index 2b139879652..aa57af19d82 100644 --- a/boards/xtensa/esp32s3/esp32s3-8048S043/configs/lcd/defconfig +++ b/boards/xtensa/esp32s3/esp32s3-8048S043/configs/lcd/defconfig @@ -65,14 +65,18 @@ CONFIG_ESP32S3_SPIRAM=y CONFIG_ESP32S3_SPIRAM_MODE_OCT=y CONFIG_ESP32S3_SPIRAM_SPEED_80M=y CONFIG_ESP32S3_UART0=y +CONFIG_ETC_ROMFS=y CONFIG_EXAMPLES_FB=y +CONFIG_EXPERIMENTAL=y CONFIG_FS_PROCFS=y +CONFIG_FS_ROMFS=y CONFIG_HAVE_CXX=y CONFIG_HAVE_CXXINITIALIZE=y CONFIG_IDLETHREAD_STACKSIZE=3072 -CONFIG_INIT_ENTRYPOINT="nsh_main" -CONFIG_INIT_STACKSIZE=3072 +CONFIG_INIT_ENTRYPOINT="init_main" +CONFIG_INIT_STACKSIZE=8192 CONFIG_INTELHEX_BINARY=y +CONFIG_LIBC_EXECFUNCS=y CONFIG_LINE_MAX=64 CONFIG_MM_REGIONS=2 CONFIG_NDEBUG=y @@ -83,10 +87,14 @@ CONFIG_PREALLOC_TIMERS=4 CONFIG_RAM_SIZE=114688 CONFIG_RAM_START=0x20000000 CONFIG_RR_INTERVAL=200 +CONFIG_SCHED_CHILD_STATUS=y +CONFIG_SCHED_HAVE_PARENT=y CONFIG_SCHED_WAITPID=y CONFIG_START_DAY=6 CONFIG_START_MONTH=12 CONFIG_START_YEAR=2011 CONFIG_SYSLOG_BUFFER=y CONFIG_SYSTEM_NSH=y +CONFIG_SYSTEM_NSH_STACKSIZE=8192 +CONFIG_SYSTEM_NXINIT=y CONFIG_UART0_SERIAL_CONSOLE=y diff --git a/boards/xtensa/esp32s3/esp32s3-8048S043/configs/nsh/defconfig b/boards/xtensa/esp32s3/esp32s3-8048S043/configs/nsh/defconfig index a34b2eaf14b..db4f2bbd474 100644 --- a/boards/xtensa/esp32s3/esp32s3-8048S043/configs/nsh/defconfig +++ b/boards/xtensa/esp32s3/esp32s3-8048S043/configs/nsh/defconfig @@ -25,13 +25,17 @@ CONFIG_BUILTIN=y CONFIG_DEBUG_FULLOPT=y CONFIG_DEBUG_SYMBOLS=y CONFIG_ESP32S3_UART0=y +CONFIG_ETC_ROMFS=y +CONFIG_EXPERIMENTAL=y CONFIG_FS_PROCFS=y +CONFIG_FS_ROMFS=y CONFIG_HAVE_CXX=y CONFIG_HAVE_CXXINITIALIZE=y CONFIG_IDLETHREAD_STACKSIZE=3072 -CONFIG_INIT_ENTRYPOINT="nsh_main" -CONFIG_INIT_STACKSIZE=3072 +CONFIG_INIT_ENTRYPOINT="init_main" +CONFIG_INIT_STACKSIZE=8192 CONFIG_INTELHEX_BINARY=y +CONFIG_LIBC_EXECFUNCS=y CONFIG_LINE_MAX=64 CONFIG_NSH_BUILTIN_APPS=y CONFIG_NSH_FILEIOSIZE=512 @@ -40,10 +44,14 @@ CONFIG_PREALLOC_TIMERS=4 CONFIG_RAM_SIZE=114688 CONFIG_RAM_START=0x20000000 CONFIG_RR_INTERVAL=200 +CONFIG_SCHED_CHILD_STATUS=y +CONFIG_SCHED_HAVE_PARENT=y CONFIG_SCHED_WAITPID=y CONFIG_START_DAY=6 CONFIG_START_MONTH=12 CONFIG_START_YEAR=2011 CONFIG_SYSLOG_BUFFER=y CONFIG_SYSTEM_NSH=y +CONFIG_SYSTEM_NSH_STACKSIZE=8192 +CONFIG_SYSTEM_NXINIT=y CONFIG_UART0_SERIAL_CONSOLE=y diff --git a/boards/xtensa/esp32s3/esp32s3-8048S043/configs/sdmmc/defconfig b/boards/xtensa/esp32s3/esp32s3-8048S043/configs/sdmmc/defconfig index f09c1cd2475..e6e3011ba16 100644 --- a/boards/xtensa/esp32s3/esp32s3-8048S043/configs/sdmmc/defconfig +++ b/boards/xtensa/esp32s3/esp32s3-8048S043/configs/sdmmc/defconfig @@ -26,14 +26,18 @@ CONFIG_DEBUG_FULLOPT=y CONFIG_DEBUG_SYMBOLS=y CONFIG_ESP32S3_SDMMC=y CONFIG_ESP32S3_UART0=y +CONFIG_ETC_ROMFS=y +CONFIG_EXPERIMENTAL=y CONFIG_FS_FAT=y CONFIG_FS_PROCFS=y +CONFIG_FS_ROMFS=y CONFIG_HAVE_CXX=y CONFIG_HAVE_CXXINITIALIZE=y CONFIG_IDLETHREAD_STACKSIZE=3072 -CONFIG_INIT_ENTRYPOINT="nsh_main" -CONFIG_INIT_STACKSIZE=3072 +CONFIG_INIT_ENTRYPOINT="init_main" +CONFIG_INIT_STACKSIZE=8192 CONFIG_INTELHEX_BINARY=y +CONFIG_LIBC_EXECFUNCS=y CONFIG_LINE_MAX=64 CONFIG_MMCSD_CHECK_READY_STATUS_WITHOUT_SLEEP=y CONFIG_MMCSD_MULTIBLOCK_LIMIT=128 @@ -44,10 +48,14 @@ CONFIG_PREALLOC_TIMERS=4 CONFIG_RAM_SIZE=114688 CONFIG_RAM_START=0x20000000 CONFIG_RR_INTERVAL=200 +CONFIG_SCHED_CHILD_STATUS=y +CONFIG_SCHED_HAVE_PARENT=y CONFIG_SCHED_WAITPID=y CONFIG_START_DAY=6 CONFIG_START_MONTH=12 CONFIG_START_YEAR=2011 CONFIG_SYSLOG_BUFFER=y CONFIG_SYSTEM_NSH=y +CONFIG_SYSTEM_NSH_STACKSIZE=8192 +CONFIG_SYSTEM_NXINIT=y CONFIG_UART0_SERIAL_CONSOLE=y diff --git a/boards/xtensa/esp32s3/esp32s3-8048S043/configs/spi/defconfig b/boards/xtensa/esp32s3/esp32s3-8048S043/configs/spi/defconfig index 096eaceced7..59f55061219 100644 --- a/boards/xtensa/esp32s3/esp32s3-8048S043/configs/spi/defconfig +++ b/boards/xtensa/esp32s3/esp32s3-8048S043/configs/spi/defconfig @@ -25,13 +25,17 @@ CONFIG_BUILTIN=y CONFIG_ESP32S3_SPI2=y CONFIG_ESP32S3_SPI3=y CONFIG_ESP32S3_UART0=y +CONFIG_ETC_ROMFS=y +CONFIG_EXPERIMENTAL=y CONFIG_FS_PROCFS=y +CONFIG_FS_ROMFS=y CONFIG_HAVE_CXX=y CONFIG_HAVE_CXXINITIALIZE=y CONFIG_IDLETHREAD_STACKSIZE=3072 -CONFIG_INIT_ENTRYPOINT="nsh_main" -CONFIG_INIT_STACKSIZE=3072 +CONFIG_INIT_ENTRYPOINT="init_main" +CONFIG_INIT_STACKSIZE=8192 CONFIG_INTELHEX_BINARY=y +CONFIG_LIBC_EXECFUNCS=y CONFIG_LINE_MAX=64 CONFIG_NSH_BUILTIN_APPS=y CONFIG_NSH_FILEIOSIZE=512 @@ -40,6 +44,8 @@ CONFIG_PREALLOC_TIMERS=4 CONFIG_RAM_SIZE=114688 CONFIG_RAM_START=0x20000000 CONFIG_RR_INTERVAL=200 +CONFIG_SCHED_CHILD_STATUS=y +CONFIG_SCHED_HAVE_PARENT=y CONFIG_SCHED_WAITPID=y CONFIG_SPITOOL_MINBUS=2 CONFIG_START_DAY=6 @@ -47,5 +53,7 @@ CONFIG_START_MONTH=12 CONFIG_START_YEAR=2011 CONFIG_SYSLOG_BUFFER=y CONFIG_SYSTEM_NSH=y +CONFIG_SYSTEM_NSH_STACKSIZE=8192 +CONFIG_SYSTEM_NXINIT=y CONFIG_SYSTEM_SPITOOL=y CONFIG_UART0_SERIAL_CONSOLE=y diff --git a/boards/xtensa/esp32s3/esp32s3-8048S043/configs/touchscreen/defconfig b/boards/xtensa/esp32s3/esp32s3-8048S043/configs/touchscreen/defconfig index bda07c9274e..9a6d807914b 100644 --- a/boards/xtensa/esp32s3/esp32s3-8048S043/configs/touchscreen/defconfig +++ b/boards/xtensa/esp32s3/esp32s3-8048S043/configs/touchscreen/defconfig @@ -30,17 +30,21 @@ CONFIG_ESP32S3_BOARD_TOUCHSCREEN_SAMPLE_DELAYS=5 CONFIG_ESP32S3_I2C0_SCLPIN=20 CONFIG_ESP32S3_I2C0_SDAPIN=19 CONFIG_ESP32S3_UART0=y +CONFIG_ETC_ROMFS=y CONFIG_EXAMPLES_TOUCHSCREEN=y +CONFIG_EXPERIMENTAL=y CONFIG_FS_PROCFS=y +CONFIG_FS_ROMFS=y CONFIG_HAVE_CXX=y CONFIG_HAVE_CXXINITIALIZE=y CONFIG_I2CTOOL_DEFFREQ=100000 CONFIG_I2CTOOL_MAXBUS=1 CONFIG_I2C_RESET=y CONFIG_IDLETHREAD_STACKSIZE=3072 -CONFIG_INIT_ENTRYPOINT="nsh_main" -CONFIG_INIT_STACKSIZE=3072 +CONFIG_INIT_ENTRYPOINT="init_main" +CONFIG_INIT_STACKSIZE=8192 CONFIG_INTELHEX_BINARY=y +CONFIG_LIBC_EXECFUNCS=y CONFIG_LINE_MAX=64 CONFIG_NSH_BUILTIN_APPS=y CONFIG_NSH_FILEIOSIZE=512 @@ -49,6 +53,8 @@ CONFIG_PREALLOC_TIMERS=4 CONFIG_RAM_SIZE=114688 CONFIG_RAM_START=0x20000000 CONFIG_RR_INTERVAL=200 +CONFIG_SCHED_CHILD_STATUS=y +CONFIG_SCHED_HAVE_PARENT=y CONFIG_SCHED_LPWORK=y CONFIG_SCHED_WAITPID=y CONFIG_START_DAY=28 @@ -57,4 +63,6 @@ CONFIG_START_YEAR=2022 CONFIG_SYSLOG_BUFFER=y CONFIG_SYSTEM_I2CTOOL=y CONFIG_SYSTEM_NSH=y +CONFIG_SYSTEM_NSH_STACKSIZE=8192 +CONFIG_SYSTEM_NXINIT=y CONFIG_UART0_SERIAL_CONSOLE=y
