Difference between revisions of "OpenSTLinux directory structure"

[quality revision] [quality revision]
m (moved Linux directory structure to OpenSTLinux directory structure: Dedicated to OpenSTLinux)
 
m
 

Template:ArticleMainWriter Template:ReviewersList Template:ArticleApprovedVersion

This article aims at presenting the directory structure of the Linux root file system available on STM32 board.

All files and directories are located under the root directory (/), in compliance with the File system Hierarchy Standard.

This root directory corresponds to the Linux root file system (rootfs partition), as defined in Flash partitions. Note also that the user file system (userfs partition) and , the boot file system (bootfs partition) and the vendor file system (vendorfs partition) can be accessed through the /usr/local mounting point and , through the /boot mounting point, and through the /vendor mounting point respectively.

Info.png In practice, this article uses the release STM32MP15-Ecosystem-v3.0.0 for the STM32MPU Embedded Software distribution release issued on 03-July-2018 as an example to illustrate the Linux directory structure. If you are using a different release, the names of the directories and files might differ.

The directories are shown in green, while the files are in black.

/                            Root directory (rootfs partition)
├── bin                      Essential user binaries (e.g. /bin/cat, /bin/ls, /bin/cp...)
│   └── [...]
├── boot                     Mounting point for the boot file system (bootfs partition): see below
├── config
├── dev                      Device files (e.g. /dev/null, /dev/tty0, /dev/video0...)
├── etc                      System-wide configuration files (e.g. /etc/xdg/weston/weston.ini Weston configuration file...)
├── home                     Users' home directories (containing saved files, personal settings...)
├── lib                      Essential system libraries for the binaries in /bin and /sbin (e.g. libncurses.so.5.9...)
│   ├── modules
│   │   └── 45.1410.48xxx
│   │       ├── kernel       Linux kernel modules
│   │       │   └── [...]
│   │       ├── modules.dep  List of module dependencies (generated by depmod)
│   │       └── [...]
│   └── [...]
├── lost+found
├── media                    Mount points for removable media devices
├── mnt                      Temporarily mounted file systems
├── proc                     Pseudo filesystem providing process and kernel information as files (e.g. /proc/cpuinfo, /proc/version...)
├── root                     Home directory for the root user)
├── run                      Run-time variable data (information about the running system since last boot)
├── sbin                     Essential system binaries (e.g. /sbin/fsck, /sbin/init, /sbin/modprobe...)
├── sys                      Information about devices, drivers, and some kernel features (e.g. /sys/kernel/debug akadebgufs...)
├── tmp                      Temporary files
├── usr                      User utilities and applications
│   ├── bin                  Non-essential user binaries (e.g. /usr/bin/lsusb, /usr/bin/weston...)
│   ├── lib                  Non-essential system libraries for the binaries in /usr/bin and /usr/sbin
│   ├── local                Mounting point for the user file system (userfs partition): see below
│   ├── sbin                 Non-essential system binaries (e.g. /usr/sbin/alsactl, /usr/sbin/weston.sh...)
│   ├── share                Architecture-independent (shared) data
│   └── [...]
└──├── var                      Variable files
└── vendor                   Mounting point for the vendor file system (vendorfs partition): see below

  • Boot file system mounting point
/boot  bootfs partition
├── stm32mp157cstm32mp157a-ddk1[*].dtb  Linux kernel device tree blob files → STM32MP15STM32MP157A-DK1
Discovery kits
├── stm32mp157c-dk2[*].dtb  Linux kernel device tree blob files → STM32MP157C-DK2
├── stm32mp157c-eev&[*].dtb  Linux kernel device tree blob files → STM32MP15 Evaluation boards
STM32MP157C-EV1
├── uImage                  Linux kernel binary image file (with U-Boot wrapper)
└── [...]
  • User file system mounting point
/usr/local  userfs partition
├── Cube-M4-examples    ├── STM32MP15_DISCO  Examples of firmwares running on Arm Cortex-M4  STM32MP15 Discovery kits       ├── GPIO_EXTI              Examples for GPIOSTM32CubeMP1 EXTIPackage examplerunning startedon by Linux Remote Processor Framework
Arm® Cortex®-M4
├── STM32MP157C-DK2     ├── fw_cortex_m4.sh                              Examples of firmwares running on Arm Cortex-M4  STM32MP157C-DK2 (see more Scriptin to start/stop the example
STM32CubeMP1 Package)
│   │   ├── libApplications
│   │   │   ├── OpenAMP
 └── firmware|   |    ├── OpenAMP_TTY_echo     └── STM32MP15_M4_DISCO_GPIO_EXTI.elf                FirmwareOpenAMP forTTY thisecho exampleapplication
│   │   │   └──| README   |    ├── fw_cortex_m4.sh                  Script to start/stop this application
         |    |    ├── lib
Helper file for this example  |   ├── OpenAMP_TTY_echo|       └── firmware
OpenAMP TTY echo example started by Linux Remote Processor Framework|    |    ├── fw_cortex_m4.sh    └── OpenAMP_TTY_echo.elf     Firmware for this application
         |    |    └── README              Script to start/stop the example         Helper ├──file libfor this application
 │   │   │   └── firmware   └── [...]             └── STM32MP15_M4_DISCO_OpenAMP_TTY_echo.elf         Firmware for this example       Other OpenAMP applications └──with READMEthe same structure (script, helper file and firmware)
         └── [...]                                Helper file for this example  Other applications with the same └── OpenAMP_TTY_echo_wakeup  OpenAMP TTY echo wakeup example started by Linux Remote Processor Frameworkstructure (script, helper file and firmware)
│   │   ├── Demonstrations
│   │       ├── fwAI_cortexCharacter_m4.shRecognition                   Artificial intelligence character recognition demonstration
              └── lib
 Script to start/stop the example       ├── lib └── firmware
     └── firmware
              └── STM32MP15AI_M4_DISCO_OpenAMP_TTY_echo_wakeupCharacter_Recognition.elf  Firmware for this exampledemonstration
│   │       └── READMEExamples
          ├── GPIO
          |                           Helper file for this example
│   └── STM32MP15_EVAL└── GPIO_EXTI   Examples of firmwares running on Arm Cortex-M4  STM32MP15 Evaluation boards        ├── GPIO_EXTI       GPIO EXTI example
      GPIO EXTI example started by| Linux Remote Processor Framework     ├── fw_cortex_m4.sh                  Script to start/stop this example
          |        Script to├── start/stoplib
the example  |   ├── lib        └── firmware
│   │   └── firmware   |         │       └── STM32MP15_M4_EVAL_GPIO_EXTI.elf                 Firmware for this example    └── README   |         └── README                                     Helper file for this example    ├── OpenAMP_TTY_echo  └── [...]      OpenAMP TTY echo example started by Linux Remote Processor Framework           ├── fw_cortex_m4.sh           Other examples with the same structure (script, helper file and firmware)

   └── STM32MP157C-EV1               Script to start/stop the example       Examples of firmwares running ├──on libArm Cortex-M4  STM32MP157C-EV1 (see more in STM32CubeMP1 Package)
  └── firmware   ├── Applications
          └── STM32MP15_M4_EVAL_OpenAMP_TTY_echo.elf[...]          Firmware for this example           └── README             Applications with the same structure (script, helper file and firmware)
       ├── Demonstrations
          └── [...]       Helper file for this example        ├── OpenAMP_TTY_echo_wakeup  OpenAMP TTY echo wakeup example started by Linux Remote Processor Framework      Demonstrations with the same structure ├── fw_cortex_m4.sh    (script, helper file and firmware)       └── Examples
           └── [...]                Script to start/stop the example           ├── lib      Examples with the same structure (script, helper file └──and firmware)

├── Linux-A7-examples                └── STM32MP15_M4_EVAL_OpenAMP_TTY_echo_wakeup.elf   Firmware for this exampleExamples for Linux® running on Arm® Cortex®-A7
└──├── READMEGPIO                         GPIO examples
      ├── buttons
         ├── button_gpio_exti.sh  Script   Helper file for this example   | └── QSPI_ReadWrite_IT └── README.md      QSPI Read/Write in interrupt mode started byHelper Linuxfile Remotefor Processorthis Frameworkexample   └── leds    ├── fw_cortex_m4.sh                Same structure for this example relative to the leds
          └── [...]
   └── Script[...] to start/stop the example            ├── lib       Same structure for all the examples
├── demo └── firmware                   └── STM32MP15_M4_EVAL_QSPI_ReadWrite_IT.elf       All files Firmware for this exampleneeded (e.g. Python scripts, pictures, media files...) for the GTK demo launcher   └── README[...]
├── lost+found
└── weston-start-at-startup
    └── start_up_demo_launcher.sh    Script to start the GTK demo launcher

  • Vendor file system mounting point
/vendor    vendorfs partition
├── [*].so  Specific vendor libraries (e.g. Vivante libraries OpenGL ES, OpenVG and           Helper file for this example
└── lost+foundEGL)
└── [...]


<noinclude>

{{ArticleMainWriter | Jean-ChristopheT}}
{{ReviewersList | NathalieS, BernardP, RomualdJ, DenisH}}
{{ArticleApprovedVersion | Jean-ChristopheT | NathalieS(29May'18, Passed), BernardP (PASS, 28May'18), RomualdJ (Passed, 1Jun'18), DenisH (Passed, 25May'18) | No previous approved version | AnneJ - 11Jun'18 - 7653 | 20Jun'18}}

[[Category:OpenSTLinux filesystem]]</noinclude>

This article aims at presenting the directory structure of the Linux root file system available on STM32 board.

All files and directories are located under the root directory (''/''), in compliance with the [[File Hierarchy Standard (FHS)|File system Hierarchy Standard]].

This root directory corresponds to the Linux root file system (rootfs partition), as defined in [[STM32MP15 Flash mapping#Flash partitions|Flash partitions]]. Note also that the user file system (userfs partition) and , the boot file system (bootfs partition) and the vendor file system (vendorfs partition) can be accessed through the ''/usr/local'' mounting point and , through the ''/boot'' mounting point, and through the ''/vendor'' mounting point respectively.
{{info|In practice, this article uses the release '''STM32MP15-Ecosystem-v{{EcosystemRelease/Revision | revision=latest}}''' for the STM32MPU Embedded Software distribution release issued on 03-July-2018 as an example to illustrate the Linux directory structure. If you are using a different release, the names of the directories and files might differ.}}{{UpdateNeededForNewRelease|The trees below shall be updated periodically, even if the information banner specifies that they might not be up-to-date}}

The directories are shown in {{Green|green}}, while the files are in black.

 {{Green|/}}                            {{Highlight|'''Root directory (rootfs partition)'''}}
 ├── {{Green|bin}}                      {{Highlight|Essential user binaries (e.g. ''/bin/cat'', ''/bin/ls'', ''/bin/cp''...)}}
 │   └── [...]
 ├── {{Green|boot}}                     {{Highlight|Mounting point for the boot file system (bootfs partition): see below}}
 ├── {{Green|config}}
 ├── {{Green|dev}}                      {{Highlight|Device files (e.g. ''/dev/null'', ''/dev/tty0'', ''/dev/video0''...)}}
 ├── {{Green|etc}}                      {{Highlight|System-wide configuration files (e.g. ''/etc/xdg/weston/weston.ini'' Weston configuration file...)}}
 ├── {{Green|home}}                     {{Highlight|Users' home directories (containing saved files, personal settings...)}}
 ├── {{Green|lib}}                      {{Highlight|Essential system libraries for the binaries in ''/bin'' and ''/sbin'' (e.g. ''libncurses.so.5.9''...)}}
 │   ├── {{Green|modules}}
 │   │   └── {{Green|4.14.485.10.''xxx''}}
 │   │       ├── {{Green|kernel}}       {{Highlight|Linux kernel modules}}
 │   │       │   └── [...]
 │   │       ├── modules.dep  {{Highlight|List of module dependencies (generated by ''depmod'')}}
 │   │       └── [...]
 │   └── [...]
 ├── {{Green|lost+found}}
 ├── {{Green|media}}                    {{Highlight|Mount points for removable media devices}} ├── {{Green|mnt}}                      {{Highlight|Temporarily mounted file systems}}
 ├── {{Green|proc}}                     {{Highlight|[[Pseudo filesystem|Pseudo filesystem]] providing process and kernel information as files (e.g. ''/proc/cpuinfo'', ''/proc/version''...)}}
 ├── {{Green|root}}                     {{Highlight|Home directory for the root user)}}
 ├── {{Green|run}}                      {{Highlight|Run-time variable data (information about the running system since last boot)}}
 ├── {{Green|sbin}}                     {{Highlight|Essential system binaries (e.g. ''/sbin/fsck'', ''/sbin/init'', ''/sbin/modprobe''...)}}
 ├── {{Green|sys}}                      {{Highlight|Information about devices, drivers, and some kernel features (e.g. ''/sys/kernel/debug'' aka''debgufs''...)}}
 ├── {{Green|tmp}}                      {{Highlight|Temporary files}}
 ├── {{Green|usr}}                      {{Highlight|User utilities and applications}}
 │   ├── {{Green|bin}}                  {{Highlight|Non-essential user binaries (e.g. ''/usr/bin/lsusb'', ''/usr/bin/weston''...)}}
 │   ├── {{Green|lib}}                  {{Highlight|Non-essential system libraries for the binaries in ''/usr/bin'' and ''/usr/sbin''}}
 │   ├── {{Green|local}}                {{Highlight|Mounting point for the user file system (userfs partition): see below}}
 │   ├── {{Green|sbin}}                 {{Highlight|Non-essential system binaries (e.g. ''/usr/sbin/alsactl'', ''/usr/sbin/weston.sh''...)}}
 │   ├── {{Green|share}}                {{Highlight|Architecture-independent (shared) data}}
 │   └── [...]└──├── {{Green|var}}                      {{Highlight|Variable files}}└── {{Green|vendor}}                   {{Highlight|Mounting point for the vendor file system (vendorfs partition): see below}}
* Boot file system mounting point
 {{Green|/boot}}  {{Highlight|'''bootfs partition'''}}
 ├── stm32mp157c-dstm32mp157a-dk1[*].dtb  {{Highlight|Linux kernel device tree blob files → STM32MP15 Discovery kits}}
 ├── stm32mp157c-eSTM32MP157A-DK1}}
 ├── stm32mp157c-dk2[*].dtb  {{Highlight|Linux kernel device tree blob files → STM32MP157C-DK2}}
 ├── stm32mp157c-ev&[*].dtb  {{Highlight|Linux kernel device tree blob files → STM32MP15 Evaluation boardsSTM32MP157C-EV1}}
 ├── uImage                  {{Highlight|Linux kernel binary image file (with U-Boot wrapper)}}
 └── [...]

* User file system mounting point
 {{Green|/usr/local}}  {{Highlight|'''userfs partition'''}}
 ├── {{Green|Cube-M4-examples}}  │   ├── {{Green|STM32MP15_DISCO}}  {{Highlight|Examples of firmwares running on Arm Cortex-M4 → STM32MP15 Discovery kits}}
 │   │   ├── {{Green|GPIO_EXTI}}                {{Highlight|GPIO EXTI example started by Linux Remote Processor Framework}}
 │   │   │   ├── fw_cortex_m4.sh                                         {{Highlight|Script to start/stop the example}}
 │   │   │   ├── {{Green|lib}}
 │   │   │   │   └── {{Green|firmware}}
 │   │   │   │       └── STM32MP15_M4_DISCO_GPIO_EXTI.elf                {{Highlight|Firmware for this example}}
 │   │   │   └── README                                                  {{Highlight|Helper file for this example}}
 │   │   ├── {{Green|OpenAMP_TTY_echo}}         {{Highlight|OpenAMP TTY echo example started by Linux Remote Processor Framework}}
 │   │   │   ├── fw_cortex_m4.sh                                         {{Highlight|Script to start/stop the example}}
 │   │   │   ├── {{Green|lib}}
 │   │   │   │   └── {{Green|firmware}}
 │   │   │   │       └── STM32MP15_M4_DISCO_OpenAMP_TTY_echo.elf         {{Highlight|Firmware for this example}}
 │   │   │   └── README                                                  {{Highlight|Helper file for this example}}
 │   │   └── {{Green|OpenAMP_TTY_echo_wakeup}}  {{Highlight|OpenAMP TTY echo wakeup example started by Linux Remote Processor Framework}}
 │   │       ├── fw_cortex_m4.sh                                         {{Highlight|Script to start/stop the example}}
 │   │       ├── {{Green|lib}}
 │   │       │   └── {{Green|firmware}}
 │   │       │       └── STM32MP15_M4_DISCO_OpenAMP_TTY_echo_wakeup.elf  {{Highlight|Firmware for this example}}
 │   │       └── README                                                  {{Highlight|Helper file for this example}}

 │   └── {{Green|STM32MP15_EVAL}}   {{Highlight|Examples of firmwares running on Arm Cortex-M4 → STM32MP15 Evaluation boards}}
 │       ├── {{Green|GPIO_EXTI}}                {{Highlight|GPIO EXTI example started by Linux Remote Processor Framework}}
 │       │   ├── fw_cortex_m4.sh                                                                              {{Highlight|Examples for STM32CubeMP1 Package running on Arm<sup>&reg;</sup> Cortex<sup>&reg;</sup>-M4}}
 │   ├── {{Green|STM32MP157C-DK2}}                                    {{Highlight|Examples of firmwares running on Arm Cortex-M4 → STM32MP157C-DK2 (see more in [[STM32CubeMP1 Package]])}}
 │   │   ├── {{Green|Applications}}
 │   │   │   ├── {{Green|OpenAMP}}
 │   │   |   |    ├── {{Green|OpenAMP_TTY_echo}}                      {{Highlight|OpenAMP TTY echo application}}
 │   │   │   |    |    ├── fw_cortex_m4.sh                  {{Highlight|Script to start/stop this application}}
 │   │   │   |    |    ├── {{Green|lib}}
 │   │   │   |    |    │   └── {{Green|firmware}}
 │   │   │   |    |    │       └── OpenAMP_TTY_echo.elf     {{Highlight|Firmware for this application}}
 │   │   │   |    |    └── README                           {{Highlight|Helper file for this application}}
 │   │   │   │    └── [...]                                 {{Highlight|Other OpenAMP applications with the same structure (script, helper file and firmware)}}
 │   │   │   └── [...]                                      {{Highlight|Other applications with the same structure (script, helper file and firmware)}}
 │   │   ├── {{Green|Demonstrations}}
 │   │   │   ├── {{Green|AI_Character_Recognition}}                   {{Highlight|Artificial intelligence character recognition demonstration}}
 │   │   │        └── {{Green|lib}}
 │   │   │            └── {{Green|firmware}}
 │   │   │                └── AI_Character_Recognition.elf  {{Highlight|Firmware for this demonstration}}
 │   │   └── {{Green|Examples}}
 │   │       ├── {{Green|GPIO}}
 │   │       |    └── {{Green|GPIO_EXTI}}                             {{Highlight|GPIO EXTI example}}
 │   │       |         ├── fw_cortex_m4.sh                  {{Highlight|Script to start/stop thethis example}}
 │   │       |         ├── {{Green|lib}}
 │   │       |         │   └── {{Green|firmware}}
 │       │   │       └── STM32MP15_M4_EVAL_GPIO_EXTI.elf                 │       |         │       └── GPIO_EXTI.elf            {{Highlight|Firmware for this example}}
 │       └── README                                                      |         └── README                           {{Highlight|Helper file for this example}}
 │       ├── {{Green|OpenAMP_TTY_echo}}         {{Highlight|OpenAMP TTY echo example started by Linux Remote Processor Framework}}
 │       │   ├── fw_cortex_m4.sh                                         {{Highlight|Script to start/stop the example}}
 │       │   ├── {{Green|lib}}
 │       │   │   └── {{Green|firmware}}
 │       │   │       └── STM32MP15_M4_EVAL_OpenAMP_TTY_echo.elf          {{Highlight|Firmware for this example}}
 │       │   └── README                                                  {{Highlight|Helper file for this example}}
 │       ├── {{Green|OpenAMP_TTY_echo_wakeup}}  {{Highlight|OpenAMP TTY echo wakeup example started by Linux Remote Processor Framework}}
 │       │   ├── fw_cortex_m4.sh                                         {{Highlight|Script to start/stop the example}}
 │       │   ├── {{Green|lib}}
 │       │   │   └── {{Green|firmware}}
 │       │   │       └── STM32MP15_M4_EVAL_OpenAMP_TTY_echo_wakeup.elf   {{Highlight|Firmware for this example}}
 │       │   └── README                                                  │       └── [...]                                      {{Highlight|Other examples with the same structure (script, helper file and firmware)}}

 │   └── {{Green|STM32MP157C-EV1}}                          {{Highlight|Examples of firmwares running on Arm Cortex-M4 → STM32MP157C-EV1 (see more in [[STM32CubeMP1 Package]])}}
 │       ├── {{Green|Applications}}
 │       │   └── [...]                                      {{Highlight|Applications with the same structure (script, helper file and firmware)}}
 │       ├── {{Green|Demonstrations}}
 │       │   └── [...]                                      {{Highlight|Demonstrations with the same structure (script, helper file and firmware)}}
 │       └── {{Green|Examples}}
 │           └── [...]                                      {{Highlight|Examples with the same structure (script, helper file and firmware)}}

 ├── {{Green|Linux-A7-examples}}                {{Highlight|Examples for Linux<sup>&reg;</sup> running on Arm<sup>&reg;</sup> Cortex<sup>&reg;</sup>-A7}}
 │   ├── {{Green|GPIO}}                         {{Highlight|GPIO examples}}
 │   │   ├── {{Green|buttons}}
 │   │   │   ├── button_gpio_exti.sh  {{Highlight|Script for this example}}
 │   │   |   └── README.md            {{Highlight|Helper file for this example}}
 │       └── {{Green|QSPI_ReadWrite_IT}}        {{Highlight|QSPI Read/Write in interrupt mode started by Linux Remote Processor Framework}}
 │           ├── fw_cortex_m4.sh                                         {{Highlight|Script to start/stop the example}}
 │           ├── {{Green|lib}}
 │           │   └── {{Green|firmware}}
 │           │       └── STM32MP15_M4_EVAL_QSPI_ReadWrite_IT.elf         {{Highlight|Firmware for this example}}
 │           └── README                                                  {{Highlight|Helper file for this example}}
 └── {{Green|lost+found}}leds}}                     {{Highlight|Same structure for this example relative to the leds}}
 │   │       └── [...]
 │   └── [...]                        {{Highlight|Same structure for all the examples}}
 ├── {{Green|demo}}                             {{Highlight|All files needed (e.g. Python scripts, pictures, media files...) for the GTK demo launcher}}
 │   └── [...]
 ├── {{Green|lost+found}}
 └── {{Green|weston-start-at-startup}}
     └── start_up_demo_launcher.sh    {{Highlight|Script to start the GTK demo launcher}}

