Workflow with Persistent Partition

The persistent partition workflow consists of the flashing phase and the filesystem phase.

Flashing

  1. If the bootburn utility is executed, the filesystem image is always flashed to the filesystem partition.
  2. If the bootburn utility is executed with the --init-persistent-partitions option, the prebuilt user metadata and data images are flashed to persistent partitions (as specified in PCT configuration in global_storage.cfg).
  3. If the bootburn utility is executed without the --init-persistent-partitions option, there are no changes to persistent partitions.

Filesystem Boot

  1. Filesystem mounts the existing user metadata and data persistent partitions.
  2. Filesystem checks for the stamp /etc/nvidia/skip-oem-config.stamp.
    • If yes, proceeds to the next step.
    • If no, OEM-config is executed to set up user accounts.

      After oem-config is executed, the stamp /etc/nvidia/skip-oem-config.stamp is added, and this is written to persistent metadata partition.

  3. Check if /opt/drive-linux-first-boot.stamp exists.
    • If yes, applies fix-up for persistent partition.
    • If no, proceeds to the next step.

      After the fix-up is complete, /opt/drive-linux-first-boot.stamp is deleted.

  4. Filesystem proceeds to reach the command-line login prompt.

Default Behaviors in NVIDIA DRIVE OS Linux

  1. When the bootburn utility is run with the --init-persistent-partitions option:
    1. The /etc/nvidia/skip-oem-config.stamp should not exist.
      1. The OEM-config is executed to set up user accounts.
      2. After oem-config is executed, the stamp /etc/nvidia/skip-oem-config.stamp is added, and this is written to persistent metadata partition.
    2. The fix-up is executed (as the filesystem image contains the stamp /opt/drive-linux-first-boot.stamp) but is equivalent to a no-op.
  2. When the bootburn utility is run without the --init-persistent-partitions option:
    1. /etc/nvidia/skip-oem-config.stamp should already exist and oem-config is skipped.
    2. The fix-up is executed, and this cleans up persistent metadata partition by removing everything other than the necessary files, such as /etc/passwd|group|shadow|gshadow|subuid|subgid, /etc/ssh/ssh_host_key*, and /etc/nvidia/<oem-config-stamps>.
      • Cleanup is required because all files added /etc go to the persistent partition (even if they apply to the rootfs partition) due to overlayfs limitation.
Note: These are the default behaviors in NVIDIA DRIVE® OS Linux. However, filesystem users can always change the behavior by removing or adding stamps again (/etc/nvidia/skip-oem-config.stamp or /opt/drive-linux-first-boot.stamp).