文章目录
- 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-hpaTFTP_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 = dgramprotocol = udpwait = yesuser = rootserver = /usr/sbin/in.tftpdserver_args = -s /home/kaka/IMX6ULL/tftp disable = noper_source = 11cps = 100 2flags = 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 msroot@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 已经卸载了