This is an automated email from the ASF dual-hosted git repository. xiaoxiang781216 pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx.git
commit b6af2d4fac46926f498d34964a93e4666345d2ac Author: wangjianyu3 <[email protected]> AuthorDate: Thu Aug 27 18:45:58 2026 +0800 boards/arm64/qemu-armv8a: switch all nsh defconfigs to nxinit entrypoint Switch every qemu-armv8a defconfig whose init entry point was nsh_main (20 configs) to nxinit (init_main). nsh now runs as a "console sh" service started by init.rc instead of being the top-level init task. Each switched defconfig only gains the nxinit-essential keys (minimal delta): - CONFIG_INIT_ENTRYPOINT="init_main" - CONFIG_SYSTEM_NXINIT=y plus its Kconfig deps not already set: CONFIG_EXPERIMENTAL, CONFIG_LIBC_EXECFUNCS, CONFIG_SCHED_CHILD_STATUS (depends on CONFIG_SCHED_HAVE_PARENT) - CONFIG_ETC_ROMFS=y / CONFIG_FS_ROMFS=y to ship init.rc via ROMFS No stack-size overrides: INIT_STACKSIZE/SYSTEM_NSH_STACKSIZE keep their Kconfig defaults (DEFAULT_TASK_STACKSIZE, already 8192 on this board). Add boards/arm64/qemu/qemu-armv8a/src/etc/init.d/init.rc, shipped via ROMFS in the Make build (RCSRCS) and CMake (nuttx_add_romfs()), gated on CONFIG_ETC_ROMFS && CONFIG_SYSTEM_NXINIT. Omitting this ROMFS plumbing causes a link-time "undefined reference to romfs_img". Testing: qemu-armv8a:nsh (and nsh_smp with -smp 4) boot into nxinit with nsh spawned as its service (init task = init_main, sh = its child), confirmed via qemu-system-aarch64 in an earlier run of this series. The removed explicit 8192 stack sizes equal this board's DEFAULT_TASK_STACKSIZE, so runtime behavior is unchanged. Note: current apache/master fails to build locally this round (empty -Wstack-usage=, missing libfdt.h) independent of this change. Assisted-by: opencode-agent/claude-opus-4-8 Signed-off-by: wangjianyu3 <[email protected]> --- .../qemu/qemu-armv8a/configs/fastboot/defconfig | 6 +++- boards/arm64/qemu/qemu-armv8a/configs/fb/defconfig | 7 ++++- .../qemu/qemu-armv8a/configs/gdbstub/defconfig | 6 +++- .../arm64/qemu/qemu-armv8a/configs/mte/defconfig | 6 +++- .../qemu/qemu-armv8a/configs/netnsh/defconfig | 7 ++++- .../qemu/qemu-armv8a/configs/netnsh_hv/defconfig | 7 ++++- .../qemu/qemu-armv8a/configs/netnsh_smp/defconfig | 7 ++++- .../qemu-armv8a/configs/netnsh_smp_hv/defconfig | 7 ++++- .../arm64/qemu/qemu-armv8a/configs/nsh/defconfig | 6 +++- .../qemu/qemu-armv8a/configs/nsh_fiq/defconfig | 7 ++++- .../qemu/qemu-armv8a/configs/nsh_gicv2/defconfig | 6 +++- .../qemu/qemu-armv8a/configs/nsh_smp/defconfig | 6 +++- .../qemu-armv8a/configs/nsh_smp_tickless/defconfig | 6 +++- .../qemu/qemu-armv8a/configs/rpproxy/defconfig | 5 +++- .../qemu/qemu-armv8a/configs/rpserver/defconfig | 5 +++- .../qemu/qemu-armv8a/configs/sotest/defconfig | 6 +++- .../qemu/qemu-armv8a/configs/sw_tags/defconfig | 6 +++- .../qemu/qemu-armv8a/configs/xedge_demo/defconfig | 7 ++++- boards/arm64/qemu/qemu-armv8a/src/.gitignore | 1 + boards/arm64/qemu/qemu-armv8a/src/CMakeLists.txt | 14 +++++++++ boards/arm64/qemu/qemu-armv8a/src/Makefile | 6 ++++ .../arm64/qemu/qemu-armv8a/src/etc/init.d/init.rc | 33 ++++++++++++++++++++++ 22 files changed, 149 insertions(+), 18 deletions(-) diff --git a/boards/arm64/qemu/qemu-armv8a/configs/fastboot/defconfig b/boards/arm64/qemu/qemu-armv8a/configs/fastboot/defconfig index d73d4758121..1bb1b88fb08 100644 --- a/boards/arm64/qemu/qemu-armv8a/configs/fastboot/defconfig +++ b/boards/arm64/qemu/qemu-armv8a/configs/fastboot/defconfig @@ -30,17 +30,20 @@ CONFIG_DRIVERS_VIRTIO_NET=y CONFIG_DRIVERS_VIRTIO_RNG=y CONFIG_DRIVERS_VIRTIO_SERIAL=y CONFIG_DRIVERS_VIRTIO_SOUND=y +CONFIG_ETC_ROMFS=y CONFIG_EXAMPLES_HELLO=y +CONFIG_EXPERIMENTAL=y CONFIG_FAT_LCNAMES=y CONFIG_FAT_LFN=y CONFIG_FS_FAT=y CONFIG_FS_FATTIME=y CONFIG_FS_PROCFS=y +CONFIG_FS_ROMFS=y CONFIG_FS_V9FS=y CONFIG_HAVE_CXX=y CONFIG_HAVE_CXXINITIALIZE=y CONFIG_IDLETHREAD_STACKSIZE=8192 -CONFIG_INIT_ENTRYPOINT="nsh_main" +CONFIG_INIT_ENTRYPOINT="init_main" CONFIG_INTELHEX_BINARY=y CONFIG_IOB_ALIGNMENT=16 CONFIG_IOB_BUFSIZE=1534 @@ -97,6 +100,7 @@ CONFIG_SYSTEM_FASTBOOTD=y CONFIG_SYSTEM_FASTBOOTD_SHELL=y CONFIG_SYSTEM_FDTDUMP=y CONFIG_SYSTEM_NSH=y +CONFIG_SYSTEM_NXINIT=y CONFIG_SYSTEM_NXPLAYER=y CONFIG_SYSTEM_NXRECORDER=y CONFIG_SYSTEM_PING=y diff --git a/boards/arm64/qemu/qemu-armv8a/configs/fb/defconfig b/boards/arm64/qemu/qemu-armv8a/configs/fb/defconfig index c0f92f0d220..a5b22390448 100644 --- a/boards/arm64/qemu/qemu-armv8a/configs/fb/defconfig +++ b/boards/arm64/qemu/qemu-armv8a/configs/fb/defconfig @@ -26,18 +26,21 @@ CONFIG_DRIVERS_VIDEO=y CONFIG_DRIVERS_VIRTIO_GPU=y CONFIG_DRIVERS_VIRTIO_MMIO=y CONFIG_DRIVERS_VIRTIO_SERIAL=y +CONFIG_ETC_ROMFS=y CONFIG_EXAMPLES_FB=y CONFIG_EXAMPLES_HELLO=y +CONFIG_EXPERIMENTAL=y CONFIG_FAT_LCNAMES=y CONFIG_FAT_LFN=y CONFIG_FS_FAT=y CONFIG_FS_FATTIME=y CONFIG_FS_LARGEFILE=y CONFIG_FS_PROCFS=y +CONFIG_FS_ROMFS=y CONFIG_HAVE_CXX=y CONFIG_HAVE_CXXINITIALIZE=y CONFIG_IDLETHREAD_STACKSIZE=8192 -CONFIG_INIT_ENTRYPOINT="nsh_main" +CONFIG_INIT_ENTRYPOINT="init_main" CONFIG_INTELHEX_BINARY=y CONFIG_IOB_ALIGNMENT=16 CONFIG_IOB_BUFSIZE=1534 @@ -56,6 +59,7 @@ CONFIG_RAM_START=0x40000000 CONFIG_RAW_BINARY=y CONFIG_READLINE_CMD_HISTORY=y CONFIG_RR_INTERVAL=200 +CONFIG_SCHED_CHILD_STATUS=y CONFIG_SCHED_HAVE_PARENT=y CONFIG_SCHED_HPWORK=y CONFIG_SCHED_HPWORKPRIORITY=192 @@ -68,6 +72,7 @@ CONFIG_SYMTAB_ORDEREDBYNAME=y CONFIG_SYSLOG_TIMESTAMP=y CONFIG_SYSTEM_FDTDUMP=y CONFIG_SYSTEM_NSH=y +CONFIG_SYSTEM_NXINIT=y CONFIG_SYSTEM_SYSTEM=y CONFIG_TESTING_GETPRIME=y CONFIG_TESTING_OSTEST=y diff --git a/boards/arm64/qemu/qemu-armv8a/configs/gdbstub/defconfig b/boards/arm64/qemu/qemu-armv8a/configs/gdbstub/defconfig index c3f725a61af..023b772d512 100644 --- a/boards/arm64/qemu/qemu-armv8a/configs/gdbstub/defconfig +++ b/boards/arm64/qemu/qemu-armv8a/configs/gdbstub/defconfig @@ -28,6 +28,7 @@ CONFIG_DEBUG_SCHED_WARN=y CONFIG_DEBUG_SYMBOLS=y CONFIG_DEFAULT_TASK_STACKSIZE=8192 CONFIG_DEVICE_TREE=y +CONFIG_ETC_ROMFS=y CONFIG_EXAMPLES_HELLO=y CONFIG_EXPERIMENTAL=y CONFIG_FRAME_POINTER=y @@ -39,7 +40,7 @@ CONFIG_FS_TMPFS=y CONFIG_HAVE_CXX=y CONFIG_HAVE_CXXINITIALIZE=y CONFIG_IDLETHREAD_STACKSIZE=8192 -CONFIG_INIT_ENTRYPOINT="nsh_main" +CONFIG_INIT_ENTRYPOINT="init_main" CONFIG_INTELHEX_BINARY=y CONFIG_LIBC_EXECFUNCS=y CONFIG_LIBC_MEMFD_ERROR=y @@ -57,6 +58,8 @@ CONFIG_RAM_START=0x40000000 CONFIG_RAW_BINARY=y CONFIG_READLINE_CMD_HISTORY=y CONFIG_RR_INTERVAL=200 +CONFIG_SCHED_CHILD_STATUS=y +CONFIG_SCHED_HAVE_PARENT=y CONFIG_SCHED_HPWORK=y CONFIG_SCHED_HPWORKPRIORITY=192 CONFIG_SERIAL_GDBSTUB=y @@ -68,6 +71,7 @@ CONFIG_START_YEAR=2022 CONFIG_SYMTAB_ORDEREDBYNAME=y CONFIG_SYSTEM_GPROF=y CONFIG_SYSTEM_NSH=y +CONFIG_SYSTEM_NXINIT=y CONFIG_SYSTEM_SYSTEM=y CONFIG_TESTING_GETPRIME=y CONFIG_TESTING_OSTEST=y diff --git a/boards/arm64/qemu/qemu-armv8a/configs/mte/defconfig b/boards/arm64/qemu/qemu-armv8a/configs/mte/defconfig index 1b7ef28de0f..5876ed13c56 100644 --- a/boards/arm64/qemu/qemu-armv8a/configs/mte/defconfig +++ b/boards/arm64/qemu/qemu-armv8a/configs/mte/defconfig @@ -28,6 +28,7 @@ CONFIG_DEBUG_SCHED_WARN=y CONFIG_DEBUG_SYMBOLS=y CONFIG_DEFAULT_TASK_STACKSIZE=8192 CONFIG_DEVICE_TREE=y +CONFIG_ETC_ROMFS=y CONFIG_EXAMPLES_HELLO=y CONFIG_EXPERIMENTAL=y CONFIG_FRAME_POINTER=y @@ -39,7 +40,7 @@ CONFIG_FS_TMPFS=y CONFIG_HAVE_CXX=y CONFIG_HAVE_CXXINITIALIZE=y CONFIG_IDLETHREAD_STACKSIZE=8192 -CONFIG_INIT_ENTRYPOINT="nsh_main" +CONFIG_INIT_ENTRYPOINT="init_main" CONFIG_INTELHEX_BINARY=y CONFIG_LIBC_EXECFUNCS=y CONFIG_LIBC_MEMFD_ERROR=y @@ -55,6 +56,8 @@ CONFIG_RAM_START=0x40000000 CONFIG_RAW_BINARY=y CONFIG_READLINE_CMD_HISTORY=y CONFIG_RR_INTERVAL=200 +CONFIG_SCHED_CHILD_STATUS=y +CONFIG_SCHED_HAVE_PARENT=y CONFIG_SCHED_HPWORK=y CONFIG_SCHED_HPWORKPRIORITY=192 CONFIG_SPINLOCK=y @@ -64,6 +67,7 @@ CONFIG_START_YEAR=2022 CONFIG_SYMTAB_ORDEREDBYNAME=y CONFIG_SYSTEM_GPROF=y CONFIG_SYSTEM_NSH=y +CONFIG_SYSTEM_NXINIT=y CONFIG_SYSTEM_SYSTEM=y CONFIG_TESTING_GETPRIME=y CONFIG_TESTING_OSTEST=y diff --git a/boards/arm64/qemu/qemu-armv8a/configs/netnsh/defconfig b/boards/arm64/qemu/qemu-armv8a/configs/netnsh/defconfig index 1f075e6fed4..85fad7adc18 100644 --- a/boards/arm64/qemu/qemu-armv8a/configs/netnsh/defconfig +++ b/boards/arm64/qemu/qemu-armv8a/configs/netnsh/defconfig @@ -37,17 +37,20 @@ CONFIG_DRIVERS_VIRTIO_PCI_POLLING_PERIOD=100 CONFIG_DRIVERS_VIRTIO_RNG=y CONFIG_DRIVERS_VIRTIO_SERIAL=y CONFIG_DRIVERS_VIRTIO_SOUND=y +CONFIG_ETC_ROMFS=y CONFIG_EXAMPLES_HELLO=y +CONFIG_EXPERIMENTAL=y CONFIG_FAT_LCNAMES=y CONFIG_FAT_LFN=y CONFIG_FS_FAT=y CONFIG_FS_FATTIME=y CONFIG_FS_PROCFS=y +CONFIG_FS_ROMFS=y CONFIG_FS_V9FS=y CONFIG_HAVE_CXX=y CONFIG_HAVE_CXXINITIALIZE=y CONFIG_IDLETHREAD_STACKSIZE=8192 -CONFIG_INIT_ENTRYPOINT="nsh_main" +CONFIG_INIT_ENTRYPOINT="init_main" CONFIG_INTELHEX_BINARY=y CONFIG_IOB_ALIGNMENT=16 CONFIG_IOB_BUFSIZE=1534 @@ -89,6 +92,7 @@ CONFIG_RAM_START=0x40000000 CONFIG_RAW_BINARY=y CONFIG_READLINE_CMD_HISTORY=y CONFIG_RR_INTERVAL=200 +CONFIG_SCHED_CHILD_STATUS=y CONFIG_SCHED_HAVE_PARENT=y CONFIG_SCHED_HPWORK=y CONFIG_SCHED_HPWORKPRIORITY=192 @@ -102,6 +106,7 @@ CONFIG_SYSLOG_TIMESTAMP=y CONFIG_SYSTEM_DHCPC_RENEW=y CONFIG_SYSTEM_FDTDUMP=y CONFIG_SYSTEM_NSH=y +CONFIG_SYSTEM_NXINIT=y CONFIG_SYSTEM_NXPLAYER=y CONFIG_SYSTEM_NXRECORDER=y CONFIG_SYSTEM_PING=y diff --git a/boards/arm64/qemu/qemu-armv8a/configs/netnsh_hv/defconfig b/boards/arm64/qemu/qemu-armv8a/configs/netnsh_hv/defconfig index 7e6243f1065..0a72d5c2da0 100644 --- a/boards/arm64/qemu/qemu-armv8a/configs/netnsh_hv/defconfig +++ b/boards/arm64/qemu/qemu-armv8a/configs/netnsh_hv/defconfig @@ -31,16 +31,19 @@ CONFIG_DRIVERS_VIRTIO_NET=y CONFIG_DRIVERS_VIRTIO_RNG=y CONFIG_DRIVERS_VIRTIO_SERIAL=y CONFIG_DRIVERS_VIRTIO_SOUND=y +CONFIG_ETC_ROMFS=y CONFIG_EXAMPLES_HELLO=y +CONFIG_EXPERIMENTAL=y CONFIG_FAT_LCNAMES=y CONFIG_FAT_LFN=y CONFIG_FS_FAT=y CONFIG_FS_FATTIME=y CONFIG_FS_PROCFS=y +CONFIG_FS_ROMFS=y CONFIG_HAVE_CXX=y CONFIG_HAVE_CXXINITIALIZE=y CONFIG_IDLETHREAD_STACKSIZE=8192 -CONFIG_INIT_ENTRYPOINT="nsh_main" +CONFIG_INIT_ENTRYPOINT="init_main" CONFIG_INTELHEX_BINARY=y CONFIG_IOB_ALIGNMENT=16 CONFIG_IOB_BUFSIZE=1534 @@ -80,6 +83,7 @@ CONFIG_RAM_START=0x40000000 CONFIG_RAW_BINARY=y CONFIG_READLINE_CMD_HISTORY=y CONFIG_RR_INTERVAL=200 +CONFIG_SCHED_CHILD_STATUS=y CONFIG_SCHED_HAVE_PARENT=y CONFIG_SCHED_HPWORK=y CONFIG_SCHED_HPWORKPRIORITY=192 @@ -93,6 +97,7 @@ CONFIG_SYSLOG_TIMESTAMP=y CONFIG_SYSTEM_DHCPC_RENEW=y CONFIG_SYSTEM_FDTDUMP=y CONFIG_SYSTEM_NSH=y +CONFIG_SYSTEM_NXINIT=y CONFIG_SYSTEM_NXPLAYER=y CONFIG_SYSTEM_NXRECORDER=y CONFIG_SYSTEM_PING=y diff --git a/boards/arm64/qemu/qemu-armv8a/configs/netnsh_smp/defconfig b/boards/arm64/qemu/qemu-armv8a/configs/netnsh_smp/defconfig index f914b4df735..749f2423d86 100644 --- a/boards/arm64/qemu/qemu-armv8a/configs/netnsh_smp/defconfig +++ b/boards/arm64/qemu/qemu-armv8a/configs/netnsh_smp/defconfig @@ -29,16 +29,19 @@ CONFIG_DRIVERS_VIRTIO_NET=y CONFIG_DRIVERS_VIRTIO_RNG=y CONFIG_DRIVERS_VIRTIO_SERIAL=y CONFIG_DRIVERS_VIRTIO_SOUND=y +CONFIG_ETC_ROMFS=y CONFIG_EXAMPLES_HELLO=y +CONFIG_EXPERIMENTAL=y CONFIG_FAT_LCNAMES=y CONFIG_FAT_LFN=y CONFIG_FS_FAT=y CONFIG_FS_FATTIME=y CONFIG_FS_PROCFS=y +CONFIG_FS_ROMFS=y CONFIG_HAVE_CXX=y CONFIG_HAVE_CXXINITIALIZE=y CONFIG_IDLETHREAD_STACKSIZE=8192 -CONFIG_INIT_ENTRYPOINT="nsh_main" +CONFIG_INIT_ENTRYPOINT="init_main" CONFIG_INTELHEX_BINARY=y CONFIG_IOB_BUFSIZE=1534 CONFIG_IOB_NBUFFERS=64 @@ -77,6 +80,7 @@ CONFIG_RAM_START=0x40000000 CONFIG_RAW_BINARY=y CONFIG_READLINE_CMD_HISTORY=y CONFIG_RR_INTERVAL=200 +CONFIG_SCHED_CHILD_STATUS=y CONFIG_SCHED_HAVE_PARENT=y CONFIG_SCHED_HPWORK=y CONFIG_SCHED_HPWORKPRIORITY=192 @@ -91,6 +95,7 @@ CONFIG_SYSLOG_TIMESTAMP=y CONFIG_SYSTEM_DHCPC_RENEW=y CONFIG_SYSTEM_FDTDUMP=y CONFIG_SYSTEM_NSH=y +CONFIG_SYSTEM_NXINIT=y CONFIG_SYSTEM_NXPLAYER=y CONFIG_SYSTEM_NXRECORDER=y CONFIG_SYSTEM_PING=y diff --git a/boards/arm64/qemu/qemu-armv8a/configs/netnsh_smp_hv/defconfig b/boards/arm64/qemu/qemu-armv8a/configs/netnsh_smp_hv/defconfig index bc97cc7b674..edddfa4e649 100644 --- a/boards/arm64/qemu/qemu-armv8a/configs/netnsh_smp_hv/defconfig +++ b/boards/arm64/qemu/qemu-armv8a/configs/netnsh_smp_hv/defconfig @@ -31,15 +31,18 @@ CONFIG_DRIVERS_VIRTIO_NET=y CONFIG_DRIVERS_VIRTIO_RNG=y CONFIG_DRIVERS_VIRTIO_SERIAL=y CONFIG_DRIVERS_VIRTIO_SOUND=y +CONFIG_ETC_ROMFS=y CONFIG_EXAMPLES_HELLO=y +CONFIG_EXPERIMENTAL=y CONFIG_FAT_LFN=y CONFIG_FS_FAT=y CONFIG_FS_FATTIME=y CONFIG_FS_PROCFS=y +CONFIG_FS_ROMFS=y CONFIG_HAVE_CXX=y CONFIG_HAVE_CXXINITIALIZE=y CONFIG_IDLETHREAD_STACKSIZE=8192 -CONFIG_INIT_ENTRYPOINT="nsh_main" +CONFIG_INIT_ENTRYPOINT="init_main" CONFIG_INTELHEX_BINARY=y CONFIG_IOB_BUFSIZE=1534 CONFIG_IOB_NBUFFERS=64 @@ -78,6 +81,7 @@ CONFIG_RAM_START=0x40000000 CONFIG_RAW_BINARY=y CONFIG_READLINE_CMD_HISTORY=y CONFIG_RR_INTERVAL=200 +CONFIG_SCHED_CHILD_STATUS=y CONFIG_SCHED_HAVE_PARENT=y CONFIG_SCHED_HPWORK=y CONFIG_SCHED_HPWORKPRIORITY=192 @@ -92,6 +96,7 @@ CONFIG_SYSLOG_TIMESTAMP=y CONFIG_SYSTEM_DHCPC_RENEW=y CONFIG_SYSTEM_FDTDUMP=y CONFIG_SYSTEM_NSH=y +CONFIG_SYSTEM_NXINIT=y CONFIG_SYSTEM_NXPLAYER=y CONFIG_SYSTEM_NXRECORDER=y CONFIG_SYSTEM_PING=y diff --git a/boards/arm64/qemu/qemu-armv8a/configs/nsh/defconfig b/boards/arm64/qemu/qemu-armv8a/configs/nsh/defconfig index c0c4cf8069b..2e42ff26b29 100644 --- a/boards/arm64/qemu/qemu-armv8a/configs/nsh/defconfig +++ b/boards/arm64/qemu/qemu-armv8a/configs/nsh/defconfig @@ -27,6 +27,7 @@ CONFIG_DEBUG_SCHED_WARN=y CONFIG_DEBUG_SYMBOLS=y CONFIG_DEFAULT_TASK_STACKSIZE=8192 CONFIG_DEVICE_TREE=y +CONFIG_ETC_ROMFS=y CONFIG_EXAMPLES_HELLO=y CONFIG_EXPERIMENTAL=y CONFIG_FRAME_POINTER=y @@ -38,7 +39,7 @@ CONFIG_FS_TMPFS=y CONFIG_HAVE_CXX=y CONFIG_HAVE_CXXINITIALIZE=y CONFIG_IDLETHREAD_STACKSIZE=8192 -CONFIG_INIT_ENTRYPOINT="nsh_main" +CONFIG_INIT_ENTRYPOINT="init_main" CONFIG_INTELHEX_BINARY=y CONFIG_LIBC_EXECFUNCS=y CONFIG_LIBC_MEMFD_ERROR=y @@ -55,6 +56,8 @@ CONFIG_RAM_START=0x40000000 CONFIG_RAW_BINARY=y CONFIG_READLINE_CMD_HISTORY=y CONFIG_RR_INTERVAL=200 +CONFIG_SCHED_CHILD_STATUS=y +CONFIG_SCHED_HAVE_PARENT=y CONFIG_SCHED_HPWORK=y CONFIG_SCHED_HPWORKPRIORITY=192 CONFIG_SPINLOCK=y @@ -64,6 +67,7 @@ CONFIG_START_YEAR=2022 CONFIG_SYMTAB_ORDEREDBYNAME=y CONFIG_SYSTEM_GPROF=y CONFIG_SYSTEM_NSH=y +CONFIG_SYSTEM_NXINIT=y CONFIG_SYSTEM_SYSTEM=y CONFIG_TESTING_GETPRIME=y CONFIG_TESTING_OSTEST=y diff --git a/boards/arm64/qemu/qemu-armv8a/configs/nsh_fiq/defconfig b/boards/arm64/qemu/qemu-armv8a/configs/nsh_fiq/defconfig index dc310319e48..f2a43df926d 100644 --- a/boards/arm64/qemu/qemu-armv8a/configs/nsh_fiq/defconfig +++ b/boards/arm64/qemu/qemu-armv8a/configs/nsh_fiq/defconfig @@ -29,6 +29,7 @@ CONFIG_DEBUG_SCHED_WARN=y CONFIG_DEBUG_SYMBOLS=y CONFIG_DEFAULT_TASK_STACKSIZE=8192 CONFIG_DEVICE_TREE=y +CONFIG_ETC_ROMFS=y CONFIG_EXAMPLES_HELLO=y CONFIG_EXPERIMENTAL=y CONFIG_FS_HOSTFS=y @@ -38,8 +39,9 @@ CONFIG_FS_ROMFS=y CONFIG_HAVE_CXX=y CONFIG_HAVE_CXXINITIALIZE=y CONFIG_IDLETHREAD_STACKSIZE=8192 -CONFIG_INIT_ENTRYPOINT="nsh_main" +CONFIG_INIT_ENTRYPOINT="init_main" CONFIG_INTELHEX_BINARY=y +CONFIG_LIBC_EXECFUNCS=y CONFIG_NSH_BUILTIN_APPS=y CONFIG_NSH_FILEIOSIZE=512 CONFIG_NSH_READLINE=y @@ -51,6 +53,8 @@ CONFIG_RAM_START=0x40000000 CONFIG_RAW_BINARY=y CONFIG_READLINE_CMD_HISTORY=y CONFIG_RR_INTERVAL=200 +CONFIG_SCHED_CHILD_STATUS=y +CONFIG_SCHED_HAVE_PARENT=y CONFIG_SCHED_HPWORK=y CONFIG_SCHED_HPWORKPRIORITY=192 CONFIG_SPINLOCK=y @@ -59,6 +63,7 @@ CONFIG_START_MONTH=3 CONFIG_START_YEAR=2022 CONFIG_SYMTAB_ORDEREDBYNAME=y CONFIG_SYSTEM_NSH=y +CONFIG_SYSTEM_NXINIT=y CONFIG_SYSTEM_SYSTEM=y CONFIG_TESTING_GETPRIME=y CONFIG_TESTING_OSTEST=y diff --git a/boards/arm64/qemu/qemu-armv8a/configs/nsh_gicv2/defconfig b/boards/arm64/qemu/qemu-armv8a/configs/nsh_gicv2/defconfig index 3f491cd8e9e..4b0f24d8cbf 100644 --- a/boards/arm64/qemu/qemu-armv8a/configs/nsh_gicv2/defconfig +++ b/boards/arm64/qemu/qemu-armv8a/configs/nsh_gicv2/defconfig @@ -24,6 +24,7 @@ CONFIG_DEBUG_SCHED_ERROR=y CONFIG_DEBUG_SCHED_WARN=y CONFIG_DEBUG_SYMBOLS=y CONFIG_DEFAULT_TASK_STACKSIZE=8192 +CONFIG_ETC_ROMFS=y CONFIG_EXAMPLES_HELLO=y CONFIG_EXPERIMENTAL=y CONFIG_FS_PROCFS=y @@ -31,7 +32,7 @@ CONFIG_FS_ROMFS=y CONFIG_HAVE_CXX=y CONFIG_HAVE_CXXINITIALIZE=y CONFIG_IDLETHREAD_STACKSIZE=8192 -CONFIG_INIT_ENTRYPOINT="nsh_main" +CONFIG_INIT_ENTRYPOINT="init_main" CONFIG_INTELHEX_BINARY=y CONFIG_LIBC_EXECFUNCS=y CONFIG_LIBM=y @@ -46,6 +47,8 @@ CONFIG_RAM_START=0x40000000 CONFIG_RAW_BINARY=y CONFIG_READLINE_CMD_HISTORY=y CONFIG_RR_INTERVAL=200 +CONFIG_SCHED_CHILD_STATUS=y +CONFIG_SCHED_HAVE_PARENT=y CONFIG_SCHED_HPWORK=y CONFIG_SCHED_HPWORKPRIORITY=192 CONFIG_SPINLOCK=y @@ -54,6 +57,7 @@ CONFIG_START_MONTH=3 CONFIG_START_YEAR=2022 CONFIG_SYMTAB_ORDEREDBYNAME=y CONFIG_SYSTEM_NSH=y +CONFIG_SYSTEM_NXINIT=y CONFIG_SYSTEM_SYSTEM=y CONFIG_TESTING_GETPRIME=y CONFIG_TESTING_OSTEST=y diff --git a/boards/arm64/qemu/qemu-armv8a/configs/nsh_smp/defconfig b/boards/arm64/qemu/qemu-armv8a/configs/nsh_smp/defconfig index 307125d9648..032ce4a17e4 100644 --- a/boards/arm64/qemu/qemu-armv8a/configs/nsh_smp/defconfig +++ b/boards/arm64/qemu/qemu-armv8a/configs/nsh_smp/defconfig @@ -33,6 +33,7 @@ CONFIG_DEBUG_SCHED_ERROR=y CONFIG_DEBUG_SCHED_WARN=y CONFIG_DEBUG_SYMBOLS=y CONFIG_DEFAULT_TASK_STACKSIZE=16384 +CONFIG_ETC_ROMFS=y CONFIG_EXAMPLES_HELLO=y CONFIG_EXPERIMENTAL=y CONFIG_FRAME_POINTER=y @@ -42,7 +43,7 @@ CONFIG_FS_ROMFS=y CONFIG_FS_TMPFS=y CONFIG_HAVE_CXXINITIALIZE=y CONFIG_IDLETHREAD_STACKSIZE=16384 -CONFIG_INIT_ENTRYPOINT="nsh_main" +CONFIG_INIT_ENTRYPOINT="init_main" CONFIG_INTELHEX_BINARY=y CONFIG_LIBC_EXECFUNCS=y CONFIG_LIBC_MEMFD_ERROR=y @@ -59,6 +60,8 @@ CONFIG_RAW_BINARY=y CONFIG_READLINE_CMD_HISTORY=y CONFIG_RR_INTERVAL=200 CONFIG_SCHED_BACKTRACE=y +CONFIG_SCHED_CHILD_STATUS=y +CONFIG_SCHED_HAVE_PARENT=y CONFIG_SCHED_HPWORK=y CONFIG_SCHED_HPWORKPRIORITY=192 CONFIG_SMP=y @@ -69,6 +72,7 @@ CONFIG_START_YEAR=2022 CONFIG_SYMTAB_ORDEREDBYNAME=y CONFIG_SYSTEM_GCOV=y CONFIG_SYSTEM_NSH=y +CONFIG_SYSTEM_NXINIT=y CONFIG_SYSTEM_SYSTEM=y CONFIG_SYSTEM_TASKSET=y CONFIG_TESTING_GETPRIME=y diff --git a/boards/arm64/qemu/qemu-armv8a/configs/nsh_smp_tickless/defconfig b/boards/arm64/qemu/qemu-armv8a/configs/nsh_smp_tickless/defconfig index 1da7968ef34..a9c57dd3b23 100644 --- a/boards/arm64/qemu/qemu-armv8a/configs/nsh_smp_tickless/defconfig +++ b/boards/arm64/qemu/qemu-armv8a/configs/nsh_smp_tickless/defconfig @@ -23,12 +23,13 @@ CONFIG_DEBUG_SCHED_ERROR=y CONFIG_DEBUG_SCHED_WARN=y CONFIG_DEBUG_SYMBOLS=y CONFIG_DEFAULT_TASK_STACKSIZE=16384 +CONFIG_ETC_ROMFS=y CONFIG_EXAMPLES_HELLO=y CONFIG_EXPERIMENTAL=y CONFIG_FS_PROCFS=y CONFIG_FS_ROMFS=y CONFIG_IDLETHREAD_STACKSIZE=16384 -CONFIG_INIT_ENTRYPOINT="nsh_main" +CONFIG_INIT_ENTRYPOINT="init_main" CONFIG_INTELHEX_BINARY=y CONFIG_LIBC_EXECFUNCS=y CONFIG_NSH_BUILTIN_APPS=y @@ -42,6 +43,8 @@ CONFIG_RAM_START=0x40000000 CONFIG_RAW_BINARY=y CONFIG_READLINE_CMD_HISTORY=y CONFIG_RR_INTERVAL=200 +CONFIG_SCHED_CHILD_STATUS=y +CONFIG_SCHED_HAVE_PARENT=y CONFIG_SCHED_HPWORK=y CONFIG_SCHED_HPWORKPRIORITY=192 CONFIG_SCHED_TICKLESS=y @@ -51,6 +54,7 @@ CONFIG_START_MONTH=3 CONFIG_START_YEAR=2022 CONFIG_SYMTAB_ORDEREDBYNAME=y CONFIG_SYSTEM_NSH=y +CONFIG_SYSTEM_NXINIT=y CONFIG_SYSTEM_SYSTEM=y CONFIG_SYSTEM_TASKSET=y CONFIG_TESTING_GETPRIME=y diff --git a/boards/arm64/qemu/qemu-armv8a/configs/rpproxy/defconfig b/boards/arm64/qemu/qemu-armv8a/configs/rpproxy/defconfig index 304beb7e1b3..7ab131c654b 100644 --- a/boards/arm64/qemu/qemu-armv8a/configs/rpproxy/defconfig +++ b/boards/arm64/qemu/qemu-armv8a/configs/rpproxy/defconfig @@ -36,6 +36,7 @@ CONFIG_DRIVERS_VHOST_RNG=y CONFIG_DRIVERS_VHOST_RPMSG=y CONFIG_DRIVERS_VIRTIO_MMIO=y CONFIG_DRIVERS_VIRTIO_SERIAL=y +CONFIG_ETC_ROMFS=y CONFIG_EXAMPLES_HELLO=y CONFIG_EXAMPLES_RPMSGSOCKET=y CONFIG_EXPERIMENTAL=y @@ -50,7 +51,7 @@ CONFIG_FS_ROMFS=y CONFIG_FS_RPMSGFS=y CONFIG_FS_TMPFS=y CONFIG_IDLETHREAD_STACKSIZE=8192 -CONFIG_INIT_ENTRYPOINT="nsh_main" +CONFIG_INIT_ENTRYPOINT="init_main" CONFIG_INTELHEX_BINARY=y CONFIG_LIBC_ENVPATH=y CONFIG_LIBC_EXECFUNCS=y @@ -79,6 +80,7 @@ CONFIG_RPTUN_IVSHMEM=y CONFIG_RPTUN_IVSHMEM_NAME="0:server:s" CONFIG_RPTUN_STACKSIZE=8192 CONFIG_SCHED_BACKTRACE=y +CONFIG_SCHED_CHILD_STATUS=y CONFIG_SCHED_EVENTS=y CONFIG_SCHED_HAVE_PARENT=y CONFIG_SCHED_HPWORK=y @@ -110,6 +112,7 @@ CONFIG_SYSLOG_TIMESTAMP=y CONFIG_SYSTEM_CUTERM=y CONFIG_SYSTEM_DUMPSTACK=y CONFIG_SYSTEM_NSH=y +CONFIG_SYSTEM_NXINIT=y CONFIG_UART1_BASE=0x9000000 CONFIG_UART1_IRQ=33 CONFIG_UART1_PL011=y diff --git a/boards/arm64/qemu/qemu-armv8a/configs/rpserver/defconfig b/boards/arm64/qemu/qemu-armv8a/configs/rpserver/defconfig index c44322e4f39..b9916f4bcb1 100644 --- a/boards/arm64/qemu/qemu-armv8a/configs/rpserver/defconfig +++ b/boards/arm64/qemu/qemu-armv8a/configs/rpserver/defconfig @@ -36,6 +36,7 @@ CONFIG_DRIVERS_VIRTIO_MMIO=y CONFIG_DRIVERS_VIRTIO_RNG=y CONFIG_DRIVERS_VIRTIO_RPMSG=y CONFIG_DRIVERS_VIRTIO_SERIAL=y +CONFIG_ETC_ROMFS=y CONFIG_EXAMPLES_HELLO=y CONFIG_EXAMPLES_RPMSGSOCKET=y CONFIG_EXPERIMENTAL=y @@ -50,7 +51,7 @@ CONFIG_FS_ROMFS=y CONFIG_FS_RPMSGFS_SERVER=y CONFIG_FS_TMPFS=y CONFIG_IDLETHREAD_STACKSIZE=8192 -CONFIG_INIT_ENTRYPOINT="nsh_main" +CONFIG_INIT_ENTRYPOINT="init_main" CONFIG_INTELHEX_BINARY=y CONFIG_LIBC_ENVPATH=y CONFIG_LIBC_EXECFUNCS=y @@ -80,6 +81,7 @@ CONFIG_RPTUN_IVSHMEM=y CONFIG_RPTUN_IVSHMEM_NAME="0:proxy:m" CONFIG_RPTUN_STACKSIZE=8192 CONFIG_SCHED_BACKTRACE=y +CONFIG_SCHED_CHILD_STATUS=y CONFIG_SCHED_EVENTS=y CONFIG_SCHED_HAVE_PARENT=y CONFIG_SCHED_HPWORK=y @@ -111,6 +113,7 @@ CONFIG_SYSTEM_CUTERM=y CONFIG_SYSTEM_CUTERM_DEFAULT_DEVICE="/dev/ttyproxy" CONFIG_SYSTEM_DUMPSTACK=y CONFIG_SYSTEM_NSH=y +CONFIG_SYSTEM_NXINIT=y CONFIG_UART1_BASE=0x9000000 CONFIG_UART1_IRQ=33 CONFIG_UART1_PL011=y diff --git a/boards/arm64/qemu/qemu-armv8a/configs/sotest/defconfig b/boards/arm64/qemu/qemu-armv8a/configs/sotest/defconfig index 400009d93ba..5de8f343a77 100644 --- a/boards/arm64/qemu/qemu-armv8a/configs/sotest/defconfig +++ b/boards/arm64/qemu/qemu-armv8a/configs/sotest/defconfig @@ -32,6 +32,7 @@ CONFIG_DEBUG_SCHED_WARN=y CONFIG_DEBUG_SYMBOLS=y CONFIG_DEFAULT_TASK_STACKSIZE=8192 CONFIG_DEVICE_TREE=y +CONFIG_ETC_ROMFS=y CONFIG_EXAMPLES_HELLO=y CONFIG_EXAMPLES_SOTEST=y CONFIG_EXAMPLES_SOTEST_DEVMINOR_MAX=10 @@ -43,7 +44,7 @@ CONFIG_FS_ROMFS=y CONFIG_HAVE_CXX=y CONFIG_HAVE_CXXINITIALIZE=y CONFIG_IDLETHREAD_STACKSIZE=8192 -CONFIG_INIT_ENTRYPOINT="nsh_main" +CONFIG_INIT_ENTRYPOINT="init_main" CONFIG_INTELHEX_BINARY=y CONFIG_LIBC_DLFCN=y CONFIG_LIBC_ELF_DUMPBUFFER=y @@ -59,6 +60,8 @@ CONFIG_RAM_START=0x40000000 CONFIG_RAW_BINARY=y CONFIG_READLINE_CMD_HISTORY=y CONFIG_RR_INTERVAL=200 +CONFIG_SCHED_CHILD_STATUS=y +CONFIG_SCHED_HAVE_PARENT=y CONFIG_SCHED_HPWORK=y CONFIG_SCHED_HPWORKPRIORITY=192 CONFIG_SPINLOCK=y @@ -67,6 +70,7 @@ CONFIG_START_MONTH=3 CONFIG_START_YEAR=2022 CONFIG_SYMTAB_ORDEREDBYNAME=y CONFIG_SYSTEM_NSH=y +CONFIG_SYSTEM_NXINIT=y CONFIG_SYSTEM_SYSTEM=y CONFIG_TESTING_GETPRIME=y CONFIG_TESTING_OSTEST=y diff --git a/boards/arm64/qemu/qemu-armv8a/configs/sw_tags/defconfig b/boards/arm64/qemu/qemu-armv8a/configs/sw_tags/defconfig index b1278a6541f..33f65db7277 100644 --- a/boards/arm64/qemu/qemu-armv8a/configs/sw_tags/defconfig +++ b/boards/arm64/qemu/qemu-armv8a/configs/sw_tags/defconfig @@ -27,6 +27,7 @@ CONFIG_DEBUG_SCHED_WARN=y CONFIG_DEBUG_SYMBOLS=y CONFIG_DEFAULT_TASK_STACKSIZE=8192 CONFIG_DEVICE_TREE=y +CONFIG_ETC_ROMFS=y CONFIG_EXAMPLES_HELLO=y CONFIG_EXPERIMENTAL=y CONFIG_FS_HOSTFS=y @@ -36,7 +37,7 @@ CONFIG_FS_ROMFS=y CONFIG_HAVE_CXX=y CONFIG_HAVE_CXXINITIALIZE=y CONFIG_IDLETHREAD_STACKSIZE=8192 -CONFIG_INIT_ENTRYPOINT="nsh_main" +CONFIG_INIT_ENTRYPOINT="init_main" CONFIG_INTELHEX_BINARY=y CONFIG_LIBC_EXECFUNCS=y CONFIG_LTO_FULL=y @@ -53,6 +54,8 @@ CONFIG_RAM_START=0x40000000 CONFIG_RAW_BINARY=y CONFIG_READLINE_CMD_HISTORY=y CONFIG_RR_INTERVAL=200 +CONFIG_SCHED_CHILD_STATUS=y +CONFIG_SCHED_HAVE_PARENT=y CONFIG_SCHED_HPWORK=y CONFIG_SCHED_HPWORKPRIORITY=192 CONFIG_SPINLOCK=y @@ -61,6 +64,7 @@ CONFIG_START_MONTH=3 CONFIG_START_YEAR=2022 CONFIG_SYMTAB_ORDEREDBYNAME=y CONFIG_SYSTEM_NSH=y +CONFIG_SYSTEM_NXINIT=y CONFIG_SYSTEM_SYSTEM=y CONFIG_TESTING_GETPRIME=y CONFIG_TESTING_KASAN=y diff --git a/boards/arm64/qemu/qemu-armv8a/configs/xedge_demo/defconfig b/boards/arm64/qemu/qemu-armv8a/configs/xedge_demo/defconfig index 95be379c162..279076a4734 100644 --- a/boards/arm64/qemu/qemu-armv8a/configs/xedge_demo/defconfig +++ b/boards/arm64/qemu/qemu-armv8a/configs/xedge_demo/defconfig @@ -31,18 +31,21 @@ CONFIG_DRIVERS_VIRTIO_NET=y CONFIG_DRIVERS_VIRTIO_RNG=y CONFIG_DRIVERS_VIRTIO_SERIAL=y CONFIG_DRIVERS_VIRTIO_SOUND=y +CONFIG_ETC_ROMFS=y CONFIG_EXAMPLES_HELLO=y CONFIG_EXAMPLES_XEDGE_DEMO=y +CONFIG_EXPERIMENTAL=y CONFIG_FAT_LCNAMES=y CONFIG_FAT_LFN=y CONFIG_FS_FAT=y CONFIG_FS_FATTIME=y CONFIG_FS_PROCFS=y +CONFIG_FS_ROMFS=y CONFIG_FS_V9FS=y CONFIG_HAVE_CXX=y CONFIG_HAVE_CXXINITIALIZE=y CONFIG_IDLETHREAD_STACKSIZE=8192 -CONFIG_INIT_ENTRYPOINT="nsh_main" +CONFIG_INIT_ENTRYPOINT="init_main" CONFIG_INTELHEX_BINARY=y CONFIG_IOB_ALIGNMENT=16 CONFIG_IOB_BUFSIZE=1534 @@ -87,6 +90,7 @@ CONFIG_RAM_START=0x40000000 CONFIG_RAW_BINARY=y CONFIG_READLINE_CMD_HISTORY=y CONFIG_RR_INTERVAL=200 +CONFIG_SCHED_CHILD_STATUS=y CONFIG_SCHED_HAVE_PARENT=y CONFIG_SCHED_HPWORK=y CONFIG_SCHED_HPWORKPRIORITY=192 @@ -101,6 +105,7 @@ CONFIG_SYSLOG_TIMESTAMP=y CONFIG_SYSTEM_DHCPC_RENEW=y CONFIG_SYSTEM_FDTDUMP=y CONFIG_SYSTEM_NSH=y +CONFIG_SYSTEM_NXINIT=y CONFIG_SYSTEM_NXPLAYER=y CONFIG_SYSTEM_NXRECORDER=y CONFIG_SYSTEM_PING=y diff --git a/boards/arm64/qemu/qemu-armv8a/src/.gitignore b/boards/arm64/qemu/qemu-armv8a/src/.gitignore new file mode 100644 index 00000000000..1baf09ba3ae --- /dev/null +++ b/boards/arm64/qemu/qemu-armv8a/src/.gitignore @@ -0,0 +1 @@ +/etctmp* diff --git a/boards/arm64/qemu/qemu-armv8a/src/CMakeLists.txt b/boards/arm64/qemu/qemu-armv8a/src/CMakeLists.txt index fad82a2fb4a..cf921494a04 100644 --- a/boards/arm64/qemu/qemu-armv8a/src/CMakeLists.txt +++ b/boards/arm64/qemu/qemu-armv8a/src/CMakeLists.txt @@ -31,3 +31,17 @@ if(CONFIG_LIBC_FDT) endif() target_sources(board PRIVATE ${SRCS}) + +if(CONFIG_ETC_ROMFS AND CONFIG_SYSTEM_NXINIT) + nuttx_add_romfs( + NAME + etc + MOUNTPOINT + etc + RCSRCS + etc/init.d/init.rc + PATH + ${CMAKE_CURRENT_BINARY_DIR}/etc) + + target_link_libraries(board PRIVATE romfs_etc) +endif() diff --git a/boards/arm64/qemu/qemu-armv8a/src/Makefile b/boards/arm64/qemu/qemu-armv8a/src/Makefile index f276114b2ae..f846e911a50 100644 --- a/boards/arm64/qemu/qemu-armv8a/src/Makefile +++ b/boards/arm64/qemu/qemu-armv8a/src/Makefile @@ -28,6 +28,12 @@ ifeq ($(CONFIG_BOARDCTL),y) CSRCS += qemu_power.c endif +ifeq ($(CONFIG_ETC_ROMFS),y) +ifeq ($(CONFIG_SYSTEM_NXINIT),y) + RCSRCS += etc/init.d/init.rc +endif +endif + ifeq ($(CONFIG_LIBC_FDT),y) CFLAGS += ${INCDIR_PREFIX}$(TOPDIR)$(DELIM)libs$(DELIM)libc$(DELIM)fdt$(DELIM)dtc$(DELIM)libfdt endif diff --git a/boards/arm64/qemu/qemu-armv8a/src/etc/init.d/init.rc b/boards/arm64/qemu/qemu-armv8a/src/etc/init.d/init.rc new file mode 100644 index 00000000000..d66203f6c7d --- /dev/null +++ b/boards/arm64/qemu/qemu-armv8a/src/etc/init.d/init.rc @@ -0,0 +1,33 @@ +/**************************************************************************** + * boards/arm64/qemu/qemu-armv8a/src/etc/init.d/init.rc + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. The + * ASF licenses this file to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the + * License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + * + ****************************************************************************/ + +#include <nuttx/config.h> + +#ifdef CONFIG_SYSTEM_NSH +service console sh + restart_period 1000 +#endif + +on init +#ifdef CONFIG_SYSTEM_NSH + start console +#endif
