免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5586 | 回复: 6
打印 上一主题 下一主题

[BootLoader] uboot如何实现flash启动uImage和rootfs [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-01-22 15:41 |只看该作者 |倒序浏览
uboot如何实现flash启动uImage和rootfs

我现在已经实现了uboot通过tftp方式下载PC虚拟机redhat下uImage文件;系统启动成功;加载nfs文件系统,启动成功。
配置如下:
//保证uImage文件存在于主机/tftpboot目录下;保证rootfs文件存在于主机/temp目录下;nfs方式启动rootfs系统
[u-boot@MINI2440]# setenv bootcmd tftp 31000000 uImage \; bootm 31000000  //中间有两个空格
[u-boot@MINI2440]# setenv bootargs noinitrd root=/dev/nfs rw nfsroot=192.168.0.1
01:/temp/rootfs ip=192.168.0.105:192.168.0.101::255.255.255.0 console=ttySAC0,11
5200 init=/linuxrc mem=64M   //没有分行分段,是一句话

现在我需要实现重新上电后,不需要重新tftp下载,直接从flash启动uImage,文件系统yaffs也在flash中
另外我有几个问题
1.下载uImage到指定的flash地址 命令怎么实现?norflash or nandflash,地址一般是多少
2.我的文件系统名为rootfs,如何下载rootfs到flash? rootfs是yaffs or cramfs (supervivi下我是用mkyaffs2img) 下载地址如何设置
3.我的bootargs bootcmd又该怎么设置?

论坛徽章:
5
摩羯座
日期:2014-07-22 09:03:552015元宵节徽章
日期:2015-03-06 15:50:392015亚冠之大阪钢巴
日期:2015-06-12 16:01:352015年中国系统架构师大会
日期:2015-06-29 16:11:2815-16赛季CBA联赛之四川
日期:2018-12-17 14:10:21
2 [报告]
发表于 2015-01-23 17:10 |只看该作者
elesun8 发表于 2015-01-22 15:41
uboot如何实现flash启动uImage和rootfs

我现在已经实现了uboot通过tftp方式下载PC虚拟机redhat下uImage文 ...


这个mini2440参考手册里面应该有说的
一般是先down导flash的对应的区域里面,这个区域又叫分区,下载进去后,设置bootloader去对应的分区加载对应的image就可以了

论坛徽章:
0
3 [报告]
发表于 2015-01-23 17:22 |只看该作者
多谢高手指点。谢谢

论坛徽章:
0
4 [报告]
发表于 2015-01-24 11:32 |只看该作者

nand flash uboot启动Linux系统 问题

1.要想nand flash方式启动Linux,是不是要先把uboot下载到nand flash中,如何操作?
(通过H-JTAG下载uboot.bin到mini2440 nand flash ???
  还是在norflash uboot启动后,#cp.b )

2.把uImage拷贝到nand flash中
先#tftp 31000000 uImage (把宿主机中的uImage通过网络tftp方式下载到mini2440内存地址31000000)
然后#nand write 31000000 0 300000  (nand write - addr off|partition size)
我如何确认uImage size的大小??? (300000)

[u-boot@MINI2440]# nand write 31000000 0 300000

NAND write: device 0 offset 0x0, size 0x300000
Writing at 0x20000 -- NAND write to offset 64 failed 0
0 bytes written: ERROR
这又是怎么回事??? (ERROR)

3.设置bootcmd参数
[u-boot@MINI2440]# setenv bootcmd 'cp.b xxxx 31000000 300000(size); bootm 31000000'
xxxx处,应该为nand flash中uImage的地址,如何确认这个地址???
size的大小,如何确认??? (300000)

4.关于rootfs
我在宿主机制作了根文件rootfs
我是不是要把rootfs写到nand flash,如何操作??? (先tftp .img再nand write? addr 和 size 如何确定)

5.
是不是nand flash中有了uImage和rootfs,bootcmd参数正确就可以从nand flash正常启动系统了???

论坛徽章:
3
CU大牛徽章
日期:2013-03-13 15:29:07CU大牛徽章
日期:2013-03-13 15:29:49CU大牛徽章
日期:2013-03-13 15:30:19
5 [报告]
发表于 2015-01-28 16:04 |只看该作者
1 在norflash uboot启动后,#cp.b
2 写之前,先擦除相应区域
3 这个地址和你 nand write的地址相同。
   size的话,tftp之后会提示处来。
4.先挂NFS吧,把前面问题解决了,再看这个。当然是要写入flash的
5 若uImage没问题的话,是的

论坛徽章:
0
6 [报告]
发表于 2015-02-01 12:00 |只看该作者
多谢指点。
4.关于rootfs
我在宿主机制作了根文件rootfs
我是不是要把rootfs写到nand flash,如何操作??? (先tftp .img再nand write? addr 和 size 如何确定)

nfs启动rootfs已经实现

论坛徽章:
0
7 [报告]
发表于 2015-02-02 16:03 |只看该作者
是不是按照下图所示操作,先mkyaffs2image rootfs rootfs.yaffs.

nand write yaffs.JPG (56.08 KB, 下载次数: 63)

nand write yaffs.JPG
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP