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


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

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

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

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

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

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

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的生成

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

make ARCH=arm dtbs

zynq-zed.dtb是我們需要的文件,改名為devicetree.dtb

如果只想生成zynq-zed.dtb,在linux源代碼根目錄輸入以下命令即可

make ARCH=arm zynq-zed.dtb
5.編譯的生成:
make ARCH=arm modules
make ARCH=arm modules_install INSTALL_MOD_PATH=../rootfs


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM