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

Unix/Linux
Linux crontab定时执行任务 命令格式与详细例子
linux 查看用户及用户组的方法
让Linux系统有效防御ARP攻击的实用技巧
Linux 常用软件列表
linux wget 一个强大的下载命令
linux 常用脚本、命令
linux 磁盘配额 简单介绍
Linux服务器架设笔记 Squid服务器配置
ubuntu intel 集成显卡安装
ubuntu 9.04 X3100 显卡开启3D特效
Ubuntu 8.10 Server Ruby 的安装方法
Ubuntu root帐户密码修改
ubuntu下apt-get 命令参数
Ubuntu Linux下实现QQ的三种方式
Ubuntu 8.04中建立PHP+MySQL环境
Ubuntu常用软件大全
Ubuntu系统下安装Aircrack-ng
Ubuntu实现FTP功能
ubuntu 字体美化实现方法
ubuntu下netbeans汉字显示残缺问题

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


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


优龙论坛 (http://www.ucdragon.com/bbs/index.asp)-- FS44B0X系列 (http://www.ucdragon.com/bbs/list.asp?boardid=44)---- 请问如何生成image.rom 和 image.ram (http://www.ucdragon.com/bbs/dispbbs.asp?boardid=44&id=907)
优龙论坛 (http://www.ucdragon.com/bbs/index.asp)-- FS44B0X系列 (http://www.ucdragon.com/bbs/list.asp?boardid=44)---- 请问如何生成image.rom 和 image.ram (http://www.ucdragon.com/bbs/dispbbs.asp?boardid=44&id=907)-- 作者:redsun-- 发布时间:2003-12-31 22:11:35-- 请问如何生成image.rom 和 image.ram我去uclinux的网站下载了uClinux,可以生成 image.bin 和 romfs.img,但是要生成image.rom 和 image.ram还需要什么呢?-- 作者:xcpzd-- 发布时间:2004-1-2 9:25:31-- 我也是看别人的,我也有同样的问题,whaler是没有执行下面的第一步1、进入linux-2.4.x/arch/armnommu/boot/compressed目录执行ln -s vmlinux.lds.in linux.lds.in(链接一个编译bzImage需要的文件实际上我的rom版跑出来还有问题,但为了编译还是要这一步) 2、进入linux-2.4.x/arch/armnommu目录,修改config.in里面存储器参数,原为8M DRAM,改为16M。修改vmlinux-armv.lds.in,在*(.got) /* Global offset table */ 下加上romfs_data = .;romfs.oromfs_data_end = .;3、进入linux-2.4.x/drivers/block目录,修改blkmem.c,定义一个#ifdef CONFIG_BOARD_SNDS100extern char romfs_data[];#endif再在struct arena_t { .........} arena[] = { 后加上#ifdef CONFIG_BOARD_SNDS100 {0, romfs_data, -1},#endif4、修改uClinux-dist目录下(即总的编译目录)的Makefile,在TFTPDIR = /tftpboot 下加一行LINUXTARGET = bzImage5、修改vendors/Samsung/4510B/Makefile,原来的-IMAGE = $(IMAGEDIR)/image.bin-ELFIMAGE = $(IMAGEDIR)/image.elf两行改为ROMIMAGE = $(IMAGEDIR)/image.romRAMIMAGE = $(IMAGEDIR)/image.ram并取消其中最后连接的命令 $(CROSS_COMPILE)objcopy -O binary --remove-section=.romvec --remove-section=.text --remove-section=.ramvec --remove-section=.init --remove-section=.bss --remove-section=.eram $(ROOTDIR)/$(LINUXDIR)/linux $(IMAGEDIR)/linux.data$(CROSS_COMPILE)objcopy -O binary --remove-section=.ramvec --remove-section=.bss --remove-section=.data --remove-section=.eram --set-section-flags=.romvec=CONTENTS,ALLOC,LOAD,READONLY,CODE $(ROOTDIR)/$(LINUXDIR)/linux $(IMAGEDIR)/linux.textcat $(IMAGEDIR)/linux.text $(IMAGEDIR)/linux.data $(ROMFSIMG) > $(IMAGE)改为 $(CROSS_COMPILE)ld -r -o $(ROOTDIR)/$(LINUXDIR)/romfs.o -b binary $(ROMFSIMG)$(CROSS_COMPILE)objcopy -O binary -R .note -R .comment -S $(ROOTDIR)/$(LINUXDIR)/linux $(RAMIMAGE) cp $(ROOTDIR)/$(LINUXDIR)/arch/armnommu/boot/zImage $(ROMIMAGE)上面步骤基本OK了,运行编译过程make menuconfig 选中芯片4510,库先用uc-libcmake dep 生成依赖关系make lib_only 编译库make user_only 编译选中的用户程序make romfs 生成romfs文件目录 make image 第一次编译会有错误提示,但先生成了romfs.img,和romfs.omake 编译内核并与romfs.o连接成可运行的image.ram、image.rom注意在 make user_only时如果因boa出错可先不选它,或选用户程序时不选old_password生成的image.ram文件可以下载到4510板上运行,注意它的波特率是19200。