首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

Xilinx Zynq Linux内核源码编译过程

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
记录学习中的点点滴滴,让每一天过的更加有意义!
返回列表