U-Boot popularity is driven by a large developer’s community which maintains and writes new functions. This community includes major SOC manufacturers like Applied Micro and Freescale. U-Boot is fully compatible with Linux by offering a direct interface by passing arguments and resources structure to the kernel for an optimum system initialization.
Based on the latest technology, the Flat Device Tree (FDT) supports accurate system configuration and resources allocation. The FDT is dynamically defined and pass to the Linux Kernel during boot process. This approach allows a dynamic system board configuration even if a hardware modification is applied without modifying the software code.
Network download: TFTP, BOOTP, DHCP, NFS
Serial download: s-record, binary (via Kermit)
Flash management: copy, erase, protect, cramfs, jffs2
Flash Types: CFI NOR-Flash, NAND-Flash
Memory utilities: copy, dump. crc, check, mtest
Mass Storage Devices: IDE, SATA, USB
Boot from disk: raw block, ext2, fat, reiserfs
Interactive shell: choice of simple or "busybox" shell with many scripting features.