OK6410挂载nfs文件系统

来源:互联网 发布:es6 class 知乎 编辑:程序博客网 时间:2024/05/21 11:31

http://blog.csdn.net/h516077808/article/details/8465088

linuxNFS

目录(?)[-]

  1. NFS就是网络文件系统用NFS可以实现把宿主机的目录挂载到开发板上这样用宿主机进行交叉编译时就不用用USB或者SD卡将编译好的文件拷贝到开发板上运行了
  2. OK6410的板子的网孔插上网线连接到PC网线接的那个路由器上
  3. 首先在linux虚拟机上准备nfs共享目录nfsroot
  4. linux虚拟机上
  5. mkdir   nfs
  6. chmod  777 nfs
  7. cd  nfs
  8. mkdir root
  9. chmod  777  root
  10. cd root
  11. mkdir   succeed
  12. 在虚拟机上配置nfs服务
  13. 首先判断linux上是否安装有nfs
  14. 我的是在etcinitd文件下看看是否有portmap   nfs  
  15. etcinitdportmap
  16. etcinitdnfs
  17. 如果没有这些执行
  18. su - root
  19. apt-get install  portmap
  20. apt-get install  nfs-kernel-server
  21. 编辑exports文件
  22. vi   etcexports
  23. 添加这个nfsroot  rwsyncno_root_squash
  24. 启动nfs服务
  25. etcinitdportmap  restart
  26. etcinitdnfs   restart
  27. 检测运行状态也可以不检测
  28. etcinitdportmap  status
  29. 出现  is running
  30. 否则
  31. etcinitdportmap  start
  32. etcinitdnfs  start
  33. ping通 开发板跟虚拟机linux
  34. 再虚拟机linux上执行
  35. ifconfig
  36. 知道虚拟主机IP为12521732237

  37. 启动开发板进入到linux系统
  38. 再终端上输入
  39. ifconfig
  40. 得到开发板linux的IP为
  41. 如果IP跟虚拟主机的IP不在同一网段就修改下
  42. ifconfig  eth0  1252172332   反正是12521732xx同一网段
  43. ping一下
  44. 终端上输入ping  12521732237
  45. ctrlc退出
  46. packets transmitted 5 packets received 0 packet loss
  47. 这时候PING通了
  48. 挂载nfs文件到开发板上
  49. 再终端上输入
  50. mount   -t   nfs  12521732237nfsroot    mnt  -o nolock
  51. 含义是 宿主机IP宿主机的nfs目录    开发板挂载目录
  52. 然后进入到mnt下就看到nfsroot下的目录succeed了
  53. umount   mnt

  54. 注意
  55. 板子跟电脑的linux系统可以PING通了终端上还是出现 mount   提示  mount RPC Unable to receive errno  No route to host
  56. 这时候可能要关闭防火墙
  57. 在虚拟主机linux上执行
  58. service iptables stop
  59. service nfs restart
  60. 或者你mount露写了一个 -o nolock
  61. 为了测试主机上NFS服务是否启动
  62. IP必须得ping通
  63. 如果要修改arm板子上IP重启后不改变如果是 yaffs2文件的话
  64. 就在
  65. etcinitdrcS文件在sbinifconfig lo 127000 下添加一行sbinifconfig eth0 1252173223  up
  66. 修改etceth0-settin 不知道那个etcinitdifconfig-eth0要不要修改将其IP地址改成你想要设置的IP 
  67. 重启开发板
  68. 使用ifconfig命令就发现IP地址已经修改过来了
  69. 如果是cramfs文件只能重做一个cramfs文件cramfs是只读的
















NFS就是网络文件系统,用NFS可以实现把宿主机的目录挂载到开发板上,这样用宿主机进行交叉编译时就不用用USB或者SD卡将编译好的文件拷贝到开发板上运行了.

1.OK6410的板子的网孔插上网线连接到PC网线接的那个路由器上

2.首先在linux虚拟机上准备nfs共享目录:/nfs/root

linux虚拟机上:

mkdir   nfs

chmod  777 nfs

cd  nfs

mkdir root

chmod  777  root

cd root

mkdir   succeed

3.在虚拟机上配置nfs服务

首先判断linux上是否安装有nfs

我的是在/etc/init.d文件下看看是否有portmap   nfs  

/etc/init.d/portmap

/etc/init.d/nfs

如果没有这些执行:

su - root

apt-get install  portmap

apt-get install  nfs-kernel-server

4.编辑exports文件

vi   /etc/exports

添加这个:/nfs/root  *(rw,sync,no_root_squash)

5.启动nfs服务

/etc/init.d/portmap  restart

/etc/init.d/nfs   restart

检测运行状态(也可以不检测)

/etc/init.d/portmap  status

出现  is running...

否则

/etc/init.d/portmap  start

 /etc/init.d/nfs  start

6.ping通 开发板跟虚拟机linux

再虚拟机linux上执行

ifconfig

知道虚拟主机IP为125.217.32.237

 

启动开发板进入到linux系统

再终端上输入

ifconfig

得到开发板linux的IP为。。。。。

如果IP跟虚拟主机的IP不在同一网段,就修改下

ifconfig  eth0  125.217.23.32   (反正是125.217.32.xx同一网段)

ping一下

终端上输入ping  125.217.32.237

得到PING 125.217.32.237 (125.217.32.237): 56 data bytes
64 bytes from 125.217.32.237: seq=0 ttl=64 time=24.942 ms
64 bytes from 125.217.32.237: seq=1 ttl=64 time=1.518 ms
64 bytes from 125.217.32.237: seq=2 ttl=64 time=1.025 ms
64 bytes from 125.217.32.237: seq=3 ttl=64 time=0.906 ms
64 bytes from 125.217.32.237: seq=4 ttl=64 time=0.743 ms

ctrl+c退出

packets transmitted, 5 packets received, 0% packet loss

这时候PING通了

7.挂载nfs文件到开发板上

再终端上输入

mount   -t   nfs  125.217.32.237:/nfs/root    /mnt  -o nolock

含义是: 宿主机IP:宿主机的nfs目录    开发板挂载目录

然后进入到/mnt下就看到/nfs/root下的目录succeed了

8. umount   /mnt

/**************************************************************************************/

注意:

1.板子跟电脑的linux系统可以PING通了,终端上还是出现 mount   提示:  mount: RPC: Unable to receive; errno = No route to host》》》》??

这时候可能要关闭防火墙

在虚拟主机linux上执行

service iptables stop

service nfs restart

或者你mount露写了一个 -o nolock

2.为了测试主机上NFS服务是否启动,

先在虚拟主机上mount -t nfs  125.217.32.237:/nfs/root    /mnt
然后用命令:ls  /mnt查看挂载内容(或者看能否在mnt目录下看到nfs/root目录)
成功后卸载umount

3. IP必须得ping通

4.如果要修改arm板子上IP重启后不改变,如果是 yaffs2文件的话

就在

/etc/init.d/rcS文件,在/sbin/ifconfig lo 127.0.0.0
 
下添加一行/sbin/ifconfig eth0 125.217.32.23  up

修改/etc/eth0-settin
 (不知道那个/etc/init.d/ifconfig-eth0要不要修改)
将其IP地址改成你想要设置的IP
 

重启开发板,

使用ifconfig命令,就发现IP地址已经修改过来了


如果是cramfs文件,只能重做一个cramfs文件,cramfs是只读的

/********************************************************************************************************************************************************************/

1.确定自己用网线把电脑跟开发板连接了起来,或者接到路由器或者交换机上

2.再虚拟机linux上service  iptables    stop

3. /etc/init.d/portmap   start

4./etc/init.d/nfs  start

5.启动开发板进入到uboot,在 u-boot 命令行下输入以下命令设置 u-boot 启动参数:
setenv bootargs "root=/dev/nfs nfsroot=192.168.0.231:/6410/root
ip=192.168.0.232:192.168.0.231:192.168.0.2 0 1:255.255.255.0:witech.com.
cn:eth0:off console=ttySAC0,115200"
saveenv

 (注意nfsroot=192.168.0.231:/6410/root是自己挂载nfs的目录,ip=192.168.0.232是自己开发板的IP,自己设的,但要同一网段,后面的192.168.0.231:192.168.0.201:255.255.255.0是在虚拟机linux上的ifconfig看到的eth0看到的IP)   

6.重新启动开发板,就挂载NFS网络文件系统了

7.在开发板上的linux命令行输入writeyaffs就可以开始自动烧写(注意MY 6410_yaffs2_v1.0.tgz 一定要放在系统根目录下)

8.要放在文件系统根目录下)
设置 u-boot 启动参数:
setenv bootargs "root=/dev/mtdblock2 rootfstype=yaffs2
console=ttySAC0,115200"
saveenv   

9.   重启启动就可以使用yaffs2文件系统了!!



0 0
原创粉丝点击