本文内容依据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

Xilinx-Zynq Linux内核源码编译过程的更多相关文章

  1. Ubuntu 14.04 LTS 下 android 2.3.5 源码编译过程

    Ubuntu 14.04 LTS 下 android 2.3.5 源码编译过程   在新的Ubuntu 64位系统下去编译早期的安卓源码是会出现很多问题的,因为64位系统在安装完成后,很多32位的兼容 ...

  2. linux内核源码注解

    轻松学习Linux操作系统内核源码的方法 针对好多Linux 爱好者对内核很有兴趣却无从下口,本文旨在介绍一种解读linux内核源码的入门方法,而不是解说linux复杂的内核机制:一.核心源程序的文件 ...

  3. ubuntu下linux内核源码阅读工具和调试方法总结

    http://blog.chinaunix.net/uid-20940095-id-66148.html 一 linux内核源码阅读工具 windows下当然首选source insight, 但是l ...

  4. Linux内核源码分析方法

    一.内核源码之我见 Linux内核代码的庞大令不少人“望而生畏”,也正因为如此,使得人们对Linux的了解仅处于泛泛的层次.如果想透析Linux,深入操作系统的本质,阅读内核源码是最有效的途径.我们都 ...

  5. Linux基础系列—Linux内核源码目录结构

    /** ****************************************************************************** * @author    暴走的小 ...

  6. Linux内核源码分析--内核启动之(3)Image内核启动(C语言部分)(Linux-3.0 ARMv7)

    http://blog.chinaunix.net/uid-20543672-id-3157283.html Linux内核源码分析--内核启动之(3)Image内核启动(C语言部分)(Linux-3 ...

  7. Linux内核源码分析--内核启动之(6)Image内核启动(do_basic_setup函数)(Linux-3.0 ARMv7)【转】

    原文地址:Linux内核源码分析--内核启动之(6)Image内核启动(do_basic_setup函数)(Linux-3.0 ARMv7) 作者:tekkamanninja 转自:http://bl ...

  8. Linux内核源码分析--内核启动之(4)Image内核启动(setup_arch函数)(Linux-3.0 ARMv7)【转】

    原文地址:Linux内核源码分析--内核启动之(4)Image内核启动(setup_arch函数)(Linux-3.0 ARMv7) 作者:tekkamanninja 转自:http://blog.c ...

  9. 和菜鸟一起学linux内核源码之基础准备篇

    来源:http://blog.csdn.net/eastmoon502136/article/details/8711104 推荐阅读:linux内核源码最初版linux内核源代码,简单易懂,适合初学 ...

随机推荐

  1. 你也可以玩转Skype -- 基于Skype API开发外壳程序入门

    原文:你也可以玩转Skype -- 基于Skype API开发外壳程序入门 Skype是目前这个星球上最厉害的IM+VOIP软件,Skype现在已经改变了全球2.8亿人的生活方式.你,值得拥有! :) ...

  2. Windows系统下Redis的安装

    Redis是一个用的比较广泛的Key/Value的内存数据库,新浪微博.Github.StackOverflow 等大型应用中都用其作为缓存,Redis的官网为http://redis.io/. 最近 ...

  3. cfs

    转自:http://www.cnblogs.com/openix/p/3254394.html 下文中对于红黑树或链表组织的就绪队列,统称为用队列组织的就绪队列.                    ...

  4. Codeforces 461B Appleman and Tree(木dp)

    题目链接:Codeforces 461B Appleman and Tree 题目大意:一棵树,以0节点为根节点,给定每一个节点的父亲节点,以及每一个点的颜色(0表示白色,1表示黑色),切断这棵树的k ...

  5. vim跳转

    w 跳到下一个单词的开始 e 跳到单词的结束 b 向后跳 gg 跳到文件的开始 G 跳到文件的结束 10gg 或10G 跳到第10行 ta 跳到下一个a 前面 fa 跳到下一个a 大写的意思相反 另外 ...

  6. 多线程编程 (2) -NSOperation

    一.NSInvocationOperation 二.NSBlockOperation 三.NSOperation的其他用法 四.自定义NSOperation 1.上一讲简单介绍了NSThread的使用 ...

  7. iptables的配置文件/etc/sysconfig/iptables不存在怎么办

    iptables的配置文件/etc/sysconfig/iptables不存在怎么办 首先要看一下iptables是否安装了,使用service iptables status或yum info ip ...

  8. 使用C/C++发展Web系统开源

    下载 见 C++开发的论坛系统 - BBS 下载地址:Fetch_source_code_release_vse2008_v1.2.1.7z 眼下先暂存在百度云上,最近会放入github 当前版本号的 ...

  9. ElasticSearch 与 Solr 的对比测试

    ElasticSearch 与 Solr 的对比测试 本文从两个方面对ElasticSearch和Solr进行对比,从关系型数据库中的导入速度和模糊查询的速度. 单机对比 1. Solr 发布了4.0 ...

  10. Java获取系统相关信息System.getProperty()

    java.version Java 运行时环境版本 java.vendor Java 运行时环境供应商 java.vendor.url Java 供应商的 URL java.home Java 安装目 ...