linux下FTP与NFS环境搭建

本文详细介绍了如何在Linux(Ubuntu)系统中搭建NFS和TFTP服务器环境。NFS允许远程计算机通过网络共享资源,而TFTP则提供简单的文件传输服务。文章分别阐述了主机和开发板的配置步骤,帮助读者实现文件系统的网络共享和简单文件传输。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#linux下FTP与NFS环境搭建

#nfs环境搭建

NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。

##主机配置

安装NFS服务:
sudo apt-get install nfs-kernel-server rpcbind
在主机下创建文件夹以存放要发送的文件:
mkdir /home/hg/linux/nfs
chmod 777 /home/hg/linux/nfs
配置NFS服务:
打开 nfs 配置文件/etc/exports:
sudo vi /etc/exports
在最后一行添加如下内容:
/home/hg/linux/nfs *(rw,sync,no_root_squash)

重启NFS服务之后就可以使用了:
sudo /etc/init.d/nfs-kernel-server restart

##开发板配置
root=/dev/nfs nfsroot=[:][,] ip=::::::::

<server-ip>:服务器 IP 地址
<root-dir> :根文件系统的存放路径
<nfs-options>:NFS 的其他可选选项,一般不设置
<client-ip> :客户端 IP 地址
<server-ip> :服务器 IP 地址
<gw-ip> :网关地址
<netmask>:子网掩码
<hostname>:客户机的名字
<device> :设备名,也就是网卡名,一般是 eth0,eth1….
<autoconf> :自动配置,一般不使用,所以设置为 off
<dns0-ip> :DNS0 服务器 IP 地址,不使用
<dns1-ip> :DNS1 服务器 IP 地址,不使用

我的配置如下:
setenv bootargs 'console=tty1 console=ttymxc0,115200 root=/dev/nfs nfsroot=192.168.0.121:/home/hg/linux/nfs/rootfs,proto=tcp rw ip=192.168.0.50:192.168.0.121:192.168.0.1:255.255.255.0::eth0:off'

配置好环境变量后可以实现开发板与主机文件的传输,直接下载命令:nfs [loadAddress] [[hostIPaddr:]bootfilename]

#TFTP环境搭建

TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。端口号为69。

##主机配置

通过网络下载东西到 DRAM 中,tftp 命令使用的 TFTP 协议,Ubuntu 主机作为 TFTP 服务器。在 Ubuntu 上搭建 TFTP 服务器,需要安装 tftp-hpa 和 tftpd-hpa。

安装命令:
sudo apt-get install tftp-hpa tftpd-hpa
sudo apt-get install xinetd
在主机下创建文件夹以存放要发送的文件:
mkdir /home/hg/linux/tftpboot
chmod 777 /home/hg/linux/tftpboot

安装完成以后新建文件/etc/xinetd.d/tftp,如果没有/etc/xinetd.d 目录的话创建,在里面输入如下内容:
server tftp
{
	socket_type = dgram
	protocol = udp
	wait = yes
	user = root
	server = /usr/sbin/in.tftpd
	server_args = -s /home/hg/linux/tftpboot/
	disable = no
	per_source = 11
	cps = 100 2
	flags = IPv4
}
使用如下命令启动tftp服务:
sudo service tftpd-hpa start
修改/etc/default/tftpd-hpa 文件内容如下:

# /etc/default/tftpd-hpa

TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/home/hg/linux/tftpboot"
TFTP_ADDRESS=":69"
TFTP_OPTIONS="-l -c -s"

最后重启tftp服务器:
sudo service tftpd-hpa restart

##开发板配置

setenv bootargs 'console=ttymxc0,115200 root=/dev/mmcblk1p2 rootwait rw'
setenv bootcmd 'tftp 80800000 zImage; tftp 83000000 imx6ull-alientek-emmc.dtb; bootz 80800000 - 83000000'
使用boot命令即可实现通过tftp协议从主机下载内核文件与设备文件到开发板中。

直接下载命令:
tftp [loadAddress] [[hostIPaddr:]bootfilename](跟nfs不用的是,tftp不需要输入完整的路径,只组要输入文件名即可)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

~Eliauk

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值