VM + ubuntu16.04_32
1.下载源码
https://github.com/Xilinx/u-boot-xlnx
2.解压unzip
root# unzip u-boot-xlnx-master.zip
3.uboot编译
(1) 编译过程中遇到的问题有:
Your GCC is older than 6.0 and is not supported
原因:交叉编译器有点old,解决方法有
下载新的gcc交叉编译工具 或者编辑arch/arm/config.mk 将红色部分改为0404即不小于gcc4.x版本
#checkgcc6:
# @if test "$(call cc-name)" = "gcc" -a \
# "$(call cc-version)" -lt "0600"; then \
# echo '*** Your GCC is older than 6.0 and is not supported'; \
# false; \
# fi
(2) include/image.h opensslevp.h:No Such file or directory 确实OpenSSL库
root # apt-get install libssl-dev
(3) 解决以上问题后,可以编译完成
# make distclean
# make zynq_zc706_defconfig
# make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
# cp tools/mkimage /bin (后面制作uramdisk使用)
将u-boot code根目录下的u-boot重名为u-boot.elf,然后和fsbl.efl用xilinx_SDK create image 生成boot.bin
将生成的BOOT.BIN 拷贝到SD卡,然后从SD卡启动可以看出启动的u-boot是由前面介绍的交叉编译生成的