在OK6410上实现NFS启动内核

一、使Uboot支持网络。(非必要)

  1. 在OK主页上有支持tftp的uboot驱动下载。(我直接下载,估计飞凌没提供是想用户自己学习一下移植。)

  2.在主机上装tftp服务器。查看一下转载的文章。

 

二、挂载NFS文件系统(参考手册内容,FORLINX_6410_yaffs2_v1.0.tgz这个根据不同内核版)

1. 准备NFS文件系统目录
启动nfs 服务之前,必须在Ubuntu 上准备好NFS 共享目录。
例如我们采用Ubuntu 的“/forlinx/root”作为NFS 共享目录,就需要将光盘中的“linux2.6.28/filesystem/FORLINX_6410_yaffs2_v1.0.tgz”压缩文件拷贝
到这个目录下,然后解压缩,得到根文件系统所需要的目录。
在Ubuntu 上打开一个终端,输入以下命令:
#mkdir /forlinx/root
将FORLINX_6410_yaffs2_v1.0.tgz 文件拷贝到该目录下,解压:
#tar –zxf FORLINX_6410_yaffs2_v1.0.tgz
2. 设置主机IP
这里我们将Ubuntu 的IP 设置为192.168.0.231
3. 配置NFS服务
在Ubuntu 上新建一个终端,依次输入以下命令:
#sudo apt-get install portmap
#sudo apt-get install nfs-kernel-server
#sudo gedit /etc/exports
在弹出的文本编辑器中编辑exports 文件,在最后一行添加:
/forlinx *(rw,sync,no_root_squash)
4. 启动NFS服务
#sudo /etc/init.d/portmap restart
#sudo /etc/init.d/nfs-kernel-server restart
5. 在开发板上设置并保存启动参数(这里可以利用UBOOT变量。自己定义几个不同的启动项,保存起来。)
在u-boot 命令行下输入以下命令设置U-boot 启动参数:
#setenv bootargs "root=/dev/nfs nfsroot=192.168.0.231:/forlinx/root
ip=192.168.0.232:192.168.0.231:192.168.0.201:255.255.255.0:witech.com.
cn:eth0:off console=ttySAC0,115200"
保存:
#saveenv
重新启动开发板,Linux 内核启动后会自动挂载NFS 文件系统。
在这,解释一下bootargs 参数中IP,以上述设置为例。在实际使用过程当中,请以实际
网络环境进行修改:
192.168.0.231 PC 端Ubuntu 的IP
192.168.0.232 开发板IP
192.168.0.201 网关
255.255.255.0 子网掩码
nfs 挂载成功,需要开发板网络设置、PC Linux 网络设置、硬件网线连接、开发板mount
这几部分都没有问题。如果没有成功挂载,需要从这几部分查找原因。如果是使用虚拟机安装
Linux,在挂载nfs 的时候,建议关闭Windows 的杀毒软件和防火墙。

 

三、启动。

1、配置、编译支持NFS启动的内核。

  A可以放在TFTP服务器上启动。

tftp 50008000 zImage

bootm 50008000 

启动完成后OK。   

  B可以烧到flash中去。

   UBOOT启动参数设置好后自然从NFS服务器上启动内核。

你可能感兴趣的:(在OK6410上实现NFS启动内核)