Zedboard-制作uboot引导加载器【详细步骤】
2015-02-05 19:52
246 查看
在之前的文档中笔者已经写了有关内核源码树、根文件系统的定制笔记,但是工程中用的u-boot.elf文件还是例子中的,没有亲自动手编译过,心里总觉得不太明白,于是乎就下载了uboot的源码,仔细查看了有关README并成功的编译生成了启动引导加载程序u-boot.elf,下面是详细的步骤
1、下载uboot源码,https://github.com/Digilent/u-boot-digilent,笔者用的源码是2012-04-01版本的,为了方便笔者将其共享出来。
2、解压缩源码,并进入该目录
3、查看README,可以看到,UBOOT的最简单的编译方法是按照对应的主板的config文件来make就可以了,而具体的目录是在include/configs,笔者切换工作目录到该文件夹下,查看是否有zynq相关配置文件,具体如图1所示:
图1
可以看到最后一个选项即为我们要找的头文件,使用vim打开该文件,具体如下所示(部分截图)
图2
可以看到这个文件里面定义了一些特定的参数,例如IP地址,内核大小、根文件系统大小等等,如果需要修改的话可以修改如下,为了和官方提供的uboot区分开,笔者修改了参数CONFIG_SYS_PROMPT的值,将其改为jefby-boot,下一步,我们开始配置uboot并编译生成u-boot.elf文件,
4、配置并编译
切换目录到第2步解压缩的目录下,输入如下所示命令
make zynq_zed_config
make
5、拷贝u-boot到U盘中,并打开ISE工程,使用XILINX PROGRAM工具制作BOOT.BIN文件。如图3所示:
图3
请注意烧写的顺序,制作完成后将生成的 u-boot.bin文件修改为BOOT.BIN文件,连同devicetree.dtb、ramdisk8M.image.gz、zImage一起拷贝到SD卡中,完成后使用串口和ZEDBOARD连接,并设置从SD卡启动,启动后在串口窗口中输入任意键,这样就可以手动来引导linux系统具体如图4所示:
在图4中可以看到,此时系统的CONFIG_SYS_PROMPT值已经是我们刚才设置的jefby-boot,输入mmcinfo查看mmc信息,接着输入如下命令:
fatload mmc 0 0x8000 zImage //从mmc的第一个FAT分区加载zImage到处理器的0x8000内存处
fatload mmc 0 0x1000000 devicetree.dtb//从mmc的第一个FAT分区加载devicetree.dtb到处理器的0x1000000内存处
fatload mmc 0 0x800000 ramdisk8M.image.gz //从mmc的第一个FAT分区加载ramdisk8M.image.gz到处理器的0x800000内存处
go 0x8000 //从内存的0x8000处开始运行linux内核
具体如图5所示:
完成后,可以看到已经成功启动了!具体如图6所示:说明我们制作的uboot引导加载器已经成功运行了!
图4
图5
图6
分类:记录-OpenHW12
1、下载uboot源码,https://github.com/Digilent/u-boot-digilent,笔者用的源码是2012-04-01版本的,为了方便笔者将其共享出来。
2、解压缩源码,并进入该目录
3、查看README,可以看到,UBOOT的最简单的编译方法是按照对应的主板的config文件来make就可以了,而具体的目录是在include/configs,笔者切换工作目录到该文件夹下,查看是否有zynq相关配置文件,具体如图1所示:
图1
可以看到最后一个选项即为我们要找的头文件,使用vim打开该文件,具体如下所示(部分截图)
图2
可以看到这个文件里面定义了一些特定的参数,例如IP地址,内核大小、根文件系统大小等等,如果需要修改的话可以修改如下,为了和官方提供的uboot区分开,笔者修改了参数CONFIG_SYS_PROMPT的值,将其改为jefby-boot,下一步,我们开始配置uboot并编译生成u-boot.elf文件,
4、配置并编译
切换目录到第2步解压缩的目录下,输入如下所示命令
make zynq_zed_config
make
5、拷贝u-boot到U盘中,并打开ISE工程,使用XILINX PROGRAM工具制作BOOT.BIN文件。如图3所示:
图3
请注意烧写的顺序,制作完成后将生成的 u-boot.bin文件修改为BOOT.BIN文件,连同devicetree.dtb、ramdisk8M.image.gz、zImage一起拷贝到SD卡中,完成后使用串口和ZEDBOARD连接,并设置从SD卡启动,启动后在串口窗口中输入任意键,这样就可以手动来引导linux系统具体如图4所示:
在图4中可以看到,此时系统的CONFIG_SYS_PROMPT值已经是我们刚才设置的jefby-boot,输入mmcinfo查看mmc信息,接着输入如下命令:
fatload mmc 0 0x8000 zImage //从mmc的第一个FAT分区加载zImage到处理器的0x8000内存处
fatload mmc 0 0x1000000 devicetree.dtb//从mmc的第一个FAT分区加载devicetree.dtb到处理器的0x1000000内存处
fatload mmc 0 0x800000 ramdisk8M.image.gz //从mmc的第一个FAT分区加载ramdisk8M.image.gz到处理器的0x800000内存处
go 0x8000 //从内存的0x8000处开始运行linux内核
具体如图5所示:
完成后,可以看到已经成功启动了!具体如图6所示:说明我们制作的uboot引导加载器已经成功运行了!
图4
图5
图6
分类:记录-OpenHW12
相关文章推荐
- 制作framework库文件的详细步骤---iOS9,Xcode7.2
- 制作映像(dmg)文件详细步骤
- 制作Windows Server 2003/08 image详细步骤与OpenStack介绍
- (4)qt5制作简易计算器详细步骤(ui界面)
- ZedBoard-自定义IP核实现+PS成功调用【详细步骤+流程介绍+源码】
- 制作WinPE 2.0详细步骤
- U大师U盘启动盘制作教程 详细图解步骤教你怎么装统(Win7PE精简版)
- uboot1.3.4(带DM9000A网卡)移植到扬创2440-F的移植详细步骤
- (4)qt5制作简易计算器详细步骤(ui界面)
- 一步一步学zedboard之十三利用u-boot引导内核
- 【OpenHW12参赛手记】ZedBoard-自定义IP核实现+PS成功调用【详细步骤+流程介绍+源码】 转载
- 幻灯片------最最详细的制作步骤
- 手动制作mini linux详细步骤—之一
- (4)qt5制作简易计算器详细步骤(ui界面)
- 用VB.Net2008制作安装程序详细步骤
- 制作带busybox的U盘文件系统详细步骤
- android rom制作之bootimg的详细介绍和使用
- 手动制作mini linux详细步骤—之二
- (4)qt5制作简易计算器详细步骤(ui界面)
- android rom制作之bootimg的详细介绍和使用