Chinaunix首页 | 论坛 | 博客
  • 博客访问: 246108
  • 博文数量: 41
  • 博客积分: 928
  • 博客等级: 准尉
  • 技术积分: 550
  • 用 户 组: 普通用户
  • 注册时间: 2011-04-01 10:07
文章分类
文章存档

2011年(41)

分类: 嵌入式

2011-09-26 20:45:59

和许多人一样我也知道一点nfs,知道用nfs开发嵌入式很方便,我也用nfs来共享文件、目录等等,前面我也弄过nfs启动,那一段时间弄了好 久,后面还写了一篇比较详细的文章。但是我一直不是很明白究竟nfs启动时启动的什么?我只知道用nfs启动可以扩大空间,因为我们利用了pc机的硬盘。 其他的就不知道了,不知道启动的kernel在哪?还有程序运行在哪?

今天我上网搜了一下,发现很多人有和我一样的疑问,搜了比较多的资料,大概总结一下,如有不对的地方,欢迎指出。

其实就是一句话,nfs启动和从nandflash启动只是启动的根文件系统不一样,nandflash启动的时候根文件系统式从 nandflash拷贝到sdram中,而nfs启动的是从网络的服务器(既我们的开发主机)拷贝到2440开发板的sdram中,这样看来只是挂载根文 件系统的时候来源不同而已,启动后都是在开发板的sdram中运行。

linux的启动过程

bootloader ——> kernel ——> 根文件系统

只是启动内核后挂载根文件系统不同,这里引用一个网友的一段话

刚才分别试了一下从Nand Flash和nfs启动,以下是他们启动时输出的信息。
从Nand flash启动:
Copy linux kernel from 0x00060000 to 0x30008000, size = 0x00200000 ... done
zImage magic = 0x016f2818
Setup linux parameters at 0x30000100
linux command line is: "noinitrd root=/dev/mtdblock2 init=/linuxrc console=ttySAC0"
从nfs启动:
Copy linux kernel from 0x00060000 to 0x30008000, size = 0x00200000 ... done
zImage magic = 0x016f2818
Setup linux parameters at 0x30000100
linux command line is: "console=ttySAC0 root=/dev/nfs nfsroot=192.168.1.11:/home/cneyo/root_qtopia -o nolock ip=192.168.1.9:192.168.1.11:192.168.1.1:255.255.255.0:mini2440:eth0:off"
从以上内容可以看出从Nand Flash启动和从nfs启动,Bootloader加载的内核都是来自Nand Flash的kernel分区,只是他们挂载的根文件系统不同而已

mini2440 root_qtopia 文件系统启动过程分析

2011-09-26 20:45

阅读(2618) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~