tftp与nfs环境配置

一、tftp服务

1)安装tftp-hpa,tftpd-hpa

sudo apt-get install tftp-hpa tftpd-hpa

tftp-hpa是client,tftpd-hpa是server

2) 配置tftpd-hpa

sudo vim /etc/default/tftpd-hpa 
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/home/jw/tftproot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS=" -l -c -s"

TFTP_DIRECTORY="/home/jw/tftproot"意味着tftp服务器将把可以下载的文件都放在这里面。而客户端发起的下载申请就会对接到这个目录。
这句话的意思是,PC机的ubuntu将作为服务器,开发板将作为客户端,在开发板上执行tftp命令时,会连接到该文件夹。

3)设置tftproot文件夹的权限

mkdir /home/jw/tftproot
sudo chmod 777 /home/jw/tftproot

4)重启tftpd-hpa服务

sudo service tftpd-hpa restart

ps -ef |grep tftp能看到tftpd-hpa进程

jw@pc:~$ ps -ef | grep tftp
root      5245     1  0 14:47 ?        00:00:00 /usr/sbin/in.tftpd --listen --user tftp --address :69 -c -s -l /home/jw/tftproot
jw        5251  5028  0 14:48 pts/1    00:00:00 grep --color=auto tftp

5)测试,下载get,上传put

重新打开一个终端,在tftproot下建立a.txt

touch /home/jw/tftproot/a.txt 

在其他目录下操作(注意是当前用户可以操作的目录,否则get是会提示permission denied):

cd ~
tftp localhost
tftp>get a.txt
tftp>quit

下载完成后,可以在当前目录找到该文件。
但是出现一个bug–>
如果get 的对象b不存在,客户端报错,但是仍然在当前目录创建了一个空文件b。

tftp> get b
Error code 1: File not found
tftp> quit
jw@pc:~$ ls
a  Desktop    Downloads  Pictures  Templates  Videos
b   Documents  Music      Public    tftproot   w
jw@pc:~$ 

6)开发板与虚拟机Ubuntu建立连接

物理连接:开发板—网线—笔记本

若想让开发板也能上网:
无需路由器实现虚拟机、物理机、开发板互相ping通+上网

笔记本电脑有2块网卡,虚拟机也2块网卡。

笔记本无线网卡连接wifi,有线网卡连接开发板。

笔记本有线网卡作为一个网关(192.168.8.1),连接虚拟机的ens38网卡(192.168.8.10)和开发板的eth0网卡(192.168.8.20),这3个地址同在一个子网,网关都是笔记本的有线网卡(192.168.8.1),因此实现开发板与虚拟机的网络连接。

配置本地连接

在这里插入图片描述

配置虚拟机

虚拟机添加双网卡,一个是NAT模式,一个是桥接模式(自动)。然后启动虚拟机,在Ubuntu中配置IP
在这里插入图片描述

配置Ubuntu的IP地址

为了防止重启后失效,ubuntu的ens38网卡ip设置被写进了文件中,配置后重启即可:

sudo vim /etc/network/interfaces

文件中的内容
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

auto ens38
iface ens38 inet static
address 192.168.8.10
gateway 192.168.8.1
netmask 255.255.255.0

配置后重启
reboot
配置开发板

开发板在uboot命令行中设置ip,通过minicom发送:

setenv ipaddr 192.168.8.20    // 开发板IP
setenv serverip 192.168.8.10   //虚拟机Linux IP
setenv gatewayip 192.168.8.1    // 网关
saveenv

有个小bug,虚拟机与开发板都ping不到window(网关192.168.8.1),但是并不影响虚拟机与开发板的互连。

二、nfs服务

1.按照nfs服务器

sudo apt-get install nfs-kernel-server 

2.配置/etc/exports文件

sudo mkdir -p /home/jw/nfs/rootfs
sudo chmod 777 /home/jw/nfs/rootfs
sudo vim /etc/exports
#修改内容如下:
/home/jw/nfs/rootfs 		*(rw,sync,no_root_squash)
共享的目录 					所有用户(读写,同步,不降低root用户的权限)其他选项man 5 exports 查看。

重启nfs

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

3.客户端挂载nfs共享目录
客户端查看服务器的共享目录,可以使用showmount -e + 主机IP
下面还是使用回环测试本机的nfs服务

jw@pc:~$ showmount -e localhost
Export list for localhost:
/home/jw/nfs/rootfs *

将共享目录挂载到客户端上:

sudo mkdir /mnt/nfs
sudo chmod 777 /mnt/nfs
sudo mount -t nfs -o nolock localhost:/home/jw/nfs/rootfs /mnt/nfs 

说明:mount nfs时,默认选项包括文件锁,依赖于portmap提供的动态端口分配功能,因此需要解锁,因此一般直接在指令中直接加上-o nolock

4.卸载共享目录:

sudo umount /mnt/nfs
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值