制作uImage

由于uboot 只能用来启动uImage,不能启动zImage,因此当内核编译结束生成zImage 镜像文件后,还需要进一步制作uImage 镜像.
(1)制作uboot 时,在uboot 的tools 目录下会生成mkimage 工具,约52kB.
(2)将tools 目录下生成的mkimage 文件拷贝到/bin 目录中.
            # cp u-boot/tools/mkimage /bin
(3)内核编译结束后,在arch/arm/boot 下生成zImage 文件.进入该目录,并在该目录下执行命令:

# mkimage -n ‘linux-2.6.34.7‘ -A arm -O linux -T kernel -C none -a 0x30008000 -e 0x30008000 -d zImage uImage.img

Image Name : linux-2.6.34.7
            Created : Sat Dec 25 00:27:42 2010
            Image Type : ARM Linux Kernel Image(uncompressed)
            Data Size : 1950476 Bytes = 1904.76kB = 1.86 MB
            Load Address: 30008000
            Entry Point : 30008000
(4)系统会在arch/arm/boot 目录下生成uImage.img 镜像文件.这样就完成了从zImage 到uImage 的制作

时间: 2024-10-19 12:45:01

制作uImage的相关文章

7、嵌入式linux内核制作

前面我们已经制作了uboot,接下来是制作kernel. 首先进入内核源码,执行make distclean.清除先前编译产生的文件. 注意配置内核的时候多了一个ARCH=arm的条件. 回车之后会进入arm的配置菜单: 就像我们前面配置linux内核一样,我们也会去找一个配置好的配置文件: 把config-file拷贝到我们的内核代码目录下: 然后把config-file拷贝成.config. 重新进入配置界面,发现配置生效了. 接下来就是内核的编译: 在编译的过程中会出现这样的一个错误: 这

zImage转换为uImage

写个随笔,备忘! 拿到一个内核后,首先将其make为zImage,步骤: 1.将与要移植的系统的配置文件拷贝给.config cp xxx_xxx .config 2.修改Makefile,指定平台构架和交叉编译环境 vim Makefile  ARCH  ?=XXX CROSS_COMPILE ?=xxxx 3.启动配置界面,定制内核 make nemuconfig 4.make zImage, 内核编译(make)之后会生成两个文件,一个Image,一个zImage,其中Image为内核映像

mini2440 uboot烧写uImage

mini2440下烧写u-boot后,就可以用u-boot烧写linux内核了. 安装mkimage工具: apt-get install u-boot-tools 解压缩官方mini2440 linux包: tar xf linux-2.6.32.2-mini2440-20130614.tar.gz 然后进入文件夹,并进行编译(配置文件应该选择和自己的lcd对应的配置来进行拷贝,因为我的开发板没有屏幕,所以就随便选取了一个配置): cd linux-2.6.32.2cp config_mini

制作ramdisk-u.img根文件系统

具体步骤如下:1.解压内核源码树解压linux-2.6.29-mini2440-20090708.tgz到自己的工作目录,会生成一个友善之臂修改过的并且有几个mini2440默认配置文件的内核源码目录linux-2.6.29.具体步骤参照友善之臂mini2440开发板用户手册,具体不详述了. 2.修改内核配置选项进入内核源码目录linux-2.6.29目录#cp config_mini2440_t35 .config#make menuconfig ARCH=arm打开配置菜单,修改两个配置项,

zImage和uImage的区别

http://blog.csdn.net/maojudong/article/details/4178118 zImage和uImage的区别 一.vmlinuz vmlinuz是可引导的.压缩的内核.“vm”代表“Virtual Memory”.Linux 支持虚拟内存,不像老的操作系统比如DOS有640KB内存的限制.Linux能够使用硬盘空间作为虚拟内存,因此得名“vm”. vmlinuz 的建立有两种方式.一是编译内核时通过“make zImage”创建,然后通过:“cp /usr/sr

(六)uboot引导启动内核

U-BOOT 给linux 内核传递合适参数的定义,在include/configs/mini2440.h #define CONFIG_SETUP_MEMORY_TAGS 1 #define CONFIG_INITRD_TAG 1 #define CONFIG_CMDLINE_TAG 1 制作uImage 添加变量 设置TFTP 启动

uboot初体验-----趣谈nand设备发起的浅显理解

1 选择Uboot版本号 2 移植uboot至console正常work 3 制造uImage和使用uboot指南 4 写NFC驱动器 5 uboot从nand启动引导系统 1 选择Uboot版本号 正所谓"工欲善其事,必先利其器".假设在整个过程中可以有一套友好的软硬件开发环境整个过程就比較顺利了. 戳中痛点-- 对于选择Uboot的版本号.一般人都会选择最新版本号.可是新版本号必定会有些结构上的差异.因此在选择好版本号之后,一定要细致分析一下如今的uboot  tree.然后选择合

【转】朱兆祺带你一步一步学习嵌入式(连载)

原文网址:http://bbs.elecfans.com/jishu_357014_2_1.html#comment_top  从最初涉及嵌入式Linux开始到现在,深深的知道嵌入式的每一步学习都是举步维艰.从去年11月份开始,我就着手整理各种学习资料,希望推动嵌入式学习的前进贡献自己微不足道的一份力量.从去年到现在,将C语言的学习经验整理成<攻破C语言笔试与机试陷阱及难点>(现在仍在更新),这份资料已经在电子发烧友论坛的单片机论坛连载(http://bbs.elecfans.com/jish

回味经典——uboot1.1.6 之 第二阶段 第三阶段

第一阶段:http://blog.csdn.net/lizuobin2/article/details/52054293 上篇文章说到,再清 BSS 段之后,CPU 跳转到 sdram 里的 start_armboot() 函数,本文,分析 uboot 流程的第二阶段.第三阶段. start_armboot函数在lib_arm/board.c中定义,是U-Boot第二阶段代码的入口.第二阶段的主要工作是进行单板级别的初始化,初始化 nandflash .norflash .初始化串口.设置环境变