Skip to content

Base system#

Warning

This document is work in progress and will be updated with upcoming releases

The base system on the C7 smart camera is a Yocto derived Linux distribution tailored by 3dvisionlabs specifically for the use on this device.

Architectural features#

The base system is designed with flexibility and security in mind. It provides the kernel including the system and camera drivers. Based on the Linux kernel, a lightweight Linux based operating system manages some system services for configuration and firmware upgrades as well as a docker daemon for running customer apps. Manual user login is blocked on most devices. A special development build is available, which features a developer login. This login (via ssh) does not have root privileges, but can be used for docker control and acquiring system logging and debugging information.

Storage#

The C7 smart camera features two mass storage devices.

The factory firmware is stored on the integrated eMMC storage on the NVIDIA® Jetson SoM. The eMMC is used for the bootloader and all the firmware / operating system base data. It also features an A/B boot and update pattern, such that a rollback may be performed in case of errors during the upgrade process. The eMMC also has a persistent /data partition, which is used for storing some system information by 3dvisionlabs and the OEM of the device. Most parts of the system partitions are mounted read-only during runtime for security reasons and also to protect the eMMC from excessive writing tasks (as the eMMC is not designed for a lot of writing cycles).

The user data and app data is stored on an SSD hard drive, which is placed on the 3dvisionlabs carrier board. The SSD is encrypted by default. The encryption key is stored on the eMMC /data partition. The SSD drive contains only one big partition and is structured in different directories, which are mounted to their target location (e.g. for the docker environment and the home directories).

Interactive#

The development version of the C7 Smart Camera device has a developer account activated for interactive use of the Linux base system. This developer account does not possess sudo privileges, but may acquire information from the base system and may directly control e.g. the docker environment.

Some of the following commands and files may help to debug device and/or programming issues. The output of these commands may also be asked by the 3dvisionlabs support, if detailed debugging is required.

IP Address

The ip tool is included in the base system, for querying the network configuration, the commands ip address and ip route show the most relevant information.

OS Version

The currently installed 3dvl OS release version is stored in /etc/os-release, e.g.:

ID=3dvl-mender
NAME="3dvisionlabs Distro"
VERSION="1.0.3"
VERSION_ID="1.0.3"
PRETTY_NAME="3dvisionlabs Distro 1.0.3"
DISTRO_CODENAME="kirkstone-l4t-r32.7"
System load

For querying the system load and running processes (task manager), the commands htop and tegrastats can be used.

Serial

The 3dvl serial number is stored as plain text in /data/serial.

Kernel logs

The dmesg command prints detailed kernel logs of the current boot sequence.