Boot mkimage工具使用说明

mkimage工具是u-boot用来制作镜像文件的工具,其源代码在u-boot源码的tools目录下:mkimage.c。我们使用bootm命令加载的内核和根文件系统,都要用这个工具加上个头。

U-Boot源代码下载地址

我们首先看下这个头的结构(一共64B):

typedef struct image_header {
 uint32_t ih_magic; /* Image Header Magic Number */
 uint32_t ih_hcrc; /* Image Header CRC Checksum */
 uint32_t ih_time; /* Image Creation Timestamp */
 uint32_t ih_size; /* Image Data Size  */
 uint32_t ih_load; /* Data  Load  Address  */
 uint32_t ih_ep;  /* Entry Point Address  */
 uint32_t ih_dcrc; /* Image Data CRC Checksum */
 uint8_t  ih_os;  /* Operating System  */
 uint8_t  ih_arch; /* CPU architecture  */
 uint8_t  ih_type; /* Image Type   */
 uint8_t  ih_comp; /* Compression Type  */
 uint8_t  ih_name[IH_NMLEN]; /* Image Name  */
} image_header_t;

  我们再看下上面哪些参数是需要我们传递给mkimage这个工具?下面是这个工具使用说明

[root@localhost linux]# 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'
          -O ==> set operating system to 'os'
          -T ==> set image type to 'type'
          -C ==> set compression type 'comp'
          -a ==> set load address to 'addr' (hex)
          -e ==> set entry point to 'ep' (hex)
          -n ==> set image name to 'name'
          -d ==> use image data from 'datafile'
          -x ==> set XIP (execute in place)
[root@localhost linux]#

-A:CPU 架构,可选的值有:

"alpha","arm","x86","ia64","m6k8","microblaze","mips","mips64","nios","nios2","ppc","s390","sh","sparc","sparc64",

"blackfin","avr32"。

-O:操作系统。可选的值有:

"4_4bsd","artos","esix","freebsd","irix","linux","lynxos","ncr","netbsd","openbsd","psos","qnx","rtems","sco","sloaris",

"u-boot",vxworks"

-T:镜像类型。可选的值有:

"filesystem","firmware","firmware","kernel","multi","ramdisk","script","standalone","flat_dt"

-C:镜像压缩类型。可选的值有:

"none","bzip2","gzip" none为没有压缩。

-n: 镜像名称。最长32个字符。

-a:镜像加载地址(16进制)

-e:镜像入口(16进制)

-d:制定制作镜像的源文件。

-x是指就在此执行的意思,就是说 入口 = 加载地址+64。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwjwjy.html