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.
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.
Example
1. Parameters
A few parameters are summarized here. For the rest, refer to thevars section in the
sdk/Taskfile.yml file.
beagley-ai intel-corei7-64 t3-gem-o1 qemuarm64minimal desktop kioskubuntu debian pardusjammy noble bullseye bookworm yirmiuc-debamd64 arm64The 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, Debian 12 and Pardus 23 images are also supported to meet the needs of different projects.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.
The latest version of Pardus.
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 O1 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.
1
Debootstrap/Apt
Based on the specified Distribution (Ubuntu,Debian or Pardus), it downloads all .deb packages from the respective
distribution’s APT servers using the
debootstrap tool.2
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.3
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.4
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.
