免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1289 | 回复: 0

NFS起根文件系统的制作+NFS服务器配置说明 [复制链接]

论坛徽章:
0
发表于 2011-12-23 02:29 |显示全部楼层

NFS起根文件系统的制作

1,修改已经配置好的内核的.config文件中的CMDLINE(命令行启动参数):gedit .config
  1. 327 # CONFIG_CMDLINE="root=/dev/mtdblock2 init=/linuxrc console=ttySAC0 rw"//屏蔽此行
  2. 328 CONFIG_CMDLINE="root=/dev/nfs nfsroot=192.168.0.16:/nfsroot/rootfs,nfsvers=3 ip=192.168.0.100 rw console=ttySAC0 mem=64M"
root=/dev/nfs  这个是告诉内核用的是NFS设备

console=ttySAC0 这个是控制台

nfsroot=192.168.0.16:/nfsroot/rootfs 这个是根文件系统在主机上的路径和主机的IP

ip=192.168.0.100 开发板IP


2,要使内核支持NFS起根文件系统,内核必须选上如下配置:

File Systems-->Network File System-->

  │ │    --- Network File Systems                                         │ │  
  │ │    <*>   NFS client support                                         │ │  
  │ │    [*]     NFS client support for NFS version 3                     │ │  
  │ │    [*]       NFS client support for the NFSv3 ACL protocol extension│ │  
  │ │    [ ]     NFS client support for NFS version 4 (EXPERIMENTAL)      │ │  
  │ │    [*]     Root file system on NFS

3,制作根文件系统,方法可以参考国嵌的实验手册4-3-2.


4,从tftp下载内核,然后再用bootm命令启动内核,如下:
  1. [MY2440]# tftp 0x30000000 uImage.img
  2. dm9000 i/o: 0x19000300, id: 0x90000a46
  3. DM9000: running in 16 bit mode
  4. MAC: 08:00:3e:26:0a:5b
  5. operating at unknown: 0 mode
  6. Using dm9000 device
  7. TFTP from server 192.168.0.16; our IP address is 192.168.0.100
  8. Filename 'uImage.img'.
  9. Load address: 0x30000000
  10. Loading: ###########################################################
  11.          ###########################################################
  12.          ######
  13. done
  14. Bytes transferred = 1985468 (1e4bbc hex)
[MY2440]# bootm 0x30000000

4,启动成功后如下图:
  1. Advanced Linux Sound Architecture Driver Version 1.0.20.
  2. ALSA device list:
  3. No soundcards found.
  4. TCP cubic registered
  5. NET: Registered protocol family 17
  6. RPC: Registered udp transport module.
  7. RPC: Registered tcp transport module.
  8. s3c2410-rtc s3c2410-rtc: hctosys: invalid date/time
  9. s3c2440-sdi s3c2440-sdi: running at 0kHz (requested: 0kHz).
  10. s3c2440-sdi s3c2440-sdi: running at 198kHz (requested: 197kHz).
  11. s3c2440-sdi s3c2440-sdi: running at 198kHz (requested: 197kHz).
  12. s3c2440-sdi s3c2440-sdi: running at 198kHz (requested: 197kHz).
  13. s3c2440-sdi s3c2440-sdi: powered down.
  14. eth0: link up, 100Mbps, full-duplex, lpa 0x45E1
  15. IP-Config: Guessing netmask 255.255.255.0
  16. IP-Config: Complete:
  17. device=eth0, addr=192.168.0.100, mask=255.255.255.0, gw=255.25,
  18. host=192.168.0.100, domain=, nis-domain=(none),
  19. bootserver=255.255.255.255, rootserver=192.168.0.16, rootpath=
  20. Looking up port of RPC 100003/3 on 192.168.0.16
  21. Looking up port of RPC 100005/3 on 192.168.0.16
  22. VFS: Mounted root (nfs filesystem) on device 0:12.
  23. Freeing init memory: 128K

  24. Processing /etc/profile... Done

  25. #

NFS服务器配置说明

首先,NFS服务器能否正确配置直接关系到NFS起根文件系统是否成功。
所以,这个在我的博客里有一篇详细讲过。
可是今天再次制作NFS起根文件系统的时候,却又犯起了老错误,导致为了这个搞了一天。今天犯的错误描述如下:

问题的原因是:

/etc/exports这个文件。它是NFS修改挂载目录和权限的。

比如我要将将我的home目录中的/home/zp/share目录让192.168.2.*的IP共享, 则在该文件末尾添加下列语句:

/home/zp/share 192.168.0.*(rw,sync,no_root_squash)//我的ubuntu系统这里要改为:/home/zp/share *(rw,sync,no_root_squash)

现在回想起来,如果开发板的内核支持了NFS服务,那么可以在开发板进入系统后,直接mount
mount 192.168.0.1:/home/zp/share /mnt是可以成功的。
而我的开发板在服务器的/etc/exports设置成这样的时候:
  1. /home/zp/share 192.168.2.*(rw,sync,no_root_squash)
是不能mount成功的,会出现如下错误:
  1. NFS mount failed, reason given by server: Permission denied
针对我的服务器,解决方法就是修改/etc/exports文件为/home/zp/share *(rw,sync,no_root_squash)



您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

DTCC2020中国数据库技术大会 限时9.5折

【架构革新 高效可控】2020年8月17日~19日第十一届中国数据库技术大会将在北京隆重召开。

大会设置2大主会场,20+技术专场,将邀请超百位行业专家,重点围绕数据架构、AI与大数据、传统企业数据库实践和国产开源数据库等内容展开分享和探讨,为广大数据领域从业人士提供一场年度盛会和交流平台。

http://dtcc.it168.com


大会官网>>
  

北京盛拓优讯信息技术有限公司. 版权所有 16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122
中国互联网协会会员  联系我们:huangweiwei@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP