2026-06-08 UUU + UMS + eMMC Bring-up Note
Goal
Bring up the i.MX6ULL AES board through USB SDP, expose eMMC through UMS, burn a full eMMC image, then boot either:
run netbootaes: TFTP kernel/DTB + NFS rootfs.run emmcbootaes: eMMC boot partition kernel/DTB + eMMC rootfs.
Conversation Summary
- Initial plan was to avoid unstable fastboot flashing.
- UUU should only boot U-Boot into RAM through USB SDP.
- U-Boot should expose eMMC through UMS.
- The host should not copy only
zImage/DTB to a mounted drive letter for production flashing, because that can miss raw U-Boot, partition table, or rootfs. - Correct full burn flow: use Rufus/DD/raw-image mode to write
out/release-latest/images/imx6ull-aes-emmc.imgto the UMS-exposed eMMC. - First UUU lst failed because it referenced
u-boot-dtb.imxrelative totools/uuu/. - Fixed lst to load
../../out/release-latest/uboot/u-boot-dtb.imx. - U-Boot then entered old
bootcmd_mfg, which fell through tofastboot 0. - Fixed board default manufacturing environment so USB/mfgtools boot runs UMS instead of fastboot.
- Updated both U-Boot source and
patches/uboot-imx/charlies_board.patch. - Rebuilt U-Boot at
out/release-latest/uboot/u-boot-dtb.imx. - Verified the new U-Boot image contains:
bootcmd_mfg=echo Run eMMC UMS ...; mmc dev ${emmc_dev}; ums 0 mmc ${emmc_dev};Files Changed
tools/uuu/imx6ull-aes-ums.lsttools/uuu/README.mdthird_party/uboot-imx/include/configs/mx6ull_aes_emmc.hpatches/uboot-imx/charlies_board.patch
Current U-Boot Environment Snapshot
The board currently reports:
baudrate=115200
bootcmd=echo Current do not autoboot
bootcmd_mfg=mmc dev 1; ums 0 mmc 1
bootdelay=-1
emmc_dev=1
ethact=ethernet@20b4000
ethprime=eth1
loadaddr=0x80800000The environment is minimal and needs normal boot variables.
Host-side Assumptions
TFTP directory:
~/tftpFiles expected in TFTP:
zImage
imx6ull-aes.dtbNFS rootfs:
/home/charliechen/imx-forge/rootfs/nfsCommon tutorial network values:
board ipaddr = 192.168.60.200
serverip = 192.168.60.1
netmask = 255.255.255.0
gatewayip = 192.168.60.1Host Preparation
Copy TFTP files:
mkdir -p ~/tftp
cp out/release-latest/images/zImage ~/tftp/
cp out/release-latest/images/imx6ull-aes.dtb ~/tftp/
chmod a+r ~/tftp/zImage ~/tftp/imx6ull-aes.dtbHistorical kernel NFS server /etc/exports entry:
/home/charliechen/imx-forge/rootfs/nfs 192.168.60.0/24(rw,sync,no_subtree_check,no_root_squash)Reload kernel NFS exports:
sudo exportfs -ra
sudo systemctl restart nfs-kernel-serverNote: on the newer WSL2 setup, kernel nfs-kernel-server hung on local NFSv3 mounts. Use NFS-Ganesha instead and pin mountport=20048. See:
document/notes/2026-06-08-wsl2-nfsroot-ganesha-troubleshoot.mdU-Boot Environment: Quick Paste Block
Paste this in U-Boot, adjusting IP values if the host network differs:
setenv ipaddr 192.168.60.200
setenv serverip 192.168.60.1
setenv gatewayip 192.168.60.1
setenv netmask 255.255.255.0
setenv hostname imx6ull-aes
setenv nfs_iface eth0
setenv loadaddr 0x80800000
setenv fdt_addr 0x83000000
setenv fdt_addr_r 0x83000000
setenv bootfile zImage
setenv fdt_file imx6ull-aes.dtb
setenv nfsrootdir /home/charliechen/imx-forge/rootfs/nfs
setenv nfsargs 'setenv bootargs console=ttymxc0,115200 root=/dev/nfs rw nfsroot=${serverip}:${nfsrootdir},vers=3,proto=tcp,nolock,port=2049,mountport=20048 ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}:${nfs_iface}:off'
setenv netbootaes 'run nfsargs; tftp ${loadaddr} ${bootfile}; tftp ${fdt_addr} ${fdt_file}; bootz ${loadaddr} - ${fdt_addr}'
setenv emmcargs 'setenv bootargs console=ttymxc0,115200 root=/dev/mmcblk1p2 rootfstype=ext4 rootwait rw'
setenv emmcdevsetup 'mmc dev ${emmc_dev}'
setenv loademmcimage 'ext4load mmc ${emmc_dev}:1 ${loadaddr} /zImage'
setenv loademmcfdt 'ext4load mmc ${emmc_dev}:1 ${fdt_addr} /imx6ull-aes.dtb'
setenv emmcbootaes 'run emmcargs; run emmcdevsetup; run loademmcimage; run loademmcfdt; bootz ${loadaddr} - ${fdt_addr}'
setenv bootcmd 'run emmcbootaes'
setenv bootdelay 1
saveenvManual test commands:
run netbootaes
run emmcbootaesIf eMMC rootfs fails with VFS: Cannot open root device, try:
setenv emmcargs 'setenv bootargs console=ttymxc0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait rw'
run emmcbootaesCurrent Caveat
out/release-latest/images/imx6ull-aes-emmc.img must be regenerated after U-Boot changes if the image should contain the latest eMMC-resident U-Boot. The temporary UUU U-Boot only runs from RAM.