1.uboot.bin(引導程序)
從xilinx的git上下載u-boot-xlnx的源碼,解壓後重新編譯
編譯時出現錯誤:cc1: error: unrecognized command line option "-mno-unaligned-access"
solution:交叉編譯工具安裝錯誤,需要安裝xilinx提供的專用交叉編譯工具
下載地址:https://code.google.com/p/zedboard-book-source/downloads/list直接下載xilinx-2011.09-50-arm-xilinx-linux-gnueabi.bin
重新配置環境變量後,在根目錄下的.bashrc文件中添加ARCH和CROSS_COMPILE,即可
編譯出來會生成u-boot文件,該文件便是uboot.elf文件,在加上SDK上生成的fsbl.elf和PL(PS)部分的配置生成的system.bit文件,即可生成uboot.bin
2.uImage(linux系統鏡像)
從xilinx的git上下載linux-xlnx-xilinx的源碼(release/v14.7版本,tar.gz格式的壓縮包),解壓後重新編譯
make xilinx_zynq_defconfig配置
make UIMAGE_LOADADDR=0x8000 uImage
生成的uimage在/arch/arm/boot目錄下
3.devicetree.dtb(設備樹)
在/arch/arm/boot/dts文件目錄下
make dtbs會生成zynq_zed.dtb,這個文件就是devicetree.dtb
4.uramdisk.image.gz(根文件目錄系統)
如果需要手動生成的話比較複雜,不過可以去xilinx.wiki上去下載沒有uboot頭部信息的ramdisk.image.gz,然後通過uboot/tools目錄下的mkimage加入頭部信息,生成
uramdisk.image.gz
make -A arm(架構) -T ramdisk(類型) -C(壓縮方式) gzip -d(目錄選項) ./ramdisk.image.gz ./uramdisk.image.gz
PS:在過程中遇到的問題
bash:ls:command not found
similiar command is :'lz'
solution :在將uboot/tools添加進環境變量時,PATH裏面需要添加/bin