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
iptool is included in the base system, for querying the network configuration, the commandsip addressandip routeshow 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
htopandtegrastatscan be used. - Serial
-
The 3dvl serial number is stored as plain text in
/data/serial. - Kernel logs
-
The
dmesgcommand prints detailed kernel logs of the current boot sequence.