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

Unix/Linux
FreeBSD下提高MySQL使用效率
Samba简介
linux技巧:清除U盘病毒的方法
Linux技巧:如何在不摧毁Win系统的情况下体验Linux
linux技巧:修改系统22端口的方法
Linux教程:10条秘诀确保Linux桌面安全性
Linux技巧:介绍两种修改22端口的方法
硬盘安装Puppy Linux 4.0中文版全过程
Linux教程:文件系统基础知识
Linux新手入门教程:教你硬盘挂载方法
如何在双系统下卸载Linux系统
Linux教程:通过管理工具自建防火墙
在Linux系统上编译构建谷歌Chromium浏览器
Linux教程:修改文件权限命令chmod的用法
用Ubuntu自带的FTP服务器vsftpd的一些技巧
Linux教程:设置时间与同步的方法(NTP)
Linux的压缩打包方式之tar命令
Linux中广泛使用的防垃圾邮件技术
在Ubuntu系统中如何对文件进行加密传输
Linux系统防火墙的伪装机制抵抗恶意黑客攻击

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 157 ::
收藏到网摘: 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,可以看一下它就是一个连接.