Tiny6410 通过 NFS 起根文件系统

今个真高兴啊(真的不容易啊),Tiny6410 终于可以通过 NFS 起根文件系统了,那个 Linux 系统总算跑起来了(相对 initramfs 起根文件系统就是好用)!

 

今天完美解决了:nfs: server 192.168.1.111 not responding, still trying 这个问题(后面有解决方法在步骤 7 中有详细的说明,说白了就是设置好 bootargs 这个 UBoot 环境变量,其实是很简单的)!

 

1、需要的实验器材(怎么感觉像是做实验的,呵呵~~)

 

1)友善之臂提供的 NFS 文件系统(厂家提供的光盘里都有)。

2)友善之臂提供的 Linux2.6.38 这个源码。

3)RHEL5 虚拟机(当然里面得有必须的交叉工具链、NFS 工具等)。

4)超级终端软件。

5)Tiny6410 开发板!

 

 

2、实验步骤

 

关于如何解压文件啊之类的,这个完全自行就可以解决,我这里只是说操作部分!

 

 

1)编译 /etc/exports 文件,设置共享目录。



 

 

2)启动 nfs 服务!

Tiny6410 通过 NFS 起根文件系统_第1张图片

 


 

3)进入 Linux2.6.38 内核文件,拷贝厂商提供的 config 文件到主目录的 .config 文件。

Tiny6410 通过 NFS 起根文件系统_第2张图片

 

 

4)直接 make menuconfig,由于厂商都已经做好了,所以这里就两点需要更改的,首先是取消 initramfs(这个在 General Setup 里面),然后选中 NFS(这个貌似在 File System -> NetWork File System 里面)!

Tiny6410 通过 NFS 起根文件系统_第3张图片

Tiny6410 通过 NFS 起根文件系统_第4张图片 

 

 

5)然后执行命令编译!

Tiny6410 通过 NFS 起根文件系统_第5张图片

 

 

 

6)编译完成后,找到文件,放到 /tftpboot 目录下。

Tiny6410 通过 NFS 起根文件系统_第6张图片

 

 

 

7)从 NandFlash 启动 Tiny6410,然后修改 UBoot 的环境变量 bootargs(就是这里了,可以解决一开始文章的 not responding 的问题)!

KG鈥擳iny6410 <wbr>通过 <wbr>NFS <wbr>起根文件系统

注意:

首先呢,我用红色的横杠画出了空格的地方!然后就是其中的意思了:

console=ttySAC0                 ttySAC0 作为控制台

 

root=dev/nfs                    固定格式,表示内核采用 nfs 方式起根文件系统

 

nfsroot=192.168.1.111:nfs/rootfs_qtopia_qt4

                                表示的是 nfs 起的根文件系统位于 nfs 服务器 /nfs/rootfs_qtopia_qt4

                                目录下,我的虚拟机的 IP 为:192.168.1.111

 

,proto=tcp,nfsvers=3,nolock    如果不加这条语句会造成上面的 nfs: server 192.168.1.111 

                               not responding, still trying 这样的错误!

原因:NFS 的默认传输协议是 UDP,而PC机与嵌入式系统通过UPD交互时就会出现严重的网卡丢包现象(这个也只是暂时的分析)!貌似好多人都说是网卡移植出现的问题!具体我也就不知道了,反正写上这个,然后就没有问题了

 

ip=192.168.1.113:192.168.1.111:192.168.1.1:250.250.250.0:_Justin:eth0:off

                               这句话的格式是:ip=IP1:IP0:IP2:IP3:nameofyoulike:eth0:off

                               第一项(IP1)是目标板的临时IP(注意不要和局域网内其它的IP有冲突)

                               第二项(IP0)是我的虚拟机的IP

                               第三项(IP2)是目标板上网管(GW)的设置,这个参数设置跟虚拟机网管一致

                               第四项(IP3)是子网掩码

                               第五项(yourname)是开发板的名字(随便啦)

                               第六项(eth0)是网卡设备的名字

 

 

 

8)通过 tftp 下载位于虚拟机 /tftpboot 目录下的 uImage 文件到 0x50000000 处!

Tiny6410 通过 NFS 起根文件系统_第7张图片

 

 

 

9)bootm 吧~~

Tiny6410 通过 NFS 起根文件系统_第8张图片

 

 

 

10)等待查看,按提示按下 Enter!

Tiny6410 通过 NFS 起根文件系统_第9张图片

Tiny6410 通过 NFS 起根文件系统_第10张图片

到这里就可以完美的在 Tiny6410 上用 NFS 起根文件系统了!!!!

你可能感兴趣的:(linux,虚拟机,server,System,qt,NetWork)