Changeset c0a70db in rtems-docs


Ignore:
Timestamp:
Mar 9, 2020, 7:51:47 AM (4 months ago)
Author:
Sebastian Huber <sebastian.huber@…>
Branches:
5, master
Children:
1af97ad
Parents:
4d74cbd
git-author:
Sebastian Huber <sebastian.huber@…> (03/09/20 07:51:47)
git-committer:
Sebastian Huber <sebastian.huber@…> (03/12/20 09:18:36)
Message:

c-user: Move "Filesystem Configuration"

Update #3836.

Location:
c-user/config
Files:
1 added
1 edited

Legend:

Unmodified
Added
Removed
  • c-user/config/index.rst

    r4d74cbd rc0a70db  
    2020    task-stack-alloc
    2121    msg-queue-buffer
    22 
    23 Filesystem Configuration
    24 ========================
    25 
    26 By default, the In-Memory Filesystem (IMFS) is used as the base filesystem (also
    27 known as root filesystem).  In order to save some memory for your application,
    28 you can disable the filesystem support with the
    29 :ref:`CONFIGURE_APPLICATION_DISABLE_FILESYSTEM` configuration option.
    30 Alternatively, you can strip down the features of the base filesystem with the
    31 :ref:`CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM` and
    32 :ref:`CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEM` configuration options.  These
    33 three configuration options are mutually exclusive.  They are intended for an
    34 advanced application configuration.
    35 
    36 Features of the IMFS can be disabled and enabled with the following
    37 configuration options:
    38 
    39 * :ref:`CONFIGURE_IMFS_DISABLE_CHMOD`
    40 
    41 * :ref:`CONFIGURE_IMFS_DISABLE_CHOWN`
    42 
    43 * :ref:`CONFIGURE_IMFS_DISABLE_LINK`
    44 
    45 * :ref:`CONFIGURE_IMFS_DISABLE_MKNOD`
    46 
    47 * :ref:`CONFIGURE_IMFS_DISABLE_MKNOD_FILE`
    48 
    49 * :ref:`CONFIGURE_IMFS_DISABLE_MOUNT`
    50 
    51 * :ref:`CONFIGURE_IMFS_DISABLE_READDIR`
    52 
    53 * :ref:`CONFIGURE_IMFS_DISABLE_READLINK`
    54 
    55 * :ref:`CONFIGURE_IMFS_DISABLE_RENAME`
    56 
    57 * :ref:`CONFIGURE_IMFS_DISABLE_RMNOD`
    58 
    59 * :ref:`CONFIGURE_IMFS_DISABLE_SYMLINK`
    60 
    61 * :ref:`CONFIGURE_IMFS_DISABLE_UNMOUNT`
    62 
    63 * :ref:`CONFIGURE_IMFS_DISABLE_UTIME`
    64 
    65 * :ref:`CONFIGURE_IMFS_ENABLE_MKFIFO`
    66 
    67 .. index:: CONFIGURE_APPLICATION_DISABLE_FILESYSTEM
    68 
    69 .. _CONFIGURE_APPLICATION_DISABLE_FILESYSTEM:
    70 
    71 CONFIGURE_APPLICATION_DISABLE_FILESYSTEM
    72 ----------------------------------------
    73 
    74 CONSTANT:
    75     ``CONFIGURE_APPLICATION_DISABLE_FILESYSTEM``
    76 
    77 DATA TYPE:
    78     Boolean feature macro.
    79 
    80 RANGE:
    81     Defined or undefined.
    82 
    83 DEFAULT VALUE:
    84     This is not defined by default. If no other root file system configuration
    85     parameters are specified, the IMFS will be used as the root file system.
    86 
    87 DESCRIPTION:
    88     This configuration parameter is defined if the application dose not intend
    89     to use any kind of filesystem support. This include the device
    90     infrastructure necessary to support ``printf()``.
    91 
    92 NOTES:
    93     None.
    94 
    95 .. index:: CONFIGURE_IMFS_ENABLE_MKFIFO
    96 
    97 .. _CONFIGURE_IMFS_ENABLE_MKFIFO:
    98 
    99 CONFIGURE_IMFS_ENABLE_MKFIFO
    100 ----------------------------
    101 
    102 CONSTANT:
    103     ``CONFIGURE_IMFS_ENABLE_MKFIFO``
    104 
    105 DATA TYPE:
    106     Boolean feature macro.
    107 
    108 RANGE:
    109     Defined or undefined.
    110 
    111 DEFAULT VALUE:
    112     This is not defined by default.
    113 
    114 DESCRIPTION:
    115     In case this configuration option is defined, then the support to make FIFOs
    116     is enabled in the root IMFS.
    117 
    118 .. index:: CONFIGURE_IMFS_DISABLE_CHMOD
    119 
    120 .. _CONFIGURE_IMFS_DISABLE_CHMOD:
    121 
    122 CONFIGURE_IMFS_DISABLE_CHMOD
    123 ----------------------------
    124 
    125 CONSTANT:
    126     ``CONFIGURE_IMFS_DISABLE_CHMOD``
    127 
    128 DATA TYPE:
    129     Boolean feature macro.
    130 
    131 RANGE:
    132     Defined or undefined.
    133 
    134 DEFAULT VALUE:
    135     This is not defined by default.
    136 
    137 DESCRIPTION:
    138     In case this configuration option is defined, then the support to change
    139     the mode is disabled in the root IMFS.
    140 
    141 .. index:: CONFIGURE_IMFS_DISABLE_CHOWN
    142 
    143 .. _CONFIGURE_IMFS_DISABLE_CHOWN:
    144 
    145 CONFIGURE_IMFS_DISABLE_CHOWN
    146 ----------------------------
    147 
    148 CONSTANT:
    149     ``CONFIGURE_IMFS_DISABLE_CHOWN``
    150 
    151 DATA TYPE:
    152     Boolean feature macro.
    153 
    154 RANGE:
    155     Defined or undefined.
    156 
    157 DEFAULT VALUE:
    158     This is not defined by default.
    159 
    160 DESCRIPTION:
    161     In case this configuration option is defined, then the support to change
    162     the owner is disabled in the root IMFS.
    163 
    164 .. index:: CONFIGURE_IMFS_DISABLE_LINK
    165 
    166 .. _CONFIGURE_IMFS_DISABLE_LINK:
    167 
    168 CONFIGURE_IMFS_DISABLE_LINK
    169 ---------------------------
    170 
    171 CONSTANT:
    172     ``CONFIGURE_IMFS_DISABLE_LINK``
    173 
    174 DATA TYPE:
    175     Boolean feature macro.
    176 
    177 RANGE:
    178     Defined or undefined.
    179 
    180 DEFAULT VALUE:
    181     This is not defined by default.
    182 
    183 DESCRIPTION:
    184     In case this configuration option is defined, then the support to create
    185     hard links is disabled in the root IMFS.
    186 
    187 .. index:: CONFIGURE_IMFS_DISABLE_MKNOD
    188 
    189 .. _CONFIGURE_IMFS_DISABLE_MKNOD:
    190 
    191 CONFIGURE_IMFS_DISABLE_MKNOD
    192 ----------------------------
    193 
    194 CONSTANT:
    195     ``CONFIGURE_IMFS_DISABLE_MKNOD``
    196 
    197 DATA TYPE:
    198     Boolean feature macro.
    199 
    200 RANGE:
    201     Defined or undefined.
    202 
    203 DEFAULT VALUE:
    204     This is not defined by default.
    205 
    206 DESCRIPTION:
    207     In case this configuration option is defined, then the support to make
    208     directories, devices, regular files and FIFOs is disabled in the root IMFS.
    209 
    210 .. index:: CONFIGURE_IMFS_DISABLE_MKNOD_FILE
    211 
    212 .. _CONFIGURE_IMFS_DISABLE_MKNOD_FILE:
    213 
    214 CONFIGURE_IMFS_DISABLE_MKNOD_FILE
    215 ---------------------------------
    216 
    217 CONSTANT:
    218     ``CONFIGURE_IMFS_DISABLE_MKNOD_FILE``
    219 
    220 DATA TYPE:
    221     Boolean feature macro.
    222 
    223 RANGE:
    224     Defined or undefined.
    225 
    226 DEFAULT VALUE:
    227     This is not defined by default.
    228 
    229 DESCRIPTION:
    230     In case this configuration option is defined, then the support to make
    231     regular files is disabled in the root IMFS.
    232 
    233 .. index:: CONFIGURE_IMFS_DISABLE_MOUNT
    234 
    235 .. _CONFIGURE_IMFS_DISABLE_MOUNT:
    236 
    237 CONFIGURE_IMFS_DISABLE_MOUNT
    238 ----------------------------
    239 
    240 CONSTANT:
    241     ``CONFIGURE_IMFS_DISABLE_MOUNT``
    242 
    243 DATA TYPE:
    244     Boolean feature macro.
    245 
    246 RANGE:
    247     Defined or undefined.
    248 
    249 DEFAULT VALUE:
    250     This is not defined by default.
    251 
    252 DESCRIPTION:
    253     In case this configuration option is defined, then the support to mount
    254     other file systems is disabled in the root IMFS.
    255 
    256 .. index:: CONFIGURE_IMFS_DISABLE_READDIR
    257 
    258 .. _CONFIGURE_IMFS_DISABLE_READDIR:
    259 
    260 CONFIGURE_IMFS_DISABLE_READDIR
    261 ------------------------------
    262 
    263 CONSTANT:
    264     ``CONFIGURE_IMFS_DISABLE_READDIR``
    265 
    266 DATA TYPE:
    267     Boolean feature macro.
    268 
    269 RANGE:
    270     Defined or undefined.
    271 
    272 DEFAULT VALUE:
    273     This is not defined by default.
    274 
    275 DESCRIPTION:
    276     In case this configuration option is defined, then the support to read a
    277     directory is disabled in the root IMFS.  It is still possible to open nodes
    278     in a directory.
    279 
    280 .. index:: CONFIGURE_IMFS_DISABLE_READLINK
    281 
    282 .. _CONFIGURE_IMFS_DISABLE_READLINK:
    283 
    284 CONFIGURE_IMFS_DISABLE_READLINK
    285 -------------------------------
    286 
    287 CONSTANT:
    288     ``CONFIGURE_IMFS_DISABLE_READLINK``
    289 
    290 DATA TYPE:
    291     Boolean feature macro.
    292 
    293 RANGE:
    294     Defined or undefined.
    295 
    296 DEFAULT VALUE:
    297     This is not defined by default.
    298 
    299 DESCRIPTION:
    300     In case this configuration option is defined, then the support to read
    301     symbolic links is disabled in the root IMFS.
    302 
    303 .. index:: CONFIGURE_IMFS_DISABLE_RENAME
    304 
    305 .. _CONFIGURE_IMFS_DISABLE_RENAME:
    306 
    307 CONFIGURE_IMFS_DISABLE_RENAME
    308 -----------------------------
    309 
    310 CONSTANT:
    311     ``CONFIGURE_IMFS_DISABLE_RENAME``
    312 
    313 DATA TYPE:
    314     Boolean feature macro.
    315 
    316 RANGE:
    317     Defined or undefined.
    318 
    319 DEFAULT VALUE:
    320     This is not defined by default.
    321 
    322 DESCRIPTION:
    323     In case this configuration option is defined, then the support to rename
    324     nodes is disabled in the root IMFS.
    325 
    326 .. index:: CONFIGURE_IMFS_DISABLE_RMNOD
    327 
    328 .. _CONFIGURE_IMFS_DISABLE_RMNOD:
    329 
    330 CONFIGURE_IMFS_DISABLE_RMNOD
    331 ----------------------------
    332 
    333 CONSTANT:
    334     ``CONFIGURE_IMFS_DISABLE_RMNOD``
    335 
    336 DATA TYPE:
    337     Boolean feature macro.
    338 
    339 RANGE:
    340     Defined or undefined.
    341 
    342 DEFAULT VALUE:
    343     This is not defined by default.
    344 
    345 DESCRIPTION:
    346     In case this configuration option is defined, then the support to remove
    347     nodes is disabled in the root IMFS.
    348 
    349 .. index:: CONFIGURE_IMFS_DISABLE_SYMLINK
    350 
    351 .. _CONFIGURE_IMFS_DISABLE_SYMLINK:
    352 
    353 CONFIGURE_IMFS_DISABLE_SYMLINK
    354 ------------------------------
    355 
    356 CONSTANT:
    357     ``CONFIGURE_IMFS_DISABLE_SYMLINK``
    358 
    359 DATA TYPE:
    360     Boolean feature macro.
    361 
    362 RANGE:
    363     Defined or undefined.
    364 
    365 DEFAULT VALUE:
    366     This is not defined by default.
    367 
    368 DESCRIPTION:
    369     In case this configuration option is defined, then the support to create
    370     symbolic links is disabled in the root IMFS.
    371 
    372 .. index:: CONFIGURE_IMFS_DISABLE_UNMOUNT
    373 
    374 .. _CONFIGURE_IMFS_DISABLE_UNMOUNT:
    375 
    376 CONFIGURE_IMFS_DISABLE_UNMOUNT
    377 ------------------------------
    378 
    379 CONSTANT:
    380     ``CONFIGURE_IMFS_DISABLE_UNMOUNT``
    381 
    382 DATA TYPE:
    383     Boolean feature macro.
    384 
    385 RANGE:
    386     Defined or undefined.
    387 
    388 DEFAULT VALUE:
    389     This is not defined by default.
    390 
    391 DESCRIPTION:
    392     In case this configuration option is defined, then the support to unmount
    393     file systems is disabled in the root IMFS.
    394 
    395 .. index:: CONFIGURE_IMFS_DISABLE_UTIME
    396 
    397 .. _CONFIGURE_IMFS_DISABLE_UTIME:
    398 
    399 CONFIGURE_IMFS_DISABLE_UTIME
    400 ----------------------------
    401 
    402 CONSTANT:
    403     ``CONFIGURE_IMFS_DISABLE_UTIME``
    404 
    405 DATA TYPE:
    406     Boolean feature macro.
    407 
    408 RANGE:
    409     Defined or undefined.
    410 
    411 DEFAULT VALUE:
    412     This is not defined by default.
    413 
    414 DESCRIPTION:
    415     In case this configuration option is defined, then the support to change
    416     times is disabled in the root IMFS.
    417 
    418 .. index:: CONFIGURE_IMFS_MEMFILE_BYTES_PER_BLOCK
    419 
    420 .. _CONFIGURE_IMFS_MEMFILE_BYTES_PER_BLOCK:
    421 
    422 CONFIGURE_IMFS_MEMFILE_BYTES_PER_BLOCK
    423 --------------------------------------
    424 
    425 CONSTANT:
    426     ``CONFIGURE_IMFS_MEMFILE_BYTES_PER_BLOCK``
    427 
    428 DATA TYPE:
    429     Boolean feature macro.
    430 
    431 RANGE:
    432     Valid values for this configuration parameter are a power of two (2)
    433     between 16 and 512 inclusive.  In other words, valid values are 16, 32, 64,
    434     128, 256,and 512.
    435 
    436 DEFAULT VALUE:
    437     The default IMFS block size is 128 bytes.
    438 
    439 DESCRIPTION:
    440     This configuration parameter specifies the block size for in-memory files
    441     managed by the IMFS. The configured block size has two impacts. The first
    442     is the average amount of unused memory in the last block of each file. For
    443     example, when the block size is 512, on average one-half of the last block
    444     of each file will remain unused and the memory is wasted. In contrast, when
    445     the block size is 16, the average unused memory per file is only 8
    446     bytes. However, it requires more allocations for the same size file and
    447     thus more overhead per block for the dynamic memory management.
    448 
    449     Second, the block size has an impact on the maximum size file that can be
    450     stored in the IMFS. With smaller block size, the maximum file size is
    451     correspondingly smaller. The following shows the maximum file size possible
    452     based on the configured block size:
    453 
    454     - when the block size is 16 bytes, the maximum file size is 1,328 bytes.
    455 
    456     - when the block size is 32 bytes, the maximum file size is 18,656 bytes.
    457 
    458     - when the block size is 64 bytes, the maximum file size is 279,488 bytes.
    459 
    460     - when the block size is 128 bytes, the maximum file size is 4,329,344 bytes.
    461 
    462     - when the block size is 256 bytes, the maximum file size is 68,173,568 bytes.
    463 
    464     - when the block size is 512 bytes, the maximum file size is 1,082,195,456
    465       bytes.
    466 
    467 .. index:: CONFIGURE_MAXIMUM_DEVICES
    468 
    469 .. _CONFIGURE_MAXIMUM_DEVICES:
    470 
    471 CONFIGURE_MAXIMUM_DEVICES
    472 -------------------------
    473 
    474 CONSTANT:
    475     ``CONFIGURE_MAXIMUM_DEVICES``
    476 
    477 DATA TYPE:
    478     Unsigned integer (``uint32_t``).
    479 
    480 RANGE:
    481     Positive.
    482 
    483 DEFAULT VALUE:
    484     If ``BSP_MAXIMUM_DEVICES`` is defined, then the default value is
    485     ``BSP_MAXIMUM_DEVICES``, otherwise the default value is 4.
    486 
    487 DESCRIPTION:
    488     ``CONFIGURE_MAXIMUM_DEVICES`` is defined to the number of individual
    489     devices that may be registered in the device file system (devFS).
    490 
    491 NOTES:
    492     This option is specific to the device file system (devFS) and should not be
    493     confused with the ``CONFIGURE_MAXIMUM_DRIVERS`` option.  This parameter
    494     only impacts the devFS and thus is only used by ``<rtems/confdefs.h>`` when
    495     ``CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEM`` is specified.
    496 
    497 .. index:: CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEM
    498 
    499 .. _CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEM:
    500 
    501 CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEM
    502 --------------------------------------
    503 
    504 CONSTANT:
    505     ``CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEM``
    506 
    507 DATA TYPE:
    508     Boolean feature macro.
    509 
    510 RANGE:
    511     Defined or undefined.
    512 
    513 DEFAULT VALUE:
    514     This is not defined by default. If no other root file system configuration
    515     parameters are specified, the IMFS will be used as the root file system.
    516 
    517 DESCRIPTION:
    518     This configuration parameter is defined if the application wishes to use
    519     the device-only filesytem as the root file system.
    520 
    521 NOTES:
    522     The device-only filesystem supports only device nodes and is smaller in
    523     executable code size than the full IMFS and miniIMFS.
    524 
    525     The devFS is comparable in functionality to the pseudo-filesystem name
    526     space provided before RTEMS release 4.5.0.
    527 
    528 .. index:: CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM
    529 
    530 .. _CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM:
    531 
    532 CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM
    533 -----------------------------------------
    534 
    535 CONSTANT:
    536     ``CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM``
    537 
    538 DATA TYPE:
    539     Boolean feature macro.
    540 
    541 RANGE:
    542     Defined or undefined.
    543 
    544 DEFAULT VALUE:
    545     This is not defined by default.
    546 
    547 DESCRIPTION:
    548     In case this configuration option is defined, then the following
    549     configuration options will be defined as well
    550 
    551     - ``CONFIGURE_IMFS_DISABLE_CHMOD``,
    552 
    553     - ``CONFIGURE_IMFS_DISABLE_CHOWN``,
    554 
    555     - ``CONFIGURE_IMFS_DISABLE_UTIME``,
    556 
    557     - ``CONFIGURE_IMFS_DISABLE_LINK``,
    558 
    559     - ``CONFIGURE_IMFS_DISABLE_SYMLINK``,
    560 
    561     - ``CONFIGURE_IMFS_DISABLE_READLINK``,
    562 
    563     - ``CONFIGURE_IMFS_DISABLE_RENAME``, and
    564 
    565     - ``CONFIGURE_IMFS_DISABLE_UNMOUNT``.
     22    filesystem
    56623
    56724Block Device Cache Configuration
Note: See TracChangeset for help on using the changeset viewer.