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

Unix/Linux
REDHAT企业版LINUX5.0安装过程图解教程
Linux系统下安装phpmyadmin方法
RedHat Enterprise Linux 5下配置Apache+Mysql+Php
Linux和Windows双系统Grub丢失恢复
Linux系统下touch命令的使用方法
linux下面建立GPRS无线MODEM拨号的方法
redhat linux AS4 下配置无线网卡
让Linux操作系统开机默认进入文本模式
Linux文件权限的设置方法与技巧
linux chown与chmod命令的区别
Linux关机命令详细说明
linux系统 加载u盘、光盘、软盘方法
Linux系统下防止 ARP 欺骗_绑定IP地址和MAC地址
Linux系统中Mysql的安装备份与密码恢复
Linux系统下添加新硬盘,分区,格式化相关步骤
Linux系统下编译安装支持NTFS的内核模块
调整Linux磁盘分区的大小的方法
正确关闭Linux计算机的命令和方法
查看Linux系统下Raid信息
Linux下单网卡绑定多IP与多网卡共用单IP 的方法

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 87 ::
收藏到网摘: 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。