Debos
Gemstone Image Creation
This section covers the configuration file structure of the tool called Debos, which is used to compile images for Gemstone development boards. Before starting this section, you should have read the Components section.
Before proceeding, make sure you have reviewed the following files:
As of the date this document was written, Gemstone development boards support , , and . Each Image, Machine, and Distribution has its own unique differences and customization settings.
When creating a distribution, the commands devbox shell
—> task box
—> task distro:build
are called sequentially.
Debos is then launched inside Docker, where customizations are made based on the provided variables,
necessary files are copied, and
installation scripts are executed.
1. Parameters
A few parameters are summarized here. For the rest, refer to the vars
section in the
sdk/Taskfile.yml file.
beagley-ai
intel-corei7-64
t3-gem-o1
qemuarm64
minimal
desktop
kiosk
ubuntu
debian
jammy
noble
bullseye
bookworm
amd64
arm64
The size of the resulting .img file after building.
2. Distributions
During the process of uploading an image to a new board using the Gemstone Imager application, the above distributions can be selected. By default, Ubuntu 22.04 is preferred on Gemstone development boards, but Debian 11 and 12 images are also supported to meet the needs of different projects.
In Debian distributions (roughly speaking), the core principle is security and stability, while Ubuntu distributions prioritize the same principles along with more frequent updates and delivering newer versions of packages to end-users. Users’ preferences depend entirely on their system definitions and needs.
Ubuntu’s latest LTS (Long-term support) version is 24.04, but 22.04 is preferred due to various issues encountered in projects like ROS and Yocto.
Preferred for the latest libraries and applications.
Used in projects where the current code is stable for Debian 11.
The latest version of Debian.
3. Images
Can be used in IoT, Real-Time Systems, Network Applications, Embedded Software, Manned and Unmanned Vehicles, Smart Home Applications, Autopilot, etc.
Can be used for testing, prototyping, development, education, or as a small computer.
Can be used in projects like touchscreen Kiosks, Autonomous Vehicle Panels, Command Control Panels, etc.
4. Machines
The machine type for the T3 Gemstone Obsidian development board.
Preferred for virtual use with QEMU.
The created images can also be used on the BeagleY-AI development board.
Preferred for virtual use with QEMU.
5. Configuration File
The Debos tool reads the sdk/distro/distro.yaml
file and performs a 4-step process to create the .img
file/distribution.
Debootstrap/Apt
Based on the specified Distribution (Ubuntu or Debian), it downloads all .deb packages from the respective
distribution’s APT servers using the debootstrap
tool.
Package Installation
Creates a folder structure called rootfs
to meet GNU/Linux operating system requirements and installs the
downloaded .deb packages into rootfs
using the chroot
method.
Customization Processes
After the installation of deb packages is complete, files to be included in the image are copied, and
installation scripts are executed based on the overlay
and run
definitions in the yaml
file.
Image File Creation
After all the above steps are successfully completed, the boot and rootfs disk partitions are created
according to the image-partition
definition, the .img file is generated, and all files are moved into it.