* Vendor file system mounting point
 {{Green|/vendor}}    {{Highlight|'''vendorfs partition'''}}
 ├── [*].so  {{Highlight|Specific vendor libraries (e.g. Vivante libraries OpenGL ES, OpenVG and EGL)}}
 └── [...]
<noinclude>

[[Category:OpenSTLinux filesystem]]
{{PublicationRequestId | 7653 | 2018-06-11 | AnneJ}}</noinclude>
(10 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<noinclude>
 
{{ArticleMainWriter | Jean-ChristopheT}}
 
{{ReviewersList | NathalieS, BernardP, RomualdJ, DenisH}}
 
{{ArticleApprovedVersion | Jean-ChristopheT | NathalieS(29May'18, Passed), BernardP (PASS, 28May'18), RomualdJ (Passed, 1Jun'18), DenisH (Passed, 25May'18) | No previous approved version | AnneJ - 11Jun'18 - 7653 | 20Jun'18}}
 
 
[[Category:OpenSTLinux filesystem]]
 
</noinclude>
 
 
 
This article aims at presenting the directory structure of the Linux root file system available on STM32 board.
 
This article aims at presenting the directory structure of the Linux root file system available on STM32 board.
   
 
All files and directories are located under the root directory (''/''), in compliance with the [[File Hierarchy Standard (FHS)|File system Hierarchy Standard]].
 
All files and directories are located under the root directory (''/''), in compliance with the [[File Hierarchy Standard (FHS)|File system Hierarchy Standard]].
   
This root directory corresponds to the Linux root file system (rootfs partition), as defined in [[STM32MP15 Flash mapping#Flash partitions|Flash partitions]]. Note also that the user file system (userfs partition) and the boot file system (bootfs partition) can be accessed through the ''/usr/local'' mounting point and through the ''/boot'' mounting point, respectively.
+
This root directory corresponds to the Linux root file system (rootfs partition), as defined in [[STM32MP15 Flash mapping#Flash partitions|Flash partitions]]. Note also that the user file system (userfs partition), the boot file system (bootfs partition) and the vendor file system (vendorfs partition) can be accessed through the ''/usr/local'' mounting point, through the ''/boot'' mounting point, and through the ''/vendor'' mounting point respectively.
{{info|In practice, this article uses the STM32MPU Embedded Software distribution release issued on 03-July-2018 as an example to illustrate the Linux directory structure. If you are using a different release, the names of the directories and files might differ.}}{{UpdateNeededForNewRelease|The trees below shall be updated periodically, even if the information banner specifies that they might not be up-to-date}}
+
{{info|In practice, this article uses the release '''STM32MP15-Ecosystem-v{{EcosystemRelease/Revision | revision=latest}}''' for the STM32MPU Embedded Software distribution as an example to illustrate the Linux directory structure. If you are using a different release, the names of the directories and files might differ.}}{{UpdateNeededForNewRelease|The trees below shall be updated periodically, even if the information banner specifies that they might not be up-to-date}}
   
 
The directories are shown in {{Green|green}}, while the files are in black.
 
The directories are shown in {{Green|green}}, while the files are in black.
Line 20: Line 12:
 
  │  └── [...]
 
  │  └── [...]
 
  ├── {{Green|boot}}                    {{Highlight|Mounting point for the boot file system (bootfs partition): see below}}
 
  ├── {{Green|boot}}                    {{Highlight|Mounting point for the boot file system (bootfs partition): see below}}
├── {{Green|config}}
 
 
  ├── {{Green|dev}}                      {{Highlight|Device files (e.g. ''/dev/null'', ''/dev/tty0'', ''/dev/video0''...)}}
 
  ├── {{Green|dev}}                      {{Highlight|Device files (e.g. ''/dev/null'', ''/dev/tty0'', ''/dev/video0''...)}}
 
  ├── {{Green|etc}}                      {{Highlight|System-wide configuration files (e.g. ''/etc/xdg/weston/weston.ini'' Weston configuration file...)}}
 
  ├── {{Green|etc}}                      {{Highlight|System-wide configuration files (e.g. ''/etc/xdg/weston/weston.ini'' Weston configuration file...)}}
Line 26: Line 17:
 
  ├── {{Green|lib}}                      {{Highlight|Essential system libraries for the binaries in ''/bin'' and ''/sbin'' (e.g. ''libncurses.so.5.9''...)}}
 
  ├── {{Green|lib}}                      {{Highlight|Essential system libraries for the binaries in ''/bin'' and ''/sbin'' (e.g. ''libncurses.so.5.9''...)}}
 
  │  ├── {{Green|modules}}
 
  │  ├── {{Green|modules}}
  │  │  └── {{Green|4.14.48}}
+
  │  │  └── {{Green|5.10.''xxx''}}
 
  │  │      ├── {{Green|kernel}}      {{Highlight|Linux kernel modules}}
 
  │  │      ├── {{Green|kernel}}      {{Highlight|Linux kernel modules}}
 
  │  │      │  └── [...]
 
  │  │      │  └── [...]
Line 34: Line 25:
 
  ├── {{Green|lost+found}}
 
  ├── {{Green|lost+found}}
 
  ├── {{Green|media}}                    {{Highlight|Mount points for removable media devices}}
 
  ├── {{Green|media}}                    {{Highlight|Mount points for removable media devices}}
 
 
  ├── {{Green|mnt}}                      {{Highlight|Temporarily mounted file systems}}
 
  ├── {{Green|mnt}}                      {{Highlight|Temporarily mounted file systems}}
 
  ├── {{Green|proc}}                    {{Highlight|[[Pseudo filesystem|Pseudo filesystem]] providing process and kernel information as files (e.g. ''/proc/cpuinfo'', ''/proc/version''...)}}
 
  ├── {{Green|proc}}                    {{Highlight|[[Pseudo filesystem|Pseudo filesystem]] providing process and kernel information as files (e.g. ''/proc/cpuinfo'', ''/proc/version''...)}}
  +
├── {{Green|root}}                    {{Highlight|Home directory for the root user)}}
 
  ├── {{Green|run}}                      {{Highlight|Run-time variable data (information about the running system since last boot)}}
 
  ├── {{Green|run}}                      {{Highlight|Run-time variable data (information about the running system since last boot)}}
 
  ├── {{Green|sbin}}                    {{Highlight|Essential system binaries (e.g. ''/sbin/fsck'', ''/sbin/init'', ''/sbin/modprobe''...)}}
 
  ├── {{Green|sbin}}                    {{Highlight|Essential system binaries (e.g. ''/sbin/fsck'', ''/sbin/init'', ''/sbin/modprobe''...)}}
Line 48: Line 39:
 
  │  ├── {{Green|share}}                {{Highlight|Architecture-independent (shared) data}}
 
  │  ├── {{Green|share}}                {{Highlight|Architecture-independent (shared) data}}
 
  │  └── [...]
 
  │  └── [...]
  └── {{Green|var}}                      {{Highlight|Variable files}}
+
  ├── {{Green|var}}                      {{Highlight|Variable files}}
  +
└── {{Green|vendor}}                  {{Highlight|Mounting point for the vendor file system (vendorfs partition): see below}}
   
 
* Boot file system mounting point
 
* Boot file system mounting point
 
  {{Green|/boot}}  {{Highlight|'''bootfs partition'''}}
 
  {{Green|/boot}}  {{Highlight|'''bootfs partition'''}}
  ├── stm32mp157c-d[*].dtb  {{Highlight|Linux kernel device tree blob files → STM32MP15 Discovery kits}}
+
├── stm32mp157a-dk1[*].dtb  {{Highlight|Linux kernel device tree blob files → STM32MP157A-DK1}}
  ├── stm32mp157c-e[*].dtb  {{Highlight|Linux kernel device tree blob files → STM32MP15 Evaluation boards}}
+
  ├── stm32mp157c-dk2[*].dtb  {{Highlight|Linux kernel device tree blob files → STM32MP157C-DK2}}
  ├── uImage               {{Highlight|Linux kernel binary image file (with U-Boot wrapper)}}
+
  ├── stm32mp157c-ev&[*].dtb  {{Highlight|Linux kernel device tree blob files → STM32MP157C-EV1}}
  +
  ├── uImage                 {{Highlight|Linux kernel binary image file (with U-Boot wrapper)}}
 
  └── [...]
 
  └── [...]
   
 
* User file system mounting point
 
* User file system mounting point
 
  {{Green|/usr/local}}  {{Highlight|'''userfs partition'''}}
 
  {{Green|/usr/local}}  {{Highlight|'''userfs partition'''}}
  ├── {{Green|examples}}
+
  ├── {{Green|Cube-M4-examples}}                                      {{Highlight|Examples for STM32CubeMP1 Package running on Arm<sup>&reg;</sup> Cortex<sup>&reg;</sup>-M4}}
  │  ├── {{Green|STM32MP15_DISCO}} {{Highlight|Examples of firmwares running on Arm Cortex-M4 → STM32MP15 Discovery kits}}
+
  │  ├── {{Green|STM32MP157C-DK2}}                                   {{Highlight|Examples of firmwares running on Arm Cortex-M4 → STM32MP157C-DK2 (see more in [[STM32CubeMP1 Package]])}}
  │  │  ├── {{Green|GPIO_EXTI}}               {{Highlight|GPIO EXTI example started by Linux Remote Processor Framework}}
+
│  │  ├── {{Green|Applications}}
  │  │  │  ├── fw_cortex_m4.sh                                         {{Highlight|Script to start/stop the example}}
+
│  │  │  ├── {{Green|OpenAMP}}
  │  │  │  ├── {{Green|lib}}
+
  │  │  |  |    ├── {{Green|OpenAMP_TTY_echo}}                     {{Highlight|OpenAMP TTY echo application}}
  │  │  │  │  └── {{Green|firmware}}
+
  │  │  │  |    |    ├── fw_cortex_m4.sh                 {{Highlight|Script to start/stop this application}}
  │  │  │  │      └── STM32MP15_M4_DISCO_GPIO_EXTI.elf               {{Highlight|Firmware for this example}}
+
  │  │  │  |    |    ├── {{Green|lib}}
  │  │  │  └── README                                                 {{Highlight|Helper file for this example}}
+
  │  │  │  |    |    │  └── {{Green|firmware}}
  │  │  ├── {{Green|OpenAMP_TTY_echo}}         {{Highlight|OpenAMP TTY echo example started by Linux Remote Processor Framework}}
+
  │  │  │  |    |    │      └── OpenAMP_TTY_echo.elf     {{Highlight|Firmware for this application}}
  │  │  │  ├── fw_cortex_m4.sh                                        {{Highlight|Script to start/stop the example}}
+
  │  │  │  |    |    └── README                           {{Highlight|Helper file for this application}}
  │  │  │  ├── {{Green|lib}}
+
  │  │  │  │    └── [...]                                {{Highlight|Other OpenAMP applications with the same structure (script, helper file and firmware)}}
  │  │  │  │  └── {{Green|firmware}}
+
│  │  │  └── [...]                                      {{Highlight|Other applications with the same structure (script, helper file and firmware)}}
  │  │  │   │      └── STM32MP15_M4_DISCO_OpenAMP_TTY_echo.elf         {{Highlight|Firmware for this example}}
+
  │  │  ├── {{Green|Demonstrations}}
  │  │  │  └── README                                                  {{Highlight|Helper file for this example}}
+
  │  │  │  ├── {{Green|AI_Character_Recognition}}                  {{Highlight|Artificial intelligence character recognition demonstration}}
  │  │   └── {{Green|OpenAMP_TTY_echo_wakeup}} {{Highlight|OpenAMP TTY echo wakeup example started by Linux Remote Processor Framework}}
+
  │  │  │        └── {{Green|lib}}
  │  │      ├── fw_cortex_m4.sh                                         {{Highlight|Script to start/stop the example}}
+
│  │  │            └── {{Green|firmware}}
  │  │      ├── {{Green|lib}}
+
  │  │  │               └── AI_Character_Recognition.elf {{Highlight|Firmware for this demonstration}}
  │  │      │  └── {{Green|firmware}}
+
  │  │  └── {{Green|Examples}}
  │  │      │      └── STM32MP15_M4_DISCO_OpenAMP_TTY_echo_wakeup.elf {{Highlight|Firmware for this example}}
+
│  │      ├── {{Green|GPIO}}
  │  │      └── README                                                 {{Highlight|Helper file for this example}}
+
  │  │       |    └── {{Green|GPIO_EXTI}}                             {{Highlight|GPIO EXTI example}}
  +
  │  │      |        ├── fw_cortex_m4.sh                 {{Highlight|Script to start/stop this example}}
  +
  │  │      |        ├── {{Green|lib}}
  +
  │  │      |        │  └── {{Green|firmware}}
  +
  │  │      |        │      └── GPIO_EXTI.elf           {{Highlight|Firmware for this example}}
  +
  │  │      |        └── README                           {{Highlight|Helper file for this example}}
  +
│  │      └── [...]                                      {{Highlight|Other examples with the same structure (script, helper file and firmware)}}
  +
 
  +
│  └── {{Green|STM32MP157C-EV1}}                          {{Highlight|Examples of firmwares running on Arm Cortex-M4 → STM32MP157C-EV1 (see more in [[STM32CubeMP1 Package]])}}
  +
│      ├── {{Green|Applications}}
  +
│      │  └── [...]                                      {{Highlight|Applications with the same structure (script, helper file and firmware)}}
  +
│      ├── {{Green|Demonstrations}}
  +
│      │  └── [...]                                      {{Highlight|Demonstrations with the same structure (script, helper file and firmware)}}
  +
│      └── {{Green|Examples}}
  +
│          └── [...]                                      {{Highlight|Examples with the same structure (script, helper file and firmware)}}
  +
 
  +
├── {{Green|Linux-A7-examples}}                {{Highlight|Examples for Linux<sup>&reg;</sup> running on Arm<sup>&reg;</sup> Cortex<sup>&reg;</sup>-A7}}
  +
│  ├── {{Green|GPIO}}                        {{Highlight|GPIO examples}}
  +
│  │  ├── {{Green|buttons}}
  +
│  │  │  ├── button_gpio_exti.sh  {{Highlight|Script for this example}}
  +
│  │  |  └── README.md            {{Highlight|Helper file for this example}}
  +
│  │  └── {{Green|leds}}                    {{Highlight|Same structure for this example relative to the leds}}
  +
│  │      └── [...]
  +
│  └── [...]                        {{Highlight|Same structure for all the examples}}
  +
├── {{Green|demo}}                            {{Highlight|All files needed (e.g. Python scripts, pictures, media files...) for the GTK demo launcher}}
  +
│  └── [...]
  +
├── {{Green|lost+found}}
  +
└── {{Green|weston-start-at-startup}}
  +
    └── start_up_demo_launcher.sh    {{Highlight|Script to start the GTK demo launcher}}
  +
 
  +
* Vendor file system mounting point
  +
{{Green|/vendor}}    {{Highlight|'''vendorfs partition'''}}
  +
├── [*].so  {{Highlight|Specific vendor libraries (e.g. Vivante libraries OpenGL ES, OpenVG and EGL)}}
  +
└── [...]
   
│  └── {{Green|STM32MP15_EVAL}}  {{Highlight|Examples of firmwares running on Arm Cortex-M4 → STM32MP15 Evaluation boards}}
+
<noinclude>
│      ├── {{Green|GPIO_EXTI}}                {{Highlight|GPIO EXTI example started by Linux Remote Processor Framework}}
+
[[Category:OpenSTLinux filesystem]]
│      │  ├── fw_cortex_m4.sh                                        {{Highlight|Script to start/stop the example}}
+
{{PublicationRequestId | 7653 | 2018-06-11 | AnneJ}}
│      │  ├── {{Green|lib}}
+
</noinclude>
│      │  │  └── {{Green|firmware}}
 
│      │  │      └── STM32MP15_M4_EVAL_GPIO_EXTI.elf                {{Highlight|Firmware for this example}}
 
│      │  └── README                                                  {{Highlight|Helper file for this example}}
 
│      ├── {{Green|OpenAMP_TTY_echo}}        {{Highlight|OpenAMP TTY echo example started by Linux Remote Processor Framework}}
 
│      │  ├── fw_cortex_m4.sh                                        {{Highlight|Script to start/stop the example}}
 
│      │  ├── {{Green|lib}}
 
│      │  │  └── {{Green|firmware}}
 
│      │  │      └── STM32MP15_M4_EVAL_OpenAMP_TTY_echo.elf          {{Highlight|Firmware for this example}}
 
│      │  └── README                                                  {{Highlight|Helper file for this example}}
 
│      ├── {{Green|OpenAMP_TTY_echo_wakeup}}  {{Highlight|OpenAMP TTY echo wakeup example started by Linux Remote Processor Framework}}
 
│      │  ├── fw_cortex_m4.sh                                        {{Highlight|Script to start/stop the example}}
 
│      │  ├── {{Green|lib}}
 
│      │  │  └── {{Green|firmware}}
 
│      │  │      └── STM32MP15_M4_EVAL_OpenAMP_TTY_echo_wakeup.elf  {{Highlight|Firmware for this example}}
 
│      │  └── README                                                  {{Highlight|Helper file for this example}}
 
│      └── {{Green|QSPI_ReadWrite_IT}}        {{Highlight|QSPI Read/Write in interrupt mode started by Linux Remote Processor Framework}}
 
│          ├── fw_cortex_m4.sh                                        {{Highlight|Script to start/stop the example}}
 
│          ├── {{Green|lib}}
 
│          │  └── {{Green|firmware}}
 
│          │      └── STM32MP15_M4_EVAL_QSPI_ReadWrite_IT.elf        {{Highlight|Firmware for this example}}
 
│          └── README                                                  {{Highlight|Helper file for this example}}
 
└── {{Green|lost+found}}