Linux File Systems

The DRIVE OS Linux consists of a hierarchy of file systems. Each layer of the hierarchy of file systems is assigned a purpose and the particular purpose at that layer defines the contents of the file system.

The following File System Hierarchy Pyramid image shows a pyramid representing the hierarchy of file systems. Each layer builds on top of the layers below it. The pyramid is not proportional; therefore, the width or area of each layer of the pyramid does not necessarily represent the amount of content at that specific layered file system.

The base layer at the bottom of the hierarchy is the Canonical (open source) Ubuntu Base file system. The DRIVE OS Linux file systems are built on top of the Ubuntu Base file system.

The next layer is named driveos-core-rfs and is purposed to contain automotive-specific Debian packages, drivers, libraries, tools, firmwares, scripts, and other necessary files for core functionality. The driveos-core-rfs file system is useful for production systems.

The next layer is named driveos-oobe-rfs and is an Out Of Box Console for developers. It contains automotive-specific samples, documentation, and developer friendly tools. This file system is intended to be used by developers for developers.

media/image2.PNG

The final layer is named driveos-oobe-desktop-rfs and is an Out Of Box GUI Desktop Experience for developers. It contains automotive GUI desktop interface, specific samples, documentation, and developer friendly tools. This file system is intended to be used by developers for software development.

The itemized listing of Debian packages in the DRIVE OS Linux file system is available in an end-user friendly descriptive version alongside the EXT4 image file of the file system (depending on driveos-oobe-rfs, driveos-core-rfs, or driveos-oobe-desktop-rfs) in the following paths:

  • /opt/nvidia/driveos/<release>/<DRIVEOS_GCID>/drive-linux/filesystems/driveos-core-ubuntu-20.04-rfs/driveos-core-ubuntu-20.04-rfs.manifest
  • /opt/nvidia/driveos/<release>/<DRIVEOS_GCID>/drive-linux/filesystems/driveos-oobe-ubuntu-20.04-rfs/driveos-oobe-ubuntu-20.04-rfs.manifest
  • /opt/nvidia/driveos/<release>/<DRIVEOS_GCID>/drive-linux/filesystems/driveos-oobe-desktop-ubuntu-20.04-rfs/driveos-oobe-desktop-ubuntu-20.04-rfs.manifest

Where <DRIVEOS_GCID> is the GCID of DRIVE OS Linux and <release> is the version of DRIVE OS Linux.

Additionally, the file systems also contain a listing of all installed packages (useful for DRIVE OS Build-FS) at (depending on driveos-oobe-rfs, driveos-core-rfs, or driveos-oobe-desktop-rfs):

  • /etc/nvidia/rootfilesystem-manifest/driveos-core-ubuntu-20.04-rfs.MANIFEST.json
  • /etc/nvidia/rootfilesystem-manifest/driveos-oobe-ubuntu-20.04-rfs.MANIFEST.json
  • /etc/nvidia/rootfilesystem-manifest/driveos-oobe-desktop-ubuntu-20.04-rfs.MANIFEST.json

Finally, the file system contains files overlayed over the Debian packages from different modules like drivers, libraries, tools, firmware, scripts, and samples. The set of modules is included in driveos-core-rfs and driveos-oobe-rfs. The itemized listing is available in the CopyTarget topic.