Cambrian-yocto is a parent repository which allows for checking out, configuring and building a Yocto-derived Linux image for Cambrian Works hardware products suitable to use as a target for Cambrian Works applications.
This software is licensed under the Apache 2.0 license.
Supported hardware target platforms are:
- The Cambrian Works GigRouter.
- The Cambrian Works GigCompute.
Executing the build.sh script will automatically checkout the artifacts required to setup a build environment and produce an image. Usage is:
./build.sh gigrouter
Replacing the gigrouter argument with clean will delete all checked out repositories and build artifacts.
Alternatively, a build can be produced manually with the following steps:
- Setup environment.
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
- Checkout meta layers.
kas checkout
- Build image.
kas-container build
- Opening a shell (for example, using bitbake to build a specific package).
kas-container shell kas/gigrouter-kas-config.yml
bitbake -c build tegra-binaries
- Using shell commands as argument.
kas-container shell kas/gigrouter-kas-config.yml -c "bitbake -c cleansstate tegra-binaries"
The output image is found within the build directory under: ./build/tmp/deploy/images/gigrouter/cambrian-image-gigrouter.rootfs-[timestamp].tegraflash.tar.gz
-
Extract to a host machine connected to the target hardware.
-
Power on the target hardware in Recovery Mode. When the target is in recovery mode the result of
lsusbwill include:
Bus 003 Device 022: ID 0955:7523 NVIDIA Corp. APX
- Initiate flashing by executing the
doflash.shscript generated by the build process included in the image archive:
sudo ./doflash.sh
When a system has been freshly flashed it will execute a script to apply a hostname of the format: gc-XXXX, for GigCompute, or gr-XXXX, for GigRouter, where XXXX are the last four digits of the system's unique SOC serial number. The script is only executed once on first boot so the hostname can be updated afterwards if desired.
The secondary serial port, labeled as "Serial Data" and enumerated as /dev/ttyTHS1, may be used either as a raw data port or an interactive console. By default, no processes will attach themselves so it can be utilised for data. To enable as an interactive console execute: sudo touch /etc/cw-interactive-ttyTHS1 and reboot.
On systems with additional storage devices, such as NVMe SSD, the cambrian-yocto distribution provides tooling for provisioning drives as a bootable system option. See the cw-drive-setup recipe for more information.
Please see CONTRIBUTING.md document.
