当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > romfs.img,image.rom,image.ram(1)

Unix/Linux
Linux 备份 恢复方法
Linux玩CS反恐精英的方法
在一个ISO镜像中集成多个不同的linux发行版,可刻盘,可引导
Linux 快捷键使用
Linux DHCP 服务器配置方法介绍
Linux 22端口的修改方法
Linux 记录会话过程的命令
Linux 后台执行程序如何操作?
linux Wget命令来浏览网页的方法
Linux tail命令的巧妙应用
Wine 中文存在很多的乱码怎么解决方法
linux 新手教程之创建锁文件的方法
配置Linux 保证其系统的安全
Linux DHCP协议实现过程
Linux系统下破解SAM密码
linux/unix vi 编辑器用法详解
Linux 误删文件的解决方法
Linux系统下的历史记录删除方法
Red Hat Linux 安全设置指南
Linux基本命令-注销、关机、重启

Unix/Linux 中的 romfs.img,image.rom,image.ram(1)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 71 ::
收藏到网摘: n/a


Q: 编译之后在 images 目录下生成的那些文件都是什么意思 A: 对于一些可能出现的文件,这里做一个解释: romfs.img: 这个文件是通过 tools/romfs-inst.sh 脚本,生成 romfs 目录及其 下面的文件,然后通过 genromfs 程序打包成一个文件 romfs.img romfs.img 既可以放在 flash 中,也可以放在 ram 中,但需要在 编译内核时在 driver/block/blkmem.c 里指定地址,以便内核找到.
linux.text: 编译后的内核中 text 段,一般放在 flash 中,只读.
linux.data: 编译后的内核中 data,init 段,一般放在 sdram 中,读写.
image.bin: 上面三个文件顺序连接而生成的 = linux.text + linux.data + romfs.img 有的时候还会得到:
image.rom: 通常 image.rom 的文件大小要比 image.ram 小很多,这是因为 image.rom 是 一个压缩过的内核,前面加上一个小的解压程序负责把内核解压后搬到指定位置. 这个文件可以直接烧进 flash 中,当然也可以在 ram 中运行.这个文件实际上 就是通常 linux 生成的 zImage 文件.
image.ram: 这个内核没有压缩过,而且必须在 ram 里运行.所以需要通过板子上的 bootloader 将它下载到指定位置后开始执行.相对 image.rom 而言,从 ram 里启动内核,则 代码段和数据段都在 ram 里面.这个文件是编译生成的 elf 格式的linux内核,通过 arm-elf-objcopy 工具生成的二进制映像文件.
可以这样形象的说: image.rom = gunzip program + gzipped(image.ram)
boot.rom: 其实就是 uClinux 编译完成后的文件 images/romfs.img,可以看一下它就是一个连接.