1.在Ubuntu中安装、配置NFS
如果你使用的是我们提供的Ubuntu,那么已经安装好了NFS服务。查看一下/etc/export的内容,就知道开发板可以挂载哪一个目录。如果该文件中没有指定目录,请继续往下看。
如果你的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
再次重申:NFS是一种网络服务,开发板可以通过网线连接Ubuntu来使用NFS服务;甚至也可以通过USB OTG线连接Ubuntu,通过虚拟的USB网卡使用NFS服务。
2.Ubuntu安装TFTP服务
在Ubuntu中执行以下命令安装TFTP服务:
book@100ask:~$ sudo apt-get install tftp-hpa tftpd-hpa
然后,创建TFTP服务器工作目录,并打开TFTP服务配置文件,如下:
book@100ask:~$ mkdir -p /home/book/tftpboot
book@100ask:~$ sudo chmod 777 /home/book/tftpboot
book@100ask:~$ sudo vim /etc/default/tftpd-hpa
在配置文件/etc/default/tftpd-hpa中,添加以下字段:
TFTP_DIRECTORY="/home/book/tftpboot"
TFTP_OPTIONS="-l -c -s"
最后,重启TFTP服务:
book@100ask:~$ sudo service tftpd-hpa restart
查看tftp服务是否在运行,运行如下命令,即可查看是否在后台运行。
book@100ask:~$ ps -aux | grep “tftp”
- 在Windows安装TFTP服务
Windows上的TFTP服务由一个应用程序tftpd64提供,下载后双击运行,再做些设置即可。tftpd64的前身是tftpd32,它是32位的程序。对于64位电脑,请使用tftpd64。
tftpd64的使用非常简单,运行后只需要设置3步:
a. 选择目录(开发板将从这个目录读、写文件)
b. 通过IP选择网卡
有些电脑有多个网卡,选择网卡。
c. 设置防火墙,直接关闭防火墙;或是允许tftpsever使用网络:
对于Windows 10可以按下图操作,对于其他操作系统,请自行百度:
- 使用网络服务传输文件
开发板和Ubuntu之间网络互通之后,就可以在两者之间传输文件了。
开发板上不一定安装有FTP服务、SSH等服务,所以不一定能使用FTP等工具登录开发板。
但是开发板的系统一般都自带mount命令,并且支持NFS文件系统。所以可以在开发板上执行mount命令挂载Ubuntu的某个目录。这样就可以在开发板和Ubuntu之间传文件了。
开发板使用NFS挂载Ubuntu的前提是:Ubuntu中已经安装了NFS服务,并且在/etc/exports中配置了某个目录供挂载。
使用桥接网络时,确保开发板可以ping通Ubuntu后,就可以通过NFS挂载Ubuntu中的某个目录。
哪些目录呢?请查看Ubuntu的/etc/exports文件。
如果你使用的是VMware桥接方式,假设Ubuntu IP为192.168.1.100,在开发板上执行以下命令:
[root@imx6ull:~]# mount -t nfs -o nolock,vers=3 192.168.1.100:/home/book/nfs_rootfs /mnt
[root@imx6ull:~]# cp /mnt/hello ./hello
如果一切正常,你可以在Ubuntu上把文件放到/home/book/nfs_rootfs目录中,在开发板上可以从/mnt目录中访问该文件。
- 开发板通过tftp传输Ubuntu文件
首先确保你已经将要下载的文件上传至Ubuntu系统中tftp服务的目录内,如下图所示我的tftp服务目录内有zImage 100ask_imx6ull-14x14.dtb两个文件,我的Ubuntu主机IP地址为192.168.1.123。
比如我要下载Ubuntu服务器下的zImage 文件,则在开发板上执行如下命令。
[root@imx6ull:~]# tftp -g -r zImage 192.168.1.123
下载后的文件如下图所示。
- 在开发板上使用tftp命令上传文件
然后在开发板上执行如下命令上传此文件到Ubuntu 服务器的tftp服务目录下。
[root@imx6ull:~]# tftp -p -l 1.txt 192.168.1.123
此时我们查看Ubuntu服务器的tftp服务目录下,即可看到之前在开发板上创建的1.txt 。