关于启动ubuntu中的nfs启动问题
2016-03-03 09:45
429 查看
嵌入式开发,如果使用nfs挂载来启动内核和文件系统,这样便于调试文件系统和驱动,则首先要保证ubuntu开启nfs服务,
执行以下命令安装nfs服务,安装后自动运行
sudo apt-get install nfs-kernel-server
配置其配置文件
sudo vi /etc/exports 在里面增加想要挂载的文件路径
#
11 /work/nfs_root *(rw,sync,no_root_squash)
12 /work/nfs_root/first_fs *(rw,sync,no_root_squash)
13 /work/kernel *(rw,sync,no_root_squash)
14 /work/nfs_root/fs_qtopia *(rw,sync,no_root_squash)
15 /work/system/u-bootbin *(rw,sync,no_root_squash)
16 / *
其中"*"表示所有客户机都可以访问(只要能通过网络访问到你)
rw当然表示有读写权限(不要担心)
no_root_squash表示客户机对此目录有root操作权限
这样就可以通过nfs服务来挂载nfs_root,kernel等目录下的所有文件;
配置完毕,可以重启NFS服务
sudo /etc/init.d/portmap restart //nfs is a RPC service, portmap maps its port
sudo /etc/init.d/nfs-kernel-server restart
查看NFS目录可以使用 ”showmount -e“ 命令
测试NFS服务是否开启成功
在本机ubuntu(10.13.60.120)上挂载nfs目录到/mnt,(挂载未在/etc/exports里面添加的目录是无效的)
sudo mount -t nfs 10.13.60.120:/home
可以看到/mnt下已经有/home的内容了 ,卸载使用 umount /mnt命令即可
通常,为了能够正常使用NFS,还需要一些相关的服务来协同工作:
nfs:启动相应RPC服务进程来服务对于NFS文件系统的请求。
nfslock:一个可选的服务,用于启动相应的RPC进程,允许NFS客户端在服务器上对文件加锁。
portmap:Linux的RPC服务,它响应RPC服务的请求和与请求的RPC服务建立连接。
问题:当我把u-boot中关于nfs挂载参数设置好后,一直出现如下错误:
Booting Linux ...
ERROR: resetting DM9000 -> not responding
dm9000 i/o: 0x20000000, id: 0x90000a46
DM9000: running in 16 bit mode
MAC: 08:00:3e:26:0a:5b
could not establish link
File transfer via NFS from server 10.13.62.120; our IP address is 10.13.62.100
Filename '/work/kernel/uImage'.
Load address: 0x30007fc0
Loading: Timeout
## Booting image at 30007fc0 ...
Bad Magic Number
问题是这样解决的:因为我的ubuntu没有开启portmap功能
sudo /etc/init.d/portmap restart
开启后再重新启动nfs系统就可以正常挂载ubuntu中的内核
执行以下命令安装nfs服务,安装后自动运行
sudo apt-get install nfs-kernel-server
配置其配置文件
sudo vi /etc/exports 在里面增加想要挂载的文件路径
#
11 /work/nfs_root *(rw,sync,no_root_squash)
12 /work/nfs_root/first_fs *(rw,sync,no_root_squash)
13 /work/kernel *(rw,sync,no_root_squash)
14 /work/nfs_root/fs_qtopia *(rw,sync,no_root_squash)
15 /work/system/u-bootbin *(rw,sync,no_root_squash)
16 / *
其中"*"表示所有客户机都可以访问(只要能通过网络访问到你)
rw当然表示有读写权限(不要担心)
no_root_squash表示客户机对此目录有root操作权限
这样就可以通过nfs服务来挂载nfs_root,kernel等目录下的所有文件;
配置完毕,可以重启NFS服务
sudo /etc/init.d/portmap restart //nfs is a RPC service, portmap maps its port
sudo /etc/init.d/nfs-kernel-server restart
查看NFS目录可以使用 ”showmount -e“ 命令
测试NFS服务是否开启成功
在本机ubuntu(10.13.60.120)上挂载nfs目录到/mnt,(挂载未在/etc/exports里面添加的目录是无效的)
sudo mount -t nfs 10.13.60.120:/home
可以看到/mnt下已经有/home的内容了 ,卸载使用 umount /mnt命令即可
通常,为了能够正常使用NFS,还需要一些相关的服务来协同工作:
nfs:启动相应RPC服务进程来服务对于NFS文件系统的请求。
nfslock:一个可选的服务,用于启动相应的RPC进程,允许NFS客户端在服务器上对文件加锁。
portmap:Linux的RPC服务,它响应RPC服务的请求和与请求的RPC服务建立连接。
问题:当我把u-boot中关于nfs挂载参数设置好后,一直出现如下错误:
Booting Linux ...
ERROR: resetting DM9000 -> not responding
dm9000 i/o: 0x20000000, id: 0x90000a46
DM9000: running in 16 bit mode
MAC: 08:00:3e:26:0a:5b
could not establish link
File transfer via NFS from server 10.13.62.120; our IP address is 10.13.62.100
Filename '/work/kernel/uImage'.
Load address: 0x30007fc0
Loading: Timeout
## Booting image at 30007fc0 ...
Bad Magic Number
问题是这样解决的:因为我的ubuntu没有开启portmap功能
sudo /etc/init.d/portmap restart
开启后再重新启动nfs系统就可以正常挂载ubuntu中的内核
相关文章推荐
- [java]7、测试substring
- android 设置闹钟播放声音
- .Net 垃圾回收和大对象处理 内存碎片整理
- C#进阶系列——WebApi 跨域问题解决方案:CORS
- 安卓开发中全局变量的创建
- 高性能PHP框架thinkphp5.0.0 Beta发布-为API开发而设计
- 【leetcode】【79】Word Search
- centos最小化安装
- 内存溢出之Tomcat内存配置
- Java-Lambda
- geoip_api_php 通过ip找到国家的库包
- Qt移植到ARM Linux教程--转载
- Linux网络编程
- 个人总结android中的BaseAdapter
- 设计的SOA架构
- sqlserver 编辑、修改字段说明(备注) sp_addextendedproperty
- SQL注入POC
- Weak Reference (弱引用)
- 冒泡排序
- SharedPreferences存取工具SpUtil