Flash customized Linux Kernel Image and device tree using UUU Tool

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Flash customized Linux Kernel Image and device tree using UUU Tool

Flash customized Linux Kernel Image and device tree using UUU Tool

This guide provides a step-by-step approach for beginners looking to flash a custom Kernel Image or device tree on an NXP i.MX board.


Sometimes, we need to customize the Kernel Image or modify the device tree for our board. Fortunately, NXP provides the UUU (Universal Update Utility) tool, which allows us to flash and use a custom Kernel Image or update the device tree on our board.

 

Requirements

Before proceeding, ensure you have the following:

- The latest version of the UUU Tool.
- An i.MX EVK board (i.MX6, i.MX7, i.MX8, i.MX9).
- The power supply for the board.
- Two USB cables (USB-C or Micro USB, depending on your board).

 

Preliminary Steps

To customize the Kernel Image or device tree, refer to the following community posts:

- How to Fix FRDM-IMX93 Linux Kernel BSP
- How to Compile Linux Kernel Image and Device Tree Using Yocto SDK

 

Once you have your customized Linux Kernel Image or device tree ready, follow the steps below to deploy it to your board.

 

Flashing the Kernel Image or Device Tree

Connect and Prepare the Board

1. Connect the USB debug cable and the OTG cable from your board to your host computer.


2. Power on your board and stop the boot process at the U-Boot stage by pressing a key in the terminal.


3. Enter fastboot mode by running the following command in the U-Boot terminal:

u-boot -> fastboot 0

 

Flash the Custom Kernel Image or Device Tree

 

4. Open a terminal on your host computer and navigate to the directory containing the new Kernel Image or device tree.

5. Flash the new files using the following command:

$ uuu -b fat_write <file_name> mmc <device>:<partition> <file_name_in_board>




Example:

$ uuu -b fat_write imx93-11x11-evk.dtb mmc 0:1 imx93-11x11-evk-custom.dtb



In this example, the file imx93-11x11-evk.dtb stored on the host machine is flashed to the board's eMMC device, saving it as imx93-11x11-evk-custom.dtb.

 

Note: If you are using Linux, run the command with sudo.

- For eMMC and SD card, the command is the same; just ensure you use the correct device number.

- On the i.MX93, device 0 corresponds to eMMC, and device 1 corresponds to the SD card.

 

Update U-Boot Environment Variables

 

6. Exit fastboot mode by pressing CTRL+C. This returns you to the U-Boot terminal.


7. Set up the environment variablesto use the new files:



For the Kernel Image:

u-boot -> setenv image <custom_image_name>
u-boot -> saveenv
u-boot -> reset


For the Device Tree:

u-boot -> setenv fdtfile <custom_device_tree_name>
u-boot -> saveenv
u-boot -> reset



The board should now boot using your modified Kernel Image and device tree.

 

No ratings
Version history
Last update:
‎03-17-2025 10:44 AM
Updated by: