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 b842fd696a57dac33c7d836b949982e607c06473
Author: wangjianyu3 <[email protected]>
AuthorDate: Mon Aug 24 23:30:03 2026 +0800

    boards/esp32s3-m5-cardputer: switch defconfigs to nxinit entrypoint
    
    Switch all esp32s3-m5-cardputer defconfigs (fb, lvgl, lvglterm, nsh,
    sdcard, softap, wifi) 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 (fb, lvgl, lvglterm, nsh, sdcard, softap,
    wifi) 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-m5-cardputer/configs/fb/defconfig | 12 ++++++++++--
 .../esp32s3/esp32s3-m5-cardputer/configs/lvgl/defconfig      | 10 +++++++++-
 .../esp32s3/esp32s3-m5-cardputer/configs/lvglterm/defconfig  | 11 +++++++++--
 .../esp32s3/esp32s3-m5-cardputer/configs/nsh/defconfig       | 12 ++++++++++--
 .../esp32s3/esp32s3-m5-cardputer/configs/sdcard/defconfig    | 12 ++++++++++--
 .../esp32s3/esp32s3-m5-cardputer/configs/softap/defconfig    | 12 ++++++++++--
 .../esp32s3/esp32s3-m5-cardputer/configs/wifi/defconfig      | 12 ++++++++++--
 7 files changed, 68 insertions(+), 13 deletions(-)

diff --git a/boards/xtensa/esp32s3/esp32s3-m5-cardputer/configs/fb/defconfig 
b/boards/xtensa/esp32s3/esp32s3-m5-cardputer/configs/fb/defconfig
index 133a21e038a..1c5f2faa17d 100644
--- a/boards/xtensa/esp32s3/esp32s3-m5-cardputer/configs/fb/defconfig
+++ b/boards/xtensa/esp32s3/esp32s3-m5-cardputer/configs/fb/defconfig
@@ -33,11 +33,14 @@ CONFIG_ESP32S3_SPI2_MISOPIN=-1
 CONFIG_ESP32S3_SPI2_MOSIPIN=35
 CONFIG_ESP32S3_SPI_SWCS=y
 CONFIG_ESP32S3_USBSERIAL=y
+CONFIG_ETC_ROMFS=y
 CONFIG_EXAMPLES_FB=y
+CONFIG_EXPERIMENTAL=y
 CONFIG_FS_PROCFS=y
+CONFIG_FS_ROMFS=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_LCD=y
 CONFIG_LCD_DEV=y
@@ -49,6 +52,7 @@ CONFIG_LCD_ST7789_XOFFSET=52
 CONFIG_LCD_ST7789_XRES=135
 CONFIG_LCD_ST7789_YOFFSET=40
 CONFIG_LCD_ST7789_YRES=240
+CONFIG_LIBC_EXECFUNCS=y
 CONFIG_LIBC_PERROR_STDOUT=y
 CONFIG_LIBC_STRERROR=y
 CONFIG_LINE_MAX=64
@@ -57,6 +61,8 @@ CONFIG_NSH_FILEIOSIZE=512
 CONFIG_NSH_READLINE=y
 CONFIG_PREALLOC_TIMERS=4
 CONFIG_RR_INTERVAL=200
+CONFIG_SCHED_CHILD_STATUS=y
+CONFIG_SCHED_HAVE_PARENT=y
 CONFIG_SCHED_WAITPID=y
 CONFIG_SPI_CMDDATA=y
 CONFIG_START_DAY=29
@@ -64,4 +70,6 @@ CONFIG_START_MONTH=11
 CONFIG_START_YEAR=2019
 CONFIG_SYSLOG_BUFFER=y
 CONFIG_SYSTEM_NSH=y
+CONFIG_SYSTEM_NSH_STACKSIZE=8192
+CONFIG_SYSTEM_NXINIT=y
 CONFIG_VIDEO_FB=y
diff --git a/boards/xtensa/esp32s3/esp32s3-m5-cardputer/configs/lvgl/defconfig 
b/boards/xtensa/esp32s3/esp32s3-m5-cardputer/configs/lvgl/defconfig
index 3680dcb4152..38181a9df72 100644
--- a/boards/xtensa/esp32s3/esp32s3-m5-cardputer/configs/lvgl/defconfig
+++ b/boards/xtensa/esp32s3/esp32s3-m5-cardputer/configs/lvgl/defconfig
@@ -32,11 +32,14 @@ CONFIG_ESP32S3_SPI2_MISOPIN=-1
 CONFIG_ESP32S3_SPI2_MOSIPIN=35
 CONFIG_ESP32S3_SPI_SWCS=y
 CONFIG_ESP32S3_USBSERIAL=y
