交叉编译环境中虚拟机ubuntu向开发板传送文件的方法

预备知识:

NFS是什么?

NFS:Network File System(网络文件系统),NFS只是一种文件系统,本身并没有传输功能,是基于RPC协议实现的,为C/S架构。也就是说,NFS也只是文件系统而已,与jffs2,yaffs,ext4等是一类东西。但是NFS的特殊之处在于,它可以通过网络来挂载,而不用烧写到设备上。这就跟网吧里使用PXE启动来搭建无盘系统一样:每台电脑并没有安装硬盘,而是直接通过PXE启动服务器上的系统,看起来每台电脑都有硬盘,其实都是挂载服务器上的硬盘。

NFS怎么用?

前边已经介绍过,NFS是C/S架构,也就是说,使用NFS需要搭建服务器和客户端。客户端很简单,自带的uboot已经添加了对NFS客户端的支持,我们只需要管NFS服务器。这个服务器其实跟TFTP、Samba服务器、Ftp服务器也是一类的东西,直接在Ubuntu上使用命令安装即可,

前提条件:

1. 开发板上要烧写好文件系统

2. 能正常开机进入Linux系统

3.uboot中启动参数类似这种  bootargs=noinitrd

root=/dev/mtdblock3

init=/linuxrc

console=ttySAC0

接着按如下步骤执行

1.在ubuntu上搭建(下载)、配置和重启NFS服务器

安装: sudo apt-get install nfs-kernel-server

配置 :sudo vi /etc/exports 在文件里添加

就是在文件里添加了如下语句

/work/nfs               *(rw,sync,no_root_squash)

/var/lib/tftpboot       *(rw,sync,no_root_squash)

或者下面的语句

/work/        *(rw,nohide,insecure,no_subtree_check,async,no_root_squash)
/work/rootfs  *(rw,nohide,insecure,no_subtree_check,async,no_root_squash)
/work/nfs_root  *(rw,nohide,insecure,no_subtree_check,async,no_root_squash)
重启NFS服务器

sudo /etc/init.d/nfs-kernel-server restart

简单解释各个参数的意义:

/work/nfs   :允许客户端挂载的目录,可添加任意多个,如果不设置,服务器将不允许客户端挂载。

*               :允许所有IP的主机挂载该目录

括号内的    :一些权限设置,比如是否能够读写(可百度,更详尽)

现在NFS服务器就可以用了。

2 查看开发板和Ubuntu的IP,设置开发板IP并ping通NFS服务器

 

3.把你想拷贝到开发板上的文件都复制到刚才设置的目录里,例如拷贝到 /work/nfs,然后在开发板上执行挂载命令

mount   -t    nfs    -o   nolock,vers=2    192.168.1.19:/work/nfs    /mnt

 

解释一下:

mount     :挂载命令

nfs          :使用的协议

nolock     :不阻塞

vers        : 使用的NFS版本号

IP           : NFS服务器的IP(NFS服务器运行在哪个系统上,就是哪个系统的IP)

/work/nfs: 要挂载的目录(Ubuntu的目录)

/mnt       : 要挂载到的目录(开发板上的目录,注意挂载成功后,/mnt下原有数据将会被隐藏,无法找到)

 

现在进入开发板上的/mnt目录,用ls命令 就可以看到Ubuntu上要传输的文件了

 

 

 

 

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值