From the Wikipedia page, the free encyclopedia

Das U-Boot (Universal Bootloader) is an open source, primary boot loader used in embedded devices to package the instructions to boot the device's operating system kernel. It is available for a number of computer architectures, including 68k, ARM, AVR32, Blackfin, MicroBlaze, MIPS, Nios, SuperH, PPC and x86.

UDOO QUAD-DUAL ARM boards use Das U-Boot. This bootloader initializes the system, and loads kernel and file system to boot the OS.

Install the required packages

Some packages are needed to compile the U-Boot for UDOO boards. E.g. in Ubuntu 14.04 it is necessary to install the following packages:

sudo apt-get update
sudo apt-get install gawk wget git diffstat unzip texinfo gcc-multilib \
     build-essential chrpath socat libsdl1.2-dev xterm picocom ncurses-dev lzop \

Get the kernel sources from GitHub

Download the latest U-Boot revision from GitHub:

git clone
cd uboot-imx

To build the U-Boot for UDOO Quad/Dual, use the 2015.10.fslc-qdl branch. This branch is based on NXP™/Freescale U-Boot Community fork project.

git checkout 2015.10.fslc-qdl

Compile sources

The build can be started with:

ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- make udoo_qdl_defconfig
ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- make

The produced files, SPL and u-boot.img, can be used to boot both Quad and Dual boards.

Flash/Install the U-Boot on a microSD

Unmount all the Micro SD partitions:

sudo umount /dev/<user_name>/boot
sudo umount /dev/<user_name>/rootfs

NOTE: Be sure you’ re using the correct device filename (/dev/sdX or /dev/mmcblkX); use of the wrong device identifier could result in the loss of all data on the Hard Drive of the host PC used.

Double check the filename of your device with command:


Flash the files in the SD (e.g. /dev/sdb) card with:

sudo dd if=SPL of=/dev/mmcblk0 bs=1K seek=1
sudo dd if=u-boot.img of=/dev/mmcblk0 bs=1K seek=69

This page was last updated on Monday, March 21, 2022 at 5:19 AM.