| .. _shell-fs-sample: |
| |
| File system shell example |
| ######################### |
| |
| Overview |
| ******** |
| |
| This example provides shell access to a LittleFS file system partition in flash. |
| |
| Requirements |
| ************ |
| |
| A board with LittleFS file system support and UART console |
| |
| Building |
| ******** |
| |
| Native Posix |
| ============ |
| |
| Before starting a build, make sure that the i386 pkgconfig directory is in your |
| search path and that a 32-bit version of libfuse is installed. For more |
| background information on this requirement see :ref:`native_posix`. |
| |
| .. code-block:: console |
| |
| export PKG_CONFIG_PATH=/usr/lib/i386-linux-gnu/pkgconfig |
| |
| .. zephyr-app-commands:: |
| :zephyr-app: samples/subsys/shell/fs |
| :board: native_posix |
| :goals: build |
| :compact: |
| |
| See :ref:`native_posix` on how to connect to the UART. |
| |
| Reel Board |
| ========== |
| |
| .. zephyr-app-commands:: |
| :zephyr-app: samples/subsys/shell/fs |
| :board: reel_board |
| :goals: build |
| :compact: |
| |
| Particle Xenon |
| ============== |
| |
| This target is customized to support the same SPI NOR partition table as |
| the :ref:`littlefs-sample`. |
| |
| .. zephyr-app-commands:: |
| :zephyr-app: samples/subsys/shell/fs |
| :board: particle_xenon |
| :goals: build |
| :compact: |
| |
| Running |
| ******* |
| |
| Once the board has booted, you will be presented with a shell prompt. |
| All file system related commands are available as sub-commands of fs. |
| |
| Begin by mounting the LittleFS file system. |
| |
| .. code-block:: console |
| |
| fs mount littlefs /lfs |
| |
| Files System Shell Commands |
| =========================== |
| |
| Mount |
| ----- |
| |
| Mount a file system partition to a given mount point |
| |
| .. code-block:: console |
| |
| fs mount (littlefs|fat) <path> |
| |
| Ls |
| -- |
| |
| List all files and directories in a given path |
| |
| .. code-block:: console |
| |
| fs ls [path] |
| |
| Cd |
| -- |
| |
| Change current working directory to given path |
| |
| .. code-block:: console |
| |
| fs cd [path] |
| |
| Pwd |
| --- |
| |
| List current working directory |
| |
| .. code-block:: console |
| |
| fs pwd |
| |
| Write |
| ----- |
| |
| Write hexadecimal numbers to a given file. |
| Optionally a offset in the file can be given. |
| |
| .. code-block:: console |
| |
| fs write <path> [-o <offset>] <hex number> ... |
| |
| Read |
| ---- |
| |
| Read file and dump in hex and ASCII format |
| |
| .. code-block:: console |
| |
| fs read <path> |
| |
| Trunc |
| ----- |
| |
| Truncate a given file |
| |
| .. code-block:: console |
| |
| fs trunc <path> |
| |
| Mkdir |
| ----- |
| |
| Create a directory |
| |
| .. code-block:: console |
| |
| fs mkdir <path> |
| |
| Rm |
| -- |
| |
| Remove a file or directory |
| |
| .. code-block:: console |
| |
| fs rm <path> |
| |
| Flash Host Access |
| ================= |
| |
| For the Native POSIX board the flash partitions can be accessed from the host |
| Linux system. |
| |
| By default the flash partitions are accessible through the directory *flash* |
| relative to the directory where the build is started. |