Skip to main content
When the Yocto build is initiated, U-Boot used in Gemstone boards is automatically downloaded, compiled, and its outputs are packaged. Therefore, no additional commands need to be run. If there is a situation that requires recompiling U-Boot (e.g., adding support for booting the operating system from an SSD), the following steps can be followed.
Some operations, such as modifying kernel parameters or adding device-tree overlays, can be done without recompiling U-Boot by updating the /boot/uEnv.txt file.
All the commands below will be executed inside the distrobox. Therefore, you must first run the devbox shell —> task box commands. Additionally, to switch to the Yocto environment, you need to run the m:oeinit t3-gem-o1 command.

Updating Configuration with Menuconfig

If you want to enable/disable various features (such as enabling the TFTP command) instead of modifying the source code, you can access menuconfig using the following commands.
In this example, the T3-GEM-O1 board will be used for explanation. If you are applying these steps for a different machine, change the machine name accordingly.
After making the desired changes, press the ESC key until the following window appears. Then, select the “Yes” button.
At this stage, you can recompile U-Boot, but your changes will only remain on your local machine and will be lost if you clean the build directory. To prevent this, follow the steps below.
Rename the fragment.config file in the meta-gemstone/dynamic-layers/meta-ti/recipes-bsp/u-boot-t3-gem-o1/files directory to a name that describes your changes without altering the .config extension. Then, add this name to the SRC_URI variable in the meta-gemstone/dynamic-layers/meta-ti/recipes-bsp/u-boot-t3-gem-o1/u-boot-t3-gem-o1_2025.04.bb file. For example, let’s assume we renamed the file to fragment-enable-tftp.config.
If the above commands complete successfully, the u-boot.img and u-boot-spl.bin files will be generated in the <sdk-directory>/build/t3-gem-o1/deploy-ti/images directory.

Modifying Source Code

Open the <sdk-directory>/build/tmp-musl/work/t3_gem_o1-gemstone-linux-musl/u-boot-t3-gem-o1/2025.04+git/git folder in your text editor. After making the desired changes, compile U-Boot using the following commands. To avoid losing your changes, you can create your own fork of the T3 Gemstone U-Boot repository and push your changes there.
After the compilation is complete, copy the generated files in the <sdk-directory>/build/t3-gem-o1/deploy-ti/images directory to the /boot directory on the SD card. If you have fixed an issue or added a new feature, you can create a pull request to the T3 Gemstone U-Boot repository so the community can benefit from it.