/arch Architecture-specific files
/arc Files generic to ARC architecture
/arm Files generic to ARM architecture
/m68k Files generic to m68k architecture
/microblaze Files generic to microblaze architecture
/mips Files generic to MIPS architecture
/nds32 Files generic to NDS32 architecture
/nios2 Files generic to Altera NIOS2 architecture
/powerpc Files generic to PowerPC architecture
/riscv Files generic to RISC-V architecture
/sandbox Files generic to HW-independent "sandbox"
/sh Files generic to SH architecture
/x86 Files generic to x86 architecture
/xtensa Files generic to Xtensa architecture
/api Machine/arch-independent API for external apps
/board Board-dependent files
/boot Support for images and booting
/cmd U-Boot commands functions
/common Misc architecture-independent functions
/configs Board default configuration files
/disk Code for disk drive partition handling
/doc Documentation (a mix of ReST and READMEs)
/drivers Device drivers
/dts Makefile for building internal U-Boot fdt.
/env Environment support
/examples Example code for standalone applications, etc.
/fs Filesystem code (cramfs, ext2, jffs2, etc.)
/include Header Files
/lib Library routines generic to all architectures
/Licenses Various license files
/net Networking code
/post Power On Self Test
/scripts Various build scripts and Makefiles
/test Various unit test files
/tools Tools to build and sign FIT images, etc.
u-boot源码中存在大量开发板的对应代码,
这些代码都是经过验证可以正常工作的。
编译时只需要在u-boot代码根目录下,
make <开发板名>deconfig
就会输出提示
configuration written to .config
此时u-boot即被配置为开发板的的编译环境。
再
make all
经过编译后,即生成出二进制文件u-boot.bin和u-boot.dtb等文件。
u-boot源码中虽然已经提供了大量开发板的代码,
可对于较新的开发板依然是没有的,
但一般硬件厂家会提供他们已经调试好的u-boot源码,
或者直接给用户二进制文件。