文章目录
- 1. TFTP服务搭建
- 2. NFS 环境搭建
 
1. TFTP服务搭建
1、Ubuntu上搭建TFTP服务器,需要安装tftp-hpa和tftpd-hpa,命令如下:
sudo apt-get install tftp-hpa tftpd-hpa 
sudo apt-get install xinetd
2、TFTP也需要一个文件夹来存放文件,在用户目录下新建一个目录,赋予可读可写可执行权限。
mkdir /home/kaka/IMX6ULL/tftp
chmod 777 /home/kaka/IMX6ULL/tftp
3、打开/etc/default/tftpd-hpa文件,将其修改为如下所示内容:
sudo vi /etc/default/tftpd-hpa
# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/home/kaka/IMX6ULL/tftp"
TFTP_ADDRESS=":69"
TFTP_OPTIONS="--secure"
TFTP_DIRECTORY就是我们上面创建的tftp文件夹目录,以后我们就将所有需要通过TFTP传输的文件都放到这个文件夹里面,并且要给予这些文件相应的权限。
4、最后配置 tftp, 安装完成以后,新建文件/etc/xinetd.d/tftp, 如果没有/etc/xinetd.d 目录的话自行创建,然后在里面输入如下内容:
sudo vi /etc/xinetd.d/tftp
{
    socket_type    = dgram
    protocol       = udp
    wait           = yes
    user           = root
    server         = /usr/sbin/in.tftpd
    server_args    = -s /home/kaka/IMX6ULL/tftp	
    disable        = no
    per_source     = 11
    cps            = 100 2
    flags          = IPv4
}
注意 server_args = -s 后面要添加自己的 tftp 工作路径。
5、最后输入如下命令, 重启 tftp 服务器:
sudo service tftpd-hpa restart
6、TFTP 测试
在/home/kaka/IMX6ULL/tftp目录下创建一个 test.c 文件
oot@kaka-virtual-machine:/home/kaka/IMX6ULL/tftp# chmod 777 test.c 
root@kaka-virtual-machine:/home/kaka/IMX6ULL/tftp# ls
test.c
root@kaka-virtual-machine:/home/kaka/IMX6ULL/tftp# cat test.c 
1234561234561234561234561234561234561234561234561234561234561234
在开发板文件系统执行以下指令设置开发板 IP,将虚拟机(192.168.1.254) TFTP 工作目录下的 test.c 文件拷贝到开发板中。
root@ATK-IMX6U:~# ifconfig eth0 192.168.1.50
root@ATK-IMX6U:~# ping 192.168.1.254
PING 192.168.1.254 (192.168.1.254) 56(84) bytes of data.
64 bytes from 192.168.1.254: icmp_seq=1 ttl=64 time=0.855 ms
64 bytes from 192.168.1.254: icmp_seq=2 ttl=64 time=1.02 ms
^C
--- 192.168.1.254 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 0.855/0.940/1.025/0.085 ms
root@ATK-IMX6U:~# tftp -g -r test.c 192.168.1.254
root@ATK-IMX6U:~# cat test.c
12345612345612345612345612345612345612345612345612345612
可以看到 test.c 成功传输到开发板上, TFTP 环境搭建成功。
2. NFS 环境搭建
1、NFS 简介网络文件系统,英文 Network File System(NFS),是由 SUN 公司研制的 UNIX 表示层协议(presentation layer protocol),能使使用者访问网络上别处的文件就像在使用自己的计算机一样。可以在 Ubuntu 上制作开发板的根文件系统,然后使用 NFS 来加载根文件系统到开发板的DDR 上。
2、安装 NFS 服务
 在 Ubuntu 终端执行以下指令安装 NFS
sudo apt-get install nfs-kernel-server  
3、NFS 共享目录
 新建 NFS 共享目录,并给予 NFS 目录可读可写可执行权限
sudo mkdir /home/kaka/IMX6ULL/nfs 
sudo chmod 777 /home/kaka/IMX6ULL/nfs/
4、配置 NFS 服务
执行以下指令打开 etc/exports 文件
sudo vi /etc/exports
进入 etc/exports 文件,在最后添加如下内容
/home/kaka/IMX6ULL/nfs *(rw,sync,no_root_squash)
/home/kaka/IMX6ULL/nfs 表示 NFS 共享的目录
 *表示允许所有的网络段访问
 rw 表示访问者具有可读写权限
 sync 表示将缓存写入设备中,可以说是同步缓存的意思
 no_root_squash 表示访问者具有 root 权限。
 修改完如下图所示。

修改完以后保存退出。
执行以下指令重启 NFS 服务器。
sudo /etc/init.d/nfs-kernel-server restart
执行以下指令查看 NFS 共享目录
root@kaka-virtual-machine:/home/kaka/IMX6ULL# showmount -e
Export list for kaka-virtual-machine:
/home/kaka/IMX6ULL/nfs *
5、NFS 测试
在/home/alientek/linux/nfs目录下创建一个 mytest.c 文件,在里面写入 hello world!
root@kaka-virtual-machine:/home/kaka/IMX6ULL/nfs# vi mytest.c
root@kaka-virtual-machine:/home/kaka/IMX6ULL/nfs# cat mytest.c 
hello world!
执行以下指令设置开发板 IP,创建一个 get 目录,将虚拟机(192.168.1.254) NFS 共享目录挂载到到开发板的 get 目录中。
mkdir get 
mount -t nfs -o nolock,nfsvers=3 192.168.1.254:/home/kaka/IMX6ULL/nfs get/
root@ATK-IMX6U:~# mkdir get
root@ATK-IMX6U:~# mount -t nfs -o nolock,nfsvers=3 192.168.1.254:/home/kaka/IMX6ULL/nfs get/
root@ATK-IMX6U:~# ls
driver  get  shell  test.c
root@ATK-IMX6U:~# ls get/
mytest.c
看挂载的 NFS 目录:
root@ATK-IMX6U:~# df
Filesystem                           1K-blocks     Used Available Use% Mounted on
/dev/root                              7244864   650328   6219856  10% /
devtmpfs                                187632      120    187512   1% /dev
tmpfs                                       40        0        40   0% /mnt/.psplash
tmpfs                                   253432      196    253236   1% /run
tmpfs                                   253432      160    253272   1% /var/volatile
/dev/mmcblk1p1                        15549952      128  15549824   1% /run/media/mmcblk1p1
192.168.1.254:/home/kaka/IMX6ULL/nfs  50770944 26010624  22149120  55% /home/root/get
卸载 NFS 目录:
umount get  
root@ATK-IMX6U:~# umount /home/root/get
root@ATK-IMX6U:~# ls
driver  get  shell  test.c
root@ATK-IMX6U:~# df
Filesystem     1K-blocks   Used Available Use% Mounted on
/dev/root        7244864 650328   6219856  10% /
devtmpfs          187632    120    187512   1% /dev
tmpfs                 40      0        40   0% /mnt/.psplash
tmpfs             253432    192    253240   1% /run
tmpfs             253432    160    253272   1% /var/volatile
/dev/mmcblk1p1  15549952    128  15549824   1% /run/media/mmcblk1p1
可以看到192.168.1.254:/home/kaka/IMX6ULL/nfs 已经卸载了



















