Skip to content

mrdrew213/cambrian-yocto

 
 

Repository files navigation

Cambrian yocto

Cambrian Works logo

Description

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.

License

This software is licensed under the Apache 2.0 license.

Supported platforms

Supported hardware target platforms are:

  • The Cambrian Works GigRouter.
  • The Cambrian Works GigCompute.

See Cambrian Works products.


Setup and build

Automated script

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.

Manual procedures

Alternatively, a build can be produced manually with the following steps:

  1. Setup environment.
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
  1. Checkout meta layers.
kas checkout
  1. Build image.
kas-container build
  1. 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
  1. Using shell commands as argument.
kas-container shell kas/gigrouter-kas-config.yml -c "bitbake -c cleansstate tegra-binaries"

Flashing

The output image is found within the build directory under: ./build/tmp/deploy/images/gigrouter/cambrian-image-gigrouter.rootfs-[timestamp].tegraflash.tar.gz

  1. Extract to a host machine connected to the target hardware.

  2. Power on the target hardware in Recovery Mode. When the target is in recovery mode the result of lsusb will include:

Bus 003 Device 022: ID 0955:7523 NVIDIA Corp. APX
  1. Initiate flashing by executing the doflash.sh script generated by the build process included in the image archive:
sudo ./doflash.sh

Special considerations

Hostname

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.

Serial port usage

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.

Drive provisioning

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.


Contributing

Please see CONTRIBUTING.md document.


Further reading

nvidia Jetson developer guide

About

Yocto BSP for Cambrian Works GigRouter products

Resources

License

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • BitBake 60.1%
  • Shell 39.9%