• 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
  • 相关阅读:
    PHP部署调优-自动部署工具
    set容器与map容器的简单应用
    POJ2431 优先队列+贪心
    离散数学交并补运算、差运算、异或运算的实现--biaobiao88
    构造命题公式的真值表--biaobiao88
    队列的简单使用
    二叉树的查找(前序、中序、后序、层序遍历)--biaobiao88
    A
    取整
    JavaScript对象
  • 原文地址:https://www.cnblogs.com/evan-cai/p/3972458.html
Copyright © 2020-2023  润新知