Flashing Yocto Image

1.Boot from SD card

Prerequisites

  • Download the pre-built Yocto bootable Yocto image & bootloader click_here.

  • Copy the pre-built bootable Yocto image to the working directory on your development host.

  • For Windows users, download and use Win32DiskImager to flash the image onto the SD card.

Flashing will erase all data on the SD card. A card with at least 16 GB of storage is recommended

1.1 Windows Host

Insert a blank MicroSD card into the development host and launch the Win32DiskImager tool.

  • The SD card device is detected automatically.

  • Click the file explorer icon to select the image file.

  • Navigate to the downloaded directory on the development host, choose the image, and click Write to begin the process.

The tool will warn the user that all data will be lost. Click “Yes” to proceed.

  • After completion, click “OK” when the Write successful message appears.

  • Eject the SD card, insert it into the target board, set the switch settings to 0110 and power it on to boot up.

Boot Settings SW1 SW2 SW3 SW4
SD Card 0 1 1 0
SPI Carrier 0 0 1 0
Remote GbE 0 1 0 0
eMMC module 1 0 0 0
Recovery or Serial Download Mode 0 0 0 1

1.2 Linux Host

  • Insert the SD card into your Linux machine.
  • Open a terminal and identify your SD card using lsblk
lsblk

Look for a device that matches the size of your SD card (e.g., /dev/sdX, where X is the device letter, such as b, c, etc.). Ensure that you identify the correct device to avoid overwriting the wrong disk.

  • You can use the dd command to write the Yocto image to the SD card. Replace /path/to/yocto-image.img with your actual Yocto image file path, and /dev/sdX with the correct SD card device (without the partition number, e.g., /dev/sdX and not /dev/sdX1).
sudo dd if=/path/to/yocto-image.img of=/dev/sdX bs=4M status=progress
  • Once dd finishes, it’s a good idea to flush the cache and ensure the SD card is properly written
sudo sync
  • Eject the SD card, insert it into the target board, set the switch settings to 0110 and power it on to boot up.
Boot Settings SW1 SW2 SW3 SW4
SD Card 0 1 1 0
SPI Carrier 0 0 1 0
Remote GbE 0 1 0 0
eMMC module 1 0 0 0
Recovery or Serial Download Mode 0 0 0 1

2.Boot from eMMC

2.1 Windows Host

  • Change the boot settings to Recovery mode/Serial Download mode (0001) on your I-Pi SMARC LEC-iMX95.

    Boot Settings SW1 SW2 SW3 SW4
    SD Card 0 1 1 0
    SPI Carrier 0 0 1 0
    Remote GbE 0 1 0 0
    eMMC module 1 0 0 0
    Recovery or Serial Download Mode 0 0 0 1
  • Your development host must be connected to the target board using a micro USB OTG cable, and the board must be powered via a power cable.

  • Install the WinUSB driver using Zadig click here.

  • Open Zadig, locate your USB-connected device, go to Options, and click List All Devices.

  • The connected USB device would be the **OO Blank XX or **USB download gadget. Select that device and choose “Replace Driver”

  • Click here to download the UUU tool and copy them to C:/Windows/System32 directory.

  • Run the Windows Command Prompt as Administrator and navigate to the directory where you downloaded UUU tool. Type the following commands

uuu.exe -b emmc_all (file_path_of_boot_loader) (file_path_of_image_file)
  • Take off all the cables from the carrier, such as the power cord and USB cable. Set the boot settings to eMMC 1000.
Boot Settings SW1 SW2 SW3 SW4
SD Card 0 1 1 0
SPI Carrier 0 0 1 0
Remote GbE 0 1 0 0
eMMC module 1 0 0 0
Recovery or Serial Download Mode 0 0 0 1

2.2 Linux Host

  • Modify the switch settings to Recovery Mode/Serial Download Mode (0001) on your I-Pi SMARC LEC-IMX95.

  • Click here to download the UUU tool

  • Connect your development host to the target board using a micro USB OTG cable and ensure the board is powered with a power cable.

  • To run the UUU tool, navigate to the downloaded directory and enter the following commands in the Linux terminal.

sudo cp ~/Downloads/uuu /usr/bin
sudo chmod +x /usr/bin/uuu
ls
  • Using these UUU commands, you can check the USB devices and flash the image to the eMMC.
uuu -lsusb
sudo uuu -b emmc_all (file_path_of_boot_loader) (file_path_of_image_file)
  • Disconnect all cables from the carrier, including the power cord and USB cable. Then, set the boot settings to eMMC (1000).
  • Power on the target device to boot up.