we suggest to read the following pages before you proceed with this page

Finally, you will find the built images in platform-MBa335x/images.

Complete system images:

  • sd.hdimg : is a bootable image primarily for SD Card, but works for eMMC, too.
  • boot-mlo.vfat : fat filesystem with MLO, u-boot and linux-kernel
  • root.ext2 : ext2 rootfs

Bootloader images:

  • u-boot.bin
  • u-boot.img : u-boot image for SD Card/eMMC
  • u-boot_spi.bin
  • u-boot_spi.img : u-boot image for SPI NOR Flash
  • MLO : (second program loader SPL) for SD Card/eMMC
  • MLO_spi.byteswap

Linux images:

  • linuximage : Kernel (uImage)
  • am335x-mba335x.dtb : device tree blob for TQMa335x on MBa335x

Rootfs images:

  • root.ext2
  • root.tgz
  • root.jffs2


In this context, firmware refers to a complete system image (see above), including U-Boot, Linux Kernel and Root Filesystem.

For convenience, the default U-Boot environment provides several variables, which can be used to transfer (parts of) the firmware between different storage locations (e.g. SD card, eMMC, NFS, …). The names of these variables adhere to the syntax

upd_<PART>_<TARGET>_<SOURCE>

with the following options

<PART>   = firmware | uboot | kernel | rootfs
<TARGET> = emmc | sd | spi
<SOURCE> = emmc | sd | net

The size of the firmware is stored in mmcfirmwareblksize, please set accordingly if your firmware exceeds the default size of 0x32000.
Formula to calulate the mmcfirmwareblksize
Size of sd.hdimg in bytes / 512 = convert the result into a hex value

For example, to copy the whole firmware from SD card to eMMC execute

U-Boot# run upd_firmware_emmc_sd

For further details, please have a look at the contents of the respective environment variable, e.g.

U-Boot# printenv upd_firmware_emmc_sd

upd_firmware_emmc_sd=mmc dev ${sddev} && mmc rescan && mmc read ${loadaddr} 0 ${mmcfirmwareblksize} && mmc dev ${emmcdev} && mmc rescan && mmc write ${loadaddr} 0 ${mmcfirmwareblksize}
  • Last modified: 2022/08/04 15:02