How to update U-Boot on pico-imx7d board ---------------------------------------- Required software on the host PC: - imx_usb_loader: https://github.com/boundarydevices/imx_usb_loader Build U-Boot for pico: $ make mrproper $ make pico-imx7d_defconfig $ make This generates the U-Boot binary called u-boot.imx. Put pico board in USB download mode (refer to the PICO-iMX7D Quick Start Guide page 3) Connect a USB to serial adapter between the host PC and pico. Connect a USB cable between the OTG pico port and the host PC. Open a terminal program such as minicom. Copy u-boot.imx to the imx_usb_loader folder. Load u-boot.imx via USB: $ sudo ./imx_usb u-boot.imx Then U-Boot starts and its messages appear in the console program. Use the default environment variables: => env default -f -a => saveenv Run the UMS command: => ums 0 mmc 0 Transfer u-boot.imx to be flashed into the eMMC: $ sudo dd if=u-boot.imx of=/dev/sdX bs=1K seek=1; sync Remove power from the pico board. Put pico board into normal boot mode. Power up the board and the new updated U-Boot should boot from eMMC. Building U-Boot to boot with NXP 4.1 kernel: The NXP 4.1 kernel boots only in secure boot mode on mx7. Follow the next steps to enable secure boot: $ make mrproper $ make pico-imx7d_defconfig $ make menuconfig -> ARM architecture -> [*] Enable support for booting in non-secure mode -> [*] Boot in secure mode by default -> Exit $ make Flash u-boot.imx using the imx_usb_loader tool.