内核编译时生成uImage的办法

时间:2021-04-16 16:32:00

1、把U-boot tools/mkimage 拷贝到 /usr/local/bin目录下,编译时自动生成uImage

2、手动生成

另外将采用命令行的方式也贴出来,方便进行对比:

首先进入u-boot的tool目录:

然后执行:

mkimage -A arm -O linux -T kernel -C none -a 30008000 -e 30008000 -n linux-2.6.10   -d zImage uImage

参数含义如下:

-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)

 

参数说明:  

-A 指定CPU的体系结构:   取值 表示的体系结构 alpha Alpha arm A RM  x86 Intel x86 ia64 IA64 mips MIPS  mips64 MIPS 64 Bit ppc PowerPC s390 IBM S390 sh SuperH sparc SPARC  sparc64 SPARC 64 Bit m68k MC68000  

-O 指定操作系统类型,可以取以下值:  openbsd、netbsd、freebsd、4_4bsd、linux、svr4、esix、solaris、irix、sco、dell、ncr、lynxos、vxworks、psos、qnx、u-boot、rtems、artos  

-T 指定映象类型,可以取以下值:  standalone、kernel、ramdisk、multi、firmware、script、filesystem  

-C 指定映象压缩方式,可以取以下值: none 不压缩  gzip 用gzip的压缩方式 bzip2 用bzip2的压缩方式  

-a 指定映象在内存中的加载地址,映象下载到内存中时,要按照用mkimage制作映象时,这个参数所指定的地址值来下载  

-e 指定映象运行的入口点地址,这个地址就是-a参数指定的值加上0x40(因为前面有个mkimage添加的0x40个字节的头)  

-n 指定映象名  

-d 指定制作映象的源文件