+CONFIG_ETC_ROMFS=y
 CONFIG_EXAMPLES_LVGLDEMO=y
+CONFIG_EXPERIMENTAL=y
 CONFIG_FS_PROCFS=y
+CONFIG_FS_ROMFS=y
 CONFIG_GRAPHICS_LVGL=y
 CONFIG_IDLETHREAD_STACKSIZE=3072
-CONFIG_INIT_ENTRYPOINT="nsh_main"
+CONFIG_INIT_ENTRYPOINT="init_main"
 CONFIG_INIT_STACKSIZE=8192
 CONFIG_INTELHEX_BINARY=y
 CONFIG_LCD=y
@@ -49,6 +52,7 @@ CONFIG_LCD_ST7789_XOFFSET=52
 CONFIG_LCD_ST7789_XRES=135
 CONFIG_LCD_ST7789_YOFFSET=40
 CONFIG_LCD_ST7789_YRES=240
+CONFIG_LIBC_EXECFUNCS=y
 CONFIG_LIBC_PERROR_STDOUT=y
 CONFIG_LIBC_STRERROR=y
 CONFIG_LINE_MAX=64
@@ -65,6 +69,8 @@ CONFIG_NSH_READLINE=y
 CONFIG_PIPES=y
 CONFIG_PREALLOC_TIMERS=4
 CONFIG_RR_INTERVAL=200
+CONFIG_SCHED_CHILD_STATUS=y
+CONFIG_SCHED_HAVE_PARENT=y
 CONFIG_SCHED_WAITPID=y
 CONFIG_SPI_CMDDATA=y
 CONFIG_START_DAY=29
@@ -72,3 +78,5 @@ CONFIG_START_MONTH=11
 CONFIG_START_YEAR=2019
 CONFIG_SYSLOG_BUFFER=y
 CONFIG_SYSTEM_NSH=y
+CONFIG_SYSTEM_NSH_STACKSIZE=8192
+CONFIG_SYSTEM_NXINIT=y
diff --git 
a/boards/xtensa/esp32s3/esp32s3-m5-cardputer/configs/lvglterm/defconfig 
b/boards/xtensa/esp32s3/esp32s3-m5-cardputer/configs/lvglterm/defconfig
index 26a404462b1..6c2275d0dbe 100644
--- a/boards/xtensa/esp32s3/esp32s3-m5-cardputer/configs/lvglterm/defconfig
+++ b/boards/xtensa/esp32s3/esp32s3-m5-cardputer/configs/lvglterm/defconfig
@@ -45,18 +45,21 @@ CONFIG_ESP32S3_SPIFLASH_SPIFFS=y
 CONFIG_ESP32S3_SPI_SWCS=y
 CONFIG_ESP32S3_USBSERIAL=y
 CONFIG_ESPRESSIF_WIFI=y
+CONFIG_ETC_ROMFS=y
 CONFIG_EXAMPLES_LVGLTERM=y
 CONFIG_PSEUDOTERM=y
 CONFIG_EXAMPLES_LVGLTERM_FONT_UNSCII_8=y
 CONFIG_EXAMPLES_LVGLTERM_INPUT_KBD=y
+CONFIG_EXPERIMENTAL=y
 CONFIG_FAT_LCNAMES=y
 CONFIG_FAT_LFN=y
 CONFIG_FS_FAT=y
 CONFIG_FS_PROCFS=y
+CONFIG_FS_ROMFS=y
 CONFIG_GRAPHICS_LVGL=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_IOB_BUFSIZE=400
 CONFIG_IOB_NBUFFERS=100
@@ -109,6 +112,8 @@ CONFIG_PTHREAD_MUTEX_TYPES=y
 CONFIG_RR_INTERVAL=200
 CONFIG_RTC=y
 CONFIG_RTC_DRIVER=y
+CONFIG_SCHED_CHILD_STATUS=y
+CONFIG_SCHED_HAVE_PARENT=y
 CONFIG_SCHED_WAITPID=y
 CONFIG_SPI_CMDDATA=y
 CONFIG_START_DAY=29
@@ -117,6 +122,8 @@ CONFIG_START_YEAR=2019
 CONFIG_SYSLOG_BUFFER=y
 CONFIG_SYSTEM_DHCPC_RENEW=y
 CONFIG_SYSTEM_NSH=y
