u-boot中mkimage工具的具体使用
来源:互联网 发布:淘宝助理 又要适配 编辑:程序博客网 时间:2024/06/05 22:40
通常,u-boot为kernel提供一些kernel无法知道的信息,比如ramdisk在RAM中的地址。Kernel也必须为U-boot提供必要的信息,如通过mkimage这个工具(在u-boot代码的tools目录中)可以给zImage添加一个header,也就是使得通常编译的内核zImage添加一个数据头,把添加头后的image通常叫uImage,uImage是可以被U-boot直接引导的内核镜像。那么如何使用mkimage工具而产生uImage的呢?下面将具体介绍mkimage工具的使用:
1.首先查看mkimage的命令参数
[root@localhost tools]# ./mkimage
Usage: ./mkimage -l image
-l ==> list image header information
./mkimage [-x] -A arch -O os -T type -C comp -a addr -e ep -n name -d data_file
[:data_file...] image
-A ==> set architecture to 'arch' //用于指定CPU类型,比如ARM
-O ==> set operating system to 'os' //用于指定操作系统,比如Linux
-T ==> set image type to 'type' //用于指定image类型,比如Kernel
-C ==> set compression type 'comp' //指定压缩类型
-a ==> set load address to 'addr' (hex) //指定image的载入地址
-e ==> set entry point to 'ep' (hex) //内核的入口地址,一般是:image的载入地址+0x40(信息头的大小)
-n ==> set image name to 'name' //image在头结构中的命名
-d ==> use image data from 'datafile' //无头信息的image文件名
-x ==> set XIP (execute in place) //设置执行位置
2.制作添加头的uImage
[root@localhost boot]# ./mkimage -A arm -O linux -T kernel -C none -a 30008000 -e 30008040 -n linux-2.6.13 -d zImage uImage
Image Name: linux-2.6.13
Created: Sat Dec 20 19:42:38 2008
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 1588584 Bytes = 1551.35 kB = 1.51 MB
Load Address: 0x30008000
Entry Point: 0x30008040
注意:大家可以根据创建的头信息来验证个参数的含义。比如Image Name就是-n选项指定的内容,Load Address就是-a选项指定的内容,Entry Point就是-e选项指定的内容。
3.下载并执行uImage。
u-boot(armzone)=> tftp 30008000 uImage
TFTP from server 192.168.0.3; our IP address is 192.168.0.7
Filename 'uImage'.
Load address: 0x30008000
Loading: #################################################################
#################################################################
#################################################################
#################################################################
###################################################
done
Bytes transferred = 1588648 (183da8 hex)
u-boot(armzone)=> bootm
## Booting image at 30008000 ...
Image Name: linux-2.6.13
Created: 2008-12-20 11:42:38 UTC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 1588584 Bytes = 1.5 MB
Load Address: 30008000
Entry Point: 30008040
Verifying Checksum ... OK
XIP Kernel Image ... OK
boot linux
Starting kernel ...
Uncompressing Linux......................................................................................................... done, booting the kernel.
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/TopEmbedded/archive/2008/12/22/3581871.aspx
- u-boot中mkimage工具的具体使用
- u-boot中mkimage工具的具体使用
- u-boot中mkimage工具的具体使用
- u-boot中mkimage工具的具体使用
- u-boot中mkimage工具的具体使用
- u-boot中mkimage工具的具体使用
- U-boot中mkimage的说明
- u-boot mkimage工具使用说明
- u-boot mkimage 的用法
- 利用u-boot 的工具mkimage 把zImage转换为uImage的方法
- u-boot中fdt命令的使用
- u-boot中env命令的使用
- u-boot中setexpr命令的使用
- u-boot中fdt命令的使用
- u-boot中fdt命令的使用
- u-boot的使用
- u-boot的使用
- U-boot mkimage指定Linux内核地址时的两种方式
- 梦里人第七章
- IE 和 FIREFOX 下 图片变灰 禁用
- 话说程序员职业生涯
- 字符串转整形和整数变字符串
- Flv的播放过程中Swf中的右键菜单侦听失效
- u-boot中mkimage工具的具体使用
- 利用CImage完成图片的显示、拷贝、绘制及转换图片格式
- symbian 活动对象理解
- 用CTime类得到当前日期、时间、星期,格式化
- Unicode码和ASCII码的详细解释
- 关于 js跳转 的一些整理..
- LINUX C 定时器
- 有效的记忆与学习
- HTML表格在IE中值为空时不显示表格边框的解决方法