开发板和 Ubuntu 之间网络互通之后,就可以在两者之间传输文件了。

开发板通过 NFS 挂载 Ubuntu 的目录

开发板上不一定安装有 FTP 服务、SSH 等服务,所以不一定能使用 FTP 等工具登录开发板。

但是开发板的系统一般都自带 mount 命令,并且支持 NFS 文件系统。所以可以在开发板上执行 mount 命
令挂载 Ubuntu 的某个目录。这样就可以在开发板和 Ubuntu 之间传文件了。

开发板使用 NFS 挂载 Ubuntu 的前提是:Ubuntu 中已经安装了 NFS 服务,并且在/etc/exports 中配置了某个目录供挂载。

在 Ubuntu 上安装、配置 NFS 服务

如果你使用的是我们提供的 Ubuntu,那么已经安装好了 NFS 服务。

如果你的 Ubuntu 未安装 NFS 服务,那么在确保 Ubuntu 可以上网的前提下,执行以下命令:

sudo apt-get install nfs-kernel-server

然后,还得修改/etc/exports,添加类似以下的内容,下面的例子里允许开发板通过 NFS 访问 Ubuntu的/home/book 目录:

/home/book *(rw,nohide,insecure,no_subtree_check,async,no_root_squash)

最后,重启 NFS 服务,在 Ubuntu 上执行以下命令:

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

可以在 Ubuntu 上通过 NFS 挂载自己,验证一下 NFS 可用:

sudo mount -t nfs -o nolock,vers=3 127.0.0.1:/home/book /mnt
ls /mnt

在开发板上挂载 Ubuntu 的 NFS 文件系统

确保开发板可以 ping 通 Ubuntu 后,就可以通过 NFS 挂载 Ubuntu 中的某个目录。

哪些目录呢?请查看 Ubutnu 的/etc/exports 文件。

假设 Ubuntu 的 IP 为:192.168.1.100,在开发板上可以执行下面的命令挂载 Ubuntu 的/home/book 目录到开发板的/mnt 目录:

mount -t nfs -o nolock,vers=2 192.168.1.100:/home/book /mnt
// 如果不成功,就把 vers=2 改为 vers=3 或 vers=4
mount -t nfs -o nolock,vers=3 192.168.1.100:/home/book /mnt

如果一切正常,你可以在 Ubuntu 上把文件放到/home/book 目录中,在开发板上可以从/mnt 目录中访问该文件。