+CONFIG_SYSTEM_NSH_STACKSIZE=8192
+CONFIG_SYSTEM_NXINIT=y
 CONFIG_SYSTEM_PING=y
 CONFIG_TIMER=y
 CONFIG_TLS_TASK_NELEM=4
diff --git a/boards/xtensa/esp32s3/esp32s3-m5-cardputer/configs/nsh/defconfig 
b/boards/xtensa/esp32s3/esp32s3-m5-cardputer/configs/nsh/defconfig
index 54e3f42096c..642b98a0598 100644
--- a/boards/xtensa/esp32s3/esp32s3-m5-cardputer/configs/nsh/defconfig
+++ b/boards/xtensa/esp32s3/esp32s3-m5-cardputer/configs/nsh/defconfig
@@ -26,11 +26,15 @@ CONFIG_BUILTIN=y
 CONFIG_DEBUG_FULLOPT=y
 CONFIG_DEBUG_SYMBOLS=y
 CONFIG_ESP32S3_USBSERIAL=y
+CONFIG_ETC_ROMFS=y
+CONFIG_EXPERIMENTAL=y
 CONFIG_FS_PROCFS=y
+CONFIG_FS_ROMFS=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_LIBC_PERROR_STDOUT=y
 CONFIG_LIBC_STRERROR=y
 CONFIG_LINE_MAX=64
@@ -39,9 +43,13 @@ CONFIG_NSH_FILEIOSIZE=512
 CONFIG_NSH_READLINE=y
 CONFIG_PREALLOC_TIMERS=4
 CONFIG_RR_INTERVAL=200
+CONFIG_SCHED_CHILD_STATUS=y
+CONFIG_SCHED_HAVE_PARENT=y
 CONFIG_SCHED_WAITPID=y
 CONFIG_START_DAY=29
 CONFIG_START_MONTH=11
 CONFIG_START_YEAR=2019
 CONFIG_SYSLOG_BUFFER=y
 CONFIG_SYSTEM_NSH=y
+CONFIG_SYSTEM_NSH_STACKSIZE=8192
+CONFIG_SYSTEM_NXINIT=y
diff --git 
a/boards/xtensa/esp32s3/esp32s3-m5-cardputer/configs/sdcard/defconfig 
b/boards/xtensa/esp32s3/esp32s3-m5-cardputer/configs/sdcard/defconfig
index 49a333d2b85..bb3337e8f25 100644
--- a/boards/xtensa/esp32s3/esp32s3-m5-cardputer/configs/sdcard/defconfig
+++ b/boards/xtensa/esp32s3/esp32s3-m5-cardputer/configs/sdcard/defconfig
@@ -31,14 +31,18 @@ CONFIG_ESP32S3_SPI3_CSPIN=12
 CONFIG_ESP32S3_SPI3_MISOPIN=39
 CONFIG_ESP32S3_SPI3_MOSIPIN=14
 CONFIG_ESP32S3_USBSERIAL=y
+CONFIG_ETC_ROMFS=y
+CONFIG_EXPERIMENTAL=y
 CONFIG_FAT_LCNAMES=y
 CONFIG_FAT_LFN=y
 CONFIG_FS_FAT=y
 CONFIG_FS_PROCFS=y
+CONFIG_FS_ROMFS=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_LIBC_PERROR_STDOUT=y
 CONFIG_LIBC_STRERROR=y
 CONFIG_LINE_MAX=64
@@ -49,9 +53,13 @@ CONFIG_NSH_MMCSDSPIPORTNO=3
 CONFIG_NSH_READLINE=y
 CONFIG_PREALLOC_TIMERS=4
 CONFIG_RR_INTERVAL=200
+CONFIG_SCHED_CHILD_STATUS=y
+CONFIG_SCHED_HAVE_PARENT=y
 CONFIG_SCHED_WAITPID=y
 CONFIG_START_DAY=29
 CONFIG_START_MONTH=11
 CONFIG_START_YEAR=2019
 CONFIG_SYSLOG_BUFFER=y
 CONFIG_SYSTEM_NSH=y
+CONFIG_SYSTEM_NSH_STACKSIZE=8192
+CONFIG_SYSTEM_NXINIT=y
diff --git 
a/boards/xtensa/esp32s3/esp32s3-m5-cardputer/configs/softap/defconfig 
b/boards/xtensa/esp32s3/esp32s3-m5-cardputer/configs/softap/defconfig
index 25ad79ed20c..aa4ac6ddcef 100644
--- a/boards/xtensa/esp32s3/esp32s3-m5-cardputer/configs/softap/defconfig
+++ b/boards/xtensa/esp32s3/esp32s3-m5-cardputer/configs/softap/defconfig
@@ -30,16 +30,20 @@ CONFIG_ESP32S3_SPIFLASH_SPIFFS=y
 CONFIG_ESP32S3_USBSERIAL=y
 CONFIG_ESPRESSIF_WIFI=y
 CONFIG_ESPRESSIF_WIFI_SOFTAP=y
+CONFIG_ETC_ROMFS=y
 CONFIG_EXAMPLES_DHCPD=y
+CONFIG_EXPERIMENTAL=y
 CONFIG_FS_PROCFS=y
+CONFIG_FS_ROMFS=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_IOB_BUFSIZE=400
 CONFIG_IOB_NBUFFERS=100
 CONFIG_IOB_NCHAINS=32
 CONFIG_IOB_THROTTLE=40
+CONFIG_LIBC_EXECFUNCS=y
 CONFIG_LINE_MAX=64
 CONFIG_NETDB_DNSCLIENT=y
 CONFIG_NETDEV_LATEINIT=y
@@ -65,6 +69,8 @@ CONFIG_PTHREAD_MUTEX_TYPES=y
 CONFIG_RR_INTERVAL=200
 CONFIG_RTC=y
 CONFIG_RTC_DRIVER=y
+CONFIG_SCHED_CHILD_STATUS=y
+CONFIG_SCHED_HAVE_PARENT=y
 CONFIG_SCHED_LPWORK=y
 CONFIG_SCHED_WAITPID=y
 CONFIG_START_DAY=29
@@ -72,6 +78,8 @@ CONFIG_START_MONTH=11
 CONFIG_START_YEAR=2019
 CONFIG_SYSLOG_BUFFER=y
 CONFIG_SYSTEM_NSH=y
+CONFIG_SYSTEM_NSH_STACKSIZE=8192
+CONFIG_SYSTEM_NXINIT=y
 CONFIG_SYSTEM_PING=y
 CONFIG_TIMER=y
 CONFIG_TLS_TASK_NELEM=4
diff --git a/boards/xtensa/esp32s3/esp32s3-m5-cardputer/configs/wifi/defconfig 
b/boards/xtensa/esp32s3/esp32s3-m5-cardputer/configs/wifi/defconfig
index 325527492db..ee74e7febd4 100644
--- a/boards/xtensa/esp32s3/esp32s3-m5-cardputer/configs/wifi/defconfig
+++ b/boards/xtensa/esp32s3/esp32s3-m5-cardputer/configs/wifi/defconfig
@@ -29,15 +29,19 @@ CONFIG_ESP32S3_SPIFLASH=y
 CONFIG_ESP32S3_SPIFLASH_SPIFFS=y
 CONFIG_ESP32S3_USBSERIAL=y
 CONFIG_ESPRESSIF_WIFI=y
+CONFIG_ETC_ROMFS=y
+CONFIG_EXPERIMENTAL=y
 CONFIG_FS_PROCFS=y
+CONFIG_FS_ROMFS=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_IOB_BUFSIZE=400
 CONFIG_IOB_NBUFFERS=100
 CONFIG_IOB_NCHAINS=32
 CONFIG_IOB_THROTTLE=40
+CONFIG_LIBC_EXECFUNCS=y
 CONFIG_LINE_MAX=64
 CONFIG_NETDB_DNSCLIENT=y
 CONFIG_NETDEV_LATEINIT=y
@@ -60,6 +64,8 @@ CONFIG_PTHREAD_MUTEX_TYPES=y
 CONFIG_RR_INTERVAL=200
 CONFIG_RTC=y
 CONFIG_RTC_DRIVER=y
+CONFIG_SCHED_CHILD_STATUS=y
+CONFIG_SCHED_HAVE_PARENT=y
 CONFIG_SCHED_LPWORK=y
 CONFIG_SCHED_WAITPID=y
 CONFIG_START_DAY=29
@@ -68,6 +74,8 @@ CONFIG_START_YEAR=2019
 CONFIG_SYSLOG_BUFFER=y
 CONFIG_SYSTEM_DHCPC_RENEW=y
 CONFIG_SYSTEM_NSH=y
+CONFIG_SYSTEM_NSH_STACKSIZE=8192
+CONFIG_SYSTEM_NXINIT=y
 CONFIG_SYSTEM_PING=y
 CONFIG_TIMER=y
 CONFIG_TLS_TASK_NELEM=4

Reply via email to