搭建网络挂载文件系统
2017-03-08 20:01
441 查看
/***************本文是在am335x环境下从网络加载uImage和挂载nfs文件系统******************/
**************************搭建ubuntu TFTP服务器*********************************
tftpd-hpa 是一个功能增强的TFTP服务器。它提供了很多TFTP的增强功能,它已经被移植到大多数的现代UNIX系统
1、安装软件:tftp-hpa tftpd-pha xinetd
sudo apt-get install tftp-hpa tftpd-hpa xinetd
2、建立配置文件
sudo vi /etc/xinetd.d/tftp
文件tftp文件内容:
service tftp
{
disable = no
socket_type = dgram
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /home/goembed/tftpboot -c //服务器文件目录
per_source = 11
cps = 100 2
flags = IPv4
}
3、修改配置文件/etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/tftpboot " //改成你想要的那个tftpboot
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="-l -c -s" //这里是选项
4、建立tftp服务文件目录
mkdir -p /home/goembed/tftpboot
sudo chmod 777 /home/goembed/tftpboot
5、【重要】重启服务,修改配置文件的任何地方都要重启服务
sudo /etc/init.d/xinetd reload
或者sudo /etc/init.d/xinetd restart
6、测试服务tftp是否启动
netstat -a|grep tftp
显示 :
udp 0 0 *:tftp *:*
则启动服务了
7、测试tftp 127.0.0.1(在ubuntu下)
tftp>get test
tftp>q
出现错误:
【错误】Error code 0: Permission denied,是因为tftpboot文件夹没有权限,或者是要上传和下载的文件没有权限。
【解决】修改权限
sudo chmod 777 -R /tftpboot
【错误】Error code 1: File not found,原因1:指定的文件不存在;原因2:tftpd启动参数中没有指定-c选项;原因3:目录有问题,因为安装的时候默认的tftp目录是【/var/lib/tftpboot】,您可以把test文件放在这个目录中重新测试一下,如果正确说明猜想是正确的。
【解决】原因1和原因2都好解决,这里只解决原因3:重启服务或者重启系统
8、在busybox下测试
tftp -g -r test 192.168.1.151(服务器IP)
*************************搭建ubuntu NFS服务器********************************************
1、安装软件:nfs-kernel-server
sudo apt-get install nfs-kernel-server
2、配置NFS
sudo /etc/exports
添加服务目录配置
格式: 绝对路径目录名 IP(权限)
/home/goembed/nfs *(rw,sync,no_subtree_check)
3、创建网络根文件系统目录
解压rootfs.tar到home/goembed/nfs
4、修改权限
sudo 777 -R /home/goembed/nfs
5、重启NFS服务器
sudo service nfs-kernel-server restart
本地测试:
mount 192.168.1.xx:/home/gec/mini_rootfs /tmp
服务器IP与目录 本地挂载的目录
卸载:
umount /tmp -----> 退出tmp目录才卸载
6、开发板设置uboot远程挂载参数:
服务器IP与服务目录
set bootargs root=/dev/nfs rw nfsroot=192.168.1.33:/home/gec/mini_rootfs console=ttySAC0,115200 init=/linuxrc ip=192.168.1.34:192.168.1.1::255.255.255.0::eth0:on
板子IP 网关 子网掩码 设备
save
**********************板子环境搭建************************************
1、设置环境网络相关:ip gateway netmask serverip
set ipaddr 192.168.1.138
set gatewayip 192.168.1.1
set netmask 255.255.255.0
set serverip 192.168.1.151
2、设置启动环境变量
set bootargs console=ttyO0,115200n8 noinitrd root=/dev/nfs rw nfsroot=192.168.1
a361
.151:/home/goembed/nfs -o nolock,proto=tcp,nfsvers=3 ip=192.168.1.138::255.255.255.0::eth0::on mem=256M init=/linuxrc
3、从tftp下载uImage
tftp 0x82000000 uImage
4、从ram引导uImage启动内核
bootm 0x82000000
挂载成功。
问题:
1、Starting logging: OK
Populating /dev using udev: [ 6.760498] udevd[645]: starting version 1.9
done
Starting portmap: done
Initializing random number generator... cat: read error: Input/output error
read-only file system detected...done
Starting system message bus: done
Starting network...
ip: RTNETLINK answers: File exists
udhcpc (v1.22.1) started
[ 19.728759] nfs: server 192.168.1.151 not responding, still trying
解决:在服务器中的文件 etc/network/interfaces 把动态ip改成静态IP,
因为在udhcpc自动获取IP的过程中,nfs挂载会出现丢包的现象,导致挂载的文件系统没有反应。
**************************搭建ubuntu TFTP服务器*********************************
tftpd-hpa 是一个功能增强的TFTP服务器。它提供了很多TFTP的增强功能,它已经被移植到大多数的现代UNIX系统
1、安装软件:tftp-hpa tftpd-pha xinetd
sudo apt-get install tftp-hpa tftpd-hpa xinetd
2、建立配置文件
sudo vi /etc/xinetd.d/tftp
文件tftp文件内容:
service tftp
{
disable = no
socket_type = dgram
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /home/goembed/tftpboot -c //服务器文件目录
per_source = 11
cps = 100 2
flags = IPv4
}
3、修改配置文件/etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/tftpboot " //改成你想要的那个tftpboot
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="-l -c -s" //这里是选项
4、建立tftp服务文件目录
mkdir -p /home/goembed/tftpboot
sudo chmod 777 /home/goembed/tftpboot
5、【重要】重启服务,修改配置文件的任何地方都要重启服务
sudo /etc/init.d/xinetd reload
或者sudo /etc/init.d/xinetd restart
6、测试服务tftp是否启动
netstat -a|grep tftp
显示 :
udp 0 0 *:tftp *:*
则启动服务了
7、测试tftp 127.0.0.1(在ubuntu下)
tftp>get test
tftp>q
出现错误:
【错误】Error code 0: Permission denied,是因为tftpboot文件夹没有权限,或者是要上传和下载的文件没有权限。
【解决】修改权限
sudo chmod 777 -R /tftpboot
【错误】Error code 1: File not found,原因1:指定的文件不存在;原因2:tftpd启动参数中没有指定-c选项;原因3:目录有问题,因为安装的时候默认的tftp目录是【/var/lib/tftpboot】,您可以把test文件放在这个目录中重新测试一下,如果正确说明猜想是正确的。
【解决】原因1和原因2都好解决,这里只解决原因3:重启服务或者重启系统
8、在busybox下测试
tftp -g -r test 192.168.1.151(服务器IP)
*************************搭建ubuntu NFS服务器********************************************
1、安装软件:nfs-kernel-server
sudo apt-get install nfs-kernel-server
2、配置NFS
sudo /etc/exports
添加服务目录配置
格式: 绝对路径目录名 IP(权限)
/home/goembed/nfs *(rw,sync,no_subtree_check)
3、创建网络根文件系统目录
解压rootfs.tar到home/goembed/nfs
4、修改权限
sudo 777 -R /home/goembed/nfs
5、重启NFS服务器
sudo service nfs-kernel-server restart
本地测试:
mount 192.168.1.xx:/home/gec/mini_rootfs /tmp
服务器IP与目录 本地挂载的目录
卸载:
umount /tmp -----> 退出tmp目录才卸载
6、开发板设置uboot远程挂载参数:
服务器IP与服务目录
set bootargs root=/dev/nfs rw nfsroot=192.168.1.33:/home/gec/mini_rootfs console=ttySAC0,115200 init=/linuxrc ip=192.168.1.34:192.168.1.1::255.255.255.0::eth0:on
板子IP 网关 子网掩码 设备
save
**********************板子环境搭建************************************
1、设置环境网络相关:ip gateway netmask serverip
set ipaddr 192.168.1.138
set gatewayip 192.168.1.1
set netmask 255.255.255.0
set serverip 192.168.1.151
2、设置启动环境变量
set bootargs console=ttyO0,115200n8 noinitrd root=/dev/nfs rw nfsroot=192.168.1
a361
.151:/home/goembed/nfs -o nolock,proto=tcp,nfsvers=3 ip=192.168.1.138::255.255.255.0::eth0::on mem=256M init=/linuxrc
3、从tftp下载uImage
tftp 0x82000000 uImage
4、从ram引导uImage启动内核
bootm 0x82000000
挂载成功。
问题:
1、Starting logging: OK
Populating /dev using udev: [ 6.760498] udevd[645]: starting version 1.9
done
Starting portmap: done
Initializing random number generator... cat: read error: Input/output error
read-only file system detected...done
Starting system message bus: done
Starting network...
ip: RTNETLINK answers: File exists
udhcpc (v1.22.1) started
[ 19.728759] nfs: server 192.168.1.151 not responding, still trying
解决:在服务器中的文件 etc/network/interfaces 把动态ip改成静态IP,
因为在udhcpc自动获取IP的过程中,nfs挂载会出现丢包的现象,导致挂载的文件系统没有反应。
相关文章推荐
- NFS(网络文件系统)服务器搭建及挂载
- DM814x挂载网络文件系统失败
- arm开发网络文件系统环境搭建 nfs
- NFS 网络文件系统服务器共享和客户机的自动挂载
- Linux使用NFS(网络文件系统)挂载网络磁盘
- NFS 网络文件系统 简单搭建
- Linux 系统网络设置与文件系统挂载
- 基于虚拟机的网络文件系统的挂载
- linux下网络文件系统NFS服务的搭建
- 中小型网站网络文件系统-NFS部署搭建
- Ubuntu+Tiny6410的网络文件系统NFS挂载
- linux开发环境搭建(3)-nfs挂载根文件系统
- centos搭建NFS网络文件系统
- linux系统之间通过nfs网络文件系统挂载设置方法
- RHCE课程--NFS服务 网络文件系统搭建攻略! 推荐
- 红帽GFS集群文件系统配置指南 linux搭建gfs系统--iscsi+GFS实现网络存储
- Linux挂载网络文件系统小细节
- tiny4412新手入门,从零开始一步一步到挂载网络根文件系统
- linux嵌入式开发之挂载网络文件系统
- [S5PV210] 网络挂载文件系统