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 f51052d78030d00001f71c780efcae9a588bf63b Author: Arjav Patel <[email protected]> AuthorDate: Thu Apr 23 07:33:38 2026 +0530 sched/docs: Align ETC ROMFS text with tmpfs-first /tmp mount. Update ETC_ROMFS help text and NSH/ROMFS guides to describe the /tmp mount behavior as tmpfs-first with FAT RAMDISK fallback when CONFIG_FS_TMPFS is not enabled. Signed-off-by: Arjav Patel <[email protected]> --- Documentation/applications/nsh/customizing.rst | 18 ++++++++++---- Documentation/guides/etcromfs.rst | 11 ++++++--- sched/Kconfig | 34 ++++++++++++++------------ 3 files changed, 39 insertions(+), 24 deletions(-) diff --git a/Documentation/applications/nsh/customizing.rst b/Documentation/applications/nsh/customizing.rst index 2d120373a9a..ca2d305ff8c 100644 --- a/Documentation/applications/nsh/customizing.rst +++ b/Documentation/applications/nsh/customizing.rst @@ -57,10 +57,13 @@ The NSH initialization function, ``nsh_initialize()``, be found in read-only, ROMFS file system is mounted by ``nsh_romfsetc()``. The ROMFS image is, itself, just built into the firmware. By default, - this ``rc.sysinit`` system init script contains the following logic:: + this ``rc.sysinit`` system init script contains logic to prefer + TMPFS for ``/tmp`` and to fall back to FAT RAMDISK:: - # Create a RAMDISK and mount it at XXXRDMOUNTPOINTXXX + # Mount /tmp on TMPFS + mount -t tmpfs XXXRDMOUNTPOINTXXX + # Otherwise create a RAMDISK and mount it at XXXRDMOUNTPOINTXXX mkrd -m XXXMKRDMINORXXX -s XXMKRDSECTORSIZEXXX XXMKRDBLOCKSXXX mkfatfs /dev/ramXXXMKRDMINORXXX mount -t vfat /dev/ramXXXMKRDMINORXXX XXXRDMOUNTPOINTXXX @@ -79,15 +82,20 @@ The NSH initialization function, ``nsh_initialize()``, be found in - ``XXXRDMOUNTPOINTXXX`` will become the configured mount point. Default: ``/etc`` - By default, the substituted values would yield an ``rc.sysinit`` file like:: + By default, with FAT fallback values substituted, ``rc.sysinit`` + can look like:: - # Create a RAMDISK and mount it at /tmp + # Mount /tmp on TMPFS + mount -t tmpfs /tmp + # Otherwise create a RAMDISK and mount it at /tmp mkrd -m 1 -s 512 1024 mkfatfs /dev/ram1 mount -t vfat /dev/ram1 /tmp - This script will, then: + This script will: + + - Mount ``/tmp`` as TMPFS when available, or else: - Create a RAMDISK of size 512*1024 bytes at ``/dev/ram1``, diff --git a/Documentation/guides/etcromfs.rst b/Documentation/guides/etcromfs.rst index aee60257a39..9a579fc2d11 100644 --- a/Documentation/guides/etcromfs.rst +++ b/Documentation/guides/etcromfs.rst @@ -58,10 +58,13 @@ behave as follows at Nuttx start-up time: `-- rcS `-- rc.sysinit - - By default, the contents of ``rc.sysinit`` script are:: + - By default, the contents of ``rc.sysinit`` script prefer TMPFS for + ``/tmp`` and fall back to FAT RAMDISK when TMPFS is not enabled:: - # Create a RAMDISK and mount it at /tmp + # Mount /tmp on TMPFS + mount -t tmpfs /tmp + # Otherwise create a RAMDISK and mount it at /tmp mkrd -m 1 -s 512 1024 mkfatfs /dev/ram1 mount -t vfat /dev/ram1 /tmp @@ -96,8 +99,8 @@ In most of these cases, the configuration sets up the *default* script is here: ``apps/nshlib/rc.sysinit.template`` and ``apps/nshlib/rcS.template``. (The funny values in the rc.sysinit.template like ``XXXMKRDMINORXXX`` get replaced via ``sed`` at build time). This -default configuration creates a ramdisk and mounts it at ``/tmp`` as -discussed above. +default configuration mounts ``/tmp`` as TMPFS when enabled, otherwise +it creates a RAMDISK and mounts FAT at ``/tmp`` as discussed above. Customizing Start up Scripts ============================ diff --git a/sched/Kconfig b/sched/Kconfig index 167cd17eb95..a3860afc1b0 100644 --- a/sched/Kconfig +++ b/sched/Kconfig @@ -552,8 +552,9 @@ menuconfig ETC_ROMFS ---help--- Mount a ROMFS filesystem at /etc and provide a system init script at /etc/init.d/rc.sysinit and a startup script - at /etc/init.d/rcS. The default system init script will mount - a FAT FS RAMDISK at /tmp but the logic is easily extensible. + at /etc/init.d/rcS. The default system init script mounts + /tmp as TMPFS when FS_TMPFS is enabled, otherwise it can + fall back to mounting a FAT FS RAMDISK at /tmp. if ETC_ROMFS @@ -591,37 +592,40 @@ config ETC_FATDEVNO default 1 depends on FS_FAT ---help--- - When the default rcS file used when ETC_ROMFS is selected, it - will mount a FAT FS under /tmp. This is the minor number of the FAT - FS block device. The default is '1' corresponding to /dev/ram1. + When ETC_ROMFS is selected and FS_TMPFS is disabled, the + default rc.sysinit script mounts a FAT FS under /tmp. This + is the minor number of the FAT FS block device. The default + is '1' corresponding to /dev/ram1. config ETC_FATSECTSIZE int "FAT sector size" default 512 depends on FS_FAT ---help--- - When the default rcS file used when ETC_ROMFS is selected, it - will mount a FAT FS under /tmp. This is the sector size use with the - FAT FS. Default is 512. + When ETC_ROMFS is selected and FS_TMPFS is disabled, the + default rc.sysinit script mounts a FAT FS under /tmp. This + is the sector size used with the FAT FS. Default is 512. config ETC_FATNSECTORS int "FAT number of sectors" default 1024 depends on FS_FAT ---help--- - When the default rcS file used when ETC_ROMFS is selected, it - will mount a FAT FS under /tmp. This is the number of sectors to use - with the FAT FS. Default is 1024. The amount of memory used by the - FAT FS will be ETC_FATSECTSIZE * ETC_FATNSECTORS bytes. + When ETC_ROMFS is selected and FS_TMPFS is disabled, the + default rc.sysinit script mounts a FAT FS under /tmp. This + is the number of sectors to use with the FAT FS. Default is + 1024. The amount of memory used by the FAT FS will be + ETC_FATSECTSIZE * ETC_FATNSECTORS bytes. config ETC_FATMOUNTPT string "FAT mount point" default "/tmp" depends on FS_FAT ---help--- - When the default rcS file used when ETC_ROMFS is selected, it - will mount a FAT FS under /tmp. This is the location where the FAT - FS will be mounted. Default is "/tmp". + When ETC_ROMFS is selected and FS_TMPFS is disabled, the + default rc.sysinit script mounts a FAT FS under /tmp. This + is the location where the FAT FS will be mounted. Default is + "/tmp". endif # ETC_ROMFS
