您的位置:首页 > 产品设计 > UI/UE

zedboard学习1 - uImage

2016-06-02 15:50 477 查看
1, 编译U-Boot

U-Boot是一个开源的BootLoader,作用是进行硬件的检测;将内核镜像,文件系统,设备树,加载到相应的内存区域,并向内核传递一些重要的参数。

$ cd ~&& mkdir build

(如果前者执行成功,则执行后者。进入用户home目录,然后创建文件夹build)

$ cd build

$ git clone https://bithub.com/Xilinx/u-boot-xlnx.git
(将这个URL地址的远程版本库完全克隆到当前录下面)

$ cd u-boot-xlnx

$ make zynq_zed_config

$ make

$ cp u-boot u_boot.elf

生成u-boot, 拷贝重命名得到u-boot.elf文件,用于制作BOOT.BIN文件。

(make指令可能需要安装openssl(提示找不到evp.h文件)$ sudo apt-get install openssl)

2, 编译uImage

是U-boot专用的映像文件,它是在zImage之前加上一个头,说明这个映像文件的类型、加载位置、生成时间、大小等信息。

$ cd ~/build

$ git clone https://github.com/Xilinx/linux-xlnx.git
$ git clone https://github.com/xupsh/configs_patch.git
$ cd linux-xlnx

$ cp ../configs_patch/xup_zed_defconfig ./arch/arm/configs/

(xup_zed_defconfig文件对内核进行配置)

$ make ARCH=arm xup_zed_defconfig

$ make ARCH=arm menuconfig

(可能需要安装curses(提示找不到curses.h文件):$ sudo apt-get install libncurses5-dev)

$ make ARCH=arm UIMAGE_LOADADDR=0x8000 uImage

$ cp arch/arm/boot/uImage .

(可能提示缺mkimage文件,安装指令:$ sudo apt-get install u-boot-tools)

3, 生成uramdisk.image.gz

在U-boot的配置文件中zynq_common.h中可以看到默认加载的文件系统文件名为uarmdisk.image.gz,所以需要为ramdisk.image.gz加上一个U-boot的头部

$ cd ~/build && mkdif filesys

$ cd filesys

$ wget http://wiki.xilinx.com/file/view/arm_ramdisk.image.gz
$ mkimage –A arm –T ramdisk –C gzip –d ramdisk.image.gz uramdisk.image.gz

4, 创建devicetree.dtb

5, 制作BOOT.BIN:

方法同之前vivado固化教程:fsbl.elf和xxx.bit及U-boot.elf
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  zedboard xilinx miz702