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
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
相关文章推荐
- Utilities Zynq in a PL only configuration
- 关于FPGA逻辑设计的21个小贴士
- 关于FPGA逻辑设计的21个小贴士
- 使用xilinx ip core FIFO First- World First-Through (FWFT)模式的注意事项
- 在EDK里面添加ISE IP core的方法
- 在Archlinux下安装Xilinx ISE12.3以及Digilent Adept的使用
- xilinx芯片cadence原理图库制作
- DDR3调试总结
- ISE MicroBlaze GPIO输入输出测试总结
- PicoBlaze软核使用例程
- Using XILINX IP Core Block RAM (1)
- Using XILINX IP Core Block RAM (2)
- Using XILINX IP Core Block RAM (3)
- 在ZedBoard上运行Linaro Ubuntu并挂载U盘
- FIFO结构与实现
- FPGA DDR2接口设计
- FPGA 429 接口设计
- xilinx "ERROR:EDK - intc () - Internal error: Num intr inputs 1 not the same as length of ..."解决
- zedboard---------在主机Ubuntu下面建立和开发板(busybox文件系统)通信的网络文件系统
- zedboard----------U盘不能挂载的原因