zedboard学习1 - uImage

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值