nuttx/boards
wangjianyu3 fe289dccb1 boards/esp32s3-eye: switch defconfigs to nxinit entrypoint
Switch all esp32s3-eye defconfigs (gpio, i2c, lcd, nsh, usbnsh, 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
73c949c87e) 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 6 defconfigs (gpio, i2c, lcd, nsh, usbnsh, 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 <wangjianyu3@xiaomi.com>
2026-08-25 11:03:32 -03:00
..
arm boards/stm32h5/nucleo-h563zi: CMake add missing SPI SRC. 2026-08-25 13:37:44 +08:00
arm64 arm64/am62x: Add TISCI client, GPIO and I2C drivers 2026-08-02 11:40:13 +08:00
avr !arch/arm: Use r9 as the PIC base register. 2026-08-06 01:38:23 +08:00
dummy
hc/m9s12 !arch/arm: Use r9 as the PIC base register. 2026-08-06 01:38:23 +08:00
mips boards: select the keyboard byte stream where the application needs it 2026-07-31 11:02:20 -03:00
misoc/lm32/misoc !libc/stream: remove CONFIG_LIBC_LONG_LONG and always support long long 2026-05-19 16:21:28 +08:00
or1k/mor1kx/or1k !arch/arm: Use r9 as the PIC base register. 2026-08-06 01:38:23 +08:00
renesas !arch/arm: Use r9 as the PIC base register. 2026-08-06 01:38:23 +08:00
risc-v boards: update LVGLTERM requirements 2026-08-25 12:21:08 +08:00
sim/sim/sim sim/thermal: Exercise the devfreq cooling path. 2026-08-18 09:46:47 -03:00
sparc !libc/stream: remove CONFIG_LIBC_LONG_LONG and always support long long 2026-05-19 16:21:28 +08:00
tricore !sched/clock: remove CONFIG_SYSTEM_TIME64 and always use 64-bit time 2026-05-19 16:21:28 +08:00
x86/qemu/qemu-i486 boards/comments: Remove legacy comments 2026-05-04 12:16:11 -03:00
x86_64/qemu/qemu-intel64 boards/qemu-intel64: add NXTerm display console config 2026-08-25 10:06:53 +08:00
xtensa boards/esp32s3-eye: switch defconfigs to nxinit entrypoint 2026-08-25 11:03:32 -03:00
z16/z16f/z16f2800100zcog boards/z16: Replace board_app_initialize 2026-05-02 18:36:46 +08:00
z80 boards/comments: Remove legacy comments 2026-05-04 12:16:11 -03:00
.gitignore
Board.mk !tools/mkpasswd: PBKDF2 host tool and ROMFS passwd build integration 2026-07-21 20:19:14 +08:00
boardctl.c !boards/boardctl: Remove BOARDIOC_INIT 2026-05-26 09:57:29 +08:00
CMakeLists.txt cmake: Use NUTTX(_DIR/_BIN_DIR) instead CMAKE(_SRC_DIR/_BIN_DIR) 2026-08-09 11:13:08 -03:00
dummy.c boards: migrate to SPDX identifier 2024-11-12 22:20:59 +08:00
Kconfig boards/arm: add nucleo-h7s3l8 support 2026-08-23 11:03:16 +08:00
Makefile tools: fix stale archive members surviving a Kconfig-driven CSRCS change 2026-07-28 21:26:03 -03:00