Xilinx-Zynq Linux內核源碼編譯過程

本文內容依據http://www.wiki.xilinx.com網址編寫,編譯所用操做系統爲ubuntu 14linux

1.交叉編譯環境的安裝配置git

1)http://www.wiki.xilinx.com/Install+Xilinx+Toolsgithub

2.uboot的編譯
1)下載uboot源代碼
下載uboot源代碼,務必要下載tar.gz格式的文件,地址:ubuntu

https://github.com/Xilinx/u-boot-xlnx/releases

進入u-boot目錄下tools目錄,添加路徑到環境變量:spa

u-boot-xlnx$ cd tools
tools$ export PATH=`pwd`:$PATH

否則編譯內核生成uImage和製做ramdisk時會提示錯誤。操作系統

2)進入uboot根目錄,編譯:
make ARCH=arm zynq_zed_config
make ARCH=arm 
編譯後的u-boot無後綴名,其實爲zed(microzed)下的可執行文件elf格式,供FSBL生成boot.bin使用,u-boot.bin爲二進制格式。
3.linux內核的編譯
1)下載源代碼
下載xilinx的linux源代碼,務必要下載tar.gz格式的文件,地址:
https://github.com/Xilinx/linux-xlnx/releases
2)編譯源代碼
進入根目錄,依次用下列命令編譯,最後生成的uImage位於 linux-xlnx/arch/arm/boot目錄下
make ARCH=arm xilinx_zynq_defconfig
make ARCH=arm menuconfig
make ARCH=arm UIMAGE_LOADADDR=0x8000 uImage

4.devicetree的生成code

在Linux源代碼目錄下, 編譯目標爲"dtbs"時會把全部的dts文件編譯成dtb文件,全部的dts文件和生成的dtb文件都位於linux-xlnx/arch/arm/boot/dts/目錄下blog

make ARCH=arm dtbs

zynq-zed.dtb是咱們須要的文件,更名爲devicetree.dtbget

若是隻想生成zynq-zed.dtb,在linux源代碼根目錄輸入如下命令便可it

make ARCH=arm zynq-zed.dtb
5.編譯的生成:
make ARCH=arm modules
make ARCH=arm modules_install INSTALL_MOD_PATH=../rootfs
相關文章
相關標籤/搜索