This project includes all the necessary work for compiling the operating system, kernel, and other tools found on T3 Gemstone boards, and is intended for developers who wish to prepare a customized GNU/Linux Distribution.
All details related to the project can be found at https://docs.t3gemstone.org/en/sdk. Below, only a summary of how to perform the installation is provided.
user@host:$ ./setup.sh2. After the installation is successful, activate the jetify-devbox shell to automatically install tools such as Distrobox, taskfile, etc.
user@host:$ devbox shell📦 devbox:sdk> task fetch
📦 devbox:sdk> task permissions
📦 devbox:sdk> task box# Show all available tasks and environment variables
🚀 distrobox:workdir> task default
# Build kernel, bootloader, initrd
# Note: MACHINE can be 'intel-corei7-64', 't3-gem-o1', 'beagley-ai' or 'qemuarm64'
# Note: First build takes approximately 2 hours and you need at least 32GB empty disk space
🚀 distrobox:workdir> task yocto:build MACHINE=intel-corei7-64
# Pack Gemstone Distro
🚀 distrobox:workdir> task distro:build MACHINE=intel-corei7-64 DISTRO_TYPE=desktop DISTRO_BASE=ubuntu DISTRO_SUITE=jammy IMG_SIZE=16G
# After build images, run virtual machine
🚀 distrobox:workdir> task yocto:runqemu MACHINE=intel-corei7-64 DISTRO_TYPE=desktop DISTRO_BASE=ubuntu DISTRO_SUITE=jammy WORKDIR=$PWD# Initialize bitbake
🚀 distrobox:workdir> source yocto/poky/oe-init-build-env build/intel-corei7-64
# Tune Linux Kernel
🚀 distrobox:intel-corei7-64> bitbake -c menuconfig virtual/kernel
# Tune U-Boot
🚀 distrobox:intel-corei7-64> bitbake -c menuconfig virtual/bootloaderDocker is installed on your system via the ./setup.sh command. If you are installing Docker for the first time, you must log out and log in again after the installation is complete.
When you perform the compilation process with the task:distro command many times, debos may occasionally give a "Segmentation Fault" error.
Additionally, following error can occur while compiling the arm64 image for BeagleY-AI. This problem persists even after rebooting your system, so you may need to apply the solution after each reboot.
W: Failure trying to run: /sbin/ldconfig
qemu: uncaught target signal 11 (Segmentation fault) - core dumpedTo solve these problems, first try running the following command inside devbox shell
📦 devbox:sdk> distrobox stop gemstone-sdkif it does not work, run the destroy command.
📦 devbox:sdk> task destroy# Stop distrobox
📦 devbox:sdk> distrobox stop gemstone-sdk
# Start and Enter distrobox image
📦 devbox:sdk> task box
# Clean yocto image
🚀 distrobox:workdir> task yocto:build MACHINE=intel-corei7-64 TARGET='-c clean -c cleansstate gemstone-image-rd virtual/kernel'
# Rebuild
🚀 distrobox:workdir> task yocto:build MACHINE=intel-corei7-64📦 devbox:sdk> task box
task: Failed to run task "box": exit status 1
Error: An error occurredTo figure out what exact problem is, run distrobox-enter --additional-flags "--tty" --name gemstone-sdk --no-workdir --verbose
*** update-locale: Error: invalid locale settings: LC_ALL=en_EN.UTF-8 LANG=en_EN.UTF-8To solve this problem, try to update locales
📦 devbox:sdk> sudo dpkg-reconfigure locales