jerpelea opened a new pull request, #20245:
URL: https://github.com/apache/nuttx/pull/20245
## Summary
Switch every defconfig whose init entry point was nsh_main on the three
locally verifiable boards — sim (80), qemu-armv8a (18), qemu-armv7a (6),
104 defconfigs total — to nxinit (init_main), matching the esp32p4/esp32s3
boards' existing nxinit configs. With nxinit, nsh no longer is init; it
runs as a console sh service started by init.rc.
Split into three commits, one per board:
boards/sim: switch all nsh defconfigs to nxinit entrypoint
boards/arm64/qemu-armv8a: switch all nsh defconfigs to nxinit entrypoint
boards/arm/qemu-armv7a: switch all nsh defconfigs to nxinit entrypoint
Per defconfig (regenerated with make savedefconfig):
CONFIG_INIT_ENTRYPOINT="init_main"
CONFIG_SYSTEM_NXINIT=y plus its Kconfig deps: CONFIG_EXPERIMENTAL,
CONFIG_LIBC_EXECFUNCS, CONFIG_SCHED_CHILD_STATUS
(which depends on CONFIG_SCHED_HAVE_PARENT)
CONFIG_ETC_ROMFS=y / CONFIG_FS_ROMFS=y to ship init.rc via ROMFS
Each board gains an src/etc/init.d/init.rc (registers a console sh
service guarded by CONFIG_SYSTEM_NSH; on init starts it), shipped through
ROMFS in both the Make build (RCSRCS) and CMake (nuttx_add_romfs()), both
gated on CONFIG_ETC_ROMFS && CONFIG_SYSTEM_NXINIT so non-nxinit configs are
unaffected. Omitting this ROMFS plumbing causes a link-time
undefined reference to romfs_img.
Five sim configs (dynconns, module, module32, sotest, sotest32)
had CONFIG_BINFMT_DISABLE=y, which blocks CONFIG_LIBC_EXECFUNCS and thus
CONFIG_SYSTEM_NXINIT. Since nxinit spawns services via exec(), binfmt is
re-enabled in those five; they still build cleanly.
## Impact
RELEASE
## Testing
CI
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]