搭建NFS服务器Setup NFS Server.docx

上传人:b****6 文档编号:8246638 上传时间:2023-01-30 格式:DOCX 页数:10 大小:19.40KB
下载 相关 举报
搭建NFS服务器Setup NFS Server.docx_第1页
第1页 / 共10页
搭建NFS服务器Setup NFS Server.docx_第2页
第2页 / 共10页
搭建NFS服务器Setup NFS Server.docx_第3页
第3页 / 共10页
搭建NFS服务器Setup NFS Server.docx_第4页
第4页 / 共10页
搭建NFS服务器Setup NFS Server.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

搭建NFS服务器Setup NFS Server.docx

《搭建NFS服务器Setup NFS Server.docx》由会员分享,可在线阅读,更多相关《搭建NFS服务器Setup NFS Server.docx(10页珍藏版)》请在冰豆网上搜索。

搭建NFS服务器Setup NFS Server.docx

搭建NFS服务器SetupNFSServer

搭建NFS服务器(SetupNFSServer)

NFS(NetworkFileSystem)是一种在Unix/Linux下广泛使用的网络文件系统。

Linux的内核已经内置了对NFS客户端和服务器的支持。

但是播放机的内核没有打开NFS服务器支持,因此我们需要自己编译相关的模块。

另外我们还需要相应的辅助程序:

portmap和nfs-utils。

其中nfs-utils要求C程序库包含对RPC的支持,然而播放机的uclibc没有打开RPC支持。

下面我将介绍如何解决这些问题。

一、编译内核NFS服务器模块

仍然使用从华硕下载的内核源码,请参考:

下载源代码(DownloadTheSourceCode)

内核源码目录下有一个名为config.develop.avhdd.mars.old的文件,我们以这个配置文件为基础重新配置内核:

$cdlinux-2.6.12

$cpconfig.develop.avhdd.mars.old.config

$makemenuconfig

1.关闭模块版本检查,使得我们编译的模块可以在原厂内核上加载。

配置菜单位置:

Loadablemodulesupport--->[]Moduleversioningsupport(EXPERIMENTAL)2.打开NFS服务器支持,选择把它编译成模块。

配置菜单位置:

Filesystems--->NetworkFileSystems--->[M]NFSserversupport3.打开或关闭内核调试。

这个一定要与你的播放机内核的实际配置保持一致,否则编译出的模块会无法加载。

Kernelhacking--->[?

]Kerneldebugging然后执行make进行编译。

编译完成后我们得到以下两个模块:

fs/exortfs/exportfs.ko

fs/nfsd/nfsd.ko附件:

编译好的模块:

nfs-server-modules-debug.tar.bz2(打开内核调试)

nfs-server-modules-nodebug.tar.bz2(关闭内核调试)二、打开uClibc对RPC的支持

NFS的通讯协议是基于ONCRPC(一种远程过程调用协议)的。

nfs-utils工具调用了C函数库的RPC函数,因此要求uClibc必需提供这些函数。

原厂固件中的uClibc关闭了RPC支持,我们只能用自己编译的支持RPC的uClibc来替换原厂的uClibc。

其实在编译Buildroot时就会自动编译uClibc,请参考:

Buildroot-让交叉编译更轻松。

我们只需在配置buildroot时指定uClibc的配置文件,这个配置文件应该包括下面两项:

UCLIBC_HAS_RPC=y

UCLIBC_HAS_FULL_RPC=y

对应的uClibc的配置菜单如下图:

附件:

补丁:

uClibc-0.9.28-patches.tar.bz2

配置文件:

config-uClibc-0.9.28.bz2

编译好的uClibc:

uClibc-0.9.28-binary.tar.bz2三、编译辅助程序

为了方便链接上述的uClibc,请使用buildroot生成的工具链来编译portmap和nfs-utils。

详细步骤请看:

编译portmap和nfs-utils附件:

编译好的portmap和nfs-utils:

portmap_and_nfs-utils_binary.tar.bz2四、更新固件

用以上三步编译产生的二进制文件制作新固件:

1.内核模块放在如下路径:

lib/modules/2.6.12.6-VENUS/kernel/fs/exportfs/exportfs.ko

lib/modules/2.6.12.6-VENUS/kernel/fs/nfsd/nfsd.ko

2.用自己编译的uClibc替换原厂的uClibc,放在/lib下:

/lib/libm.so.0->libm-0.9.28.so

/lib/libresolv.so.0->libresolv-0.9.28.so

/lib/libpthread-0.9.28.so

/lib/libnsl.so.0->libnsl-0.9.28.so

/lib/ld-uClibc-0.9.28.so

/lib/libutil.so.0->libutil-0.9.28.so

/lib/libcrypt-0.9.28.so

/lib/libm-0.9.28.so

/lib/libutil-0.9.28.so

/lib/ld-uClibc.so.0->ld-uClibc-0.9.28.so

/lib/librt-0.9.28.so

/lib/libuClibc-0.9.28.so

/lib/libdl-0.9.28.so

/lib/libresolv-0.9.28.so

/lib/libcrypt.so.0->libcrypt-0.9.28.so

/lib/libdl.so.0->libdl-0.9.28.so

/lib/libnsl-0.9.28.so

/lib/libpthread.so.0->libpthread-0.9.28.so

/lib/libc.so.0->libuClibc-0.9.28.so

/lib/librt.so.0->librt-0.9.28.so3.portman,nfs-utils及脚本

/etc/init.d/S60nfs

/sbin/portmap

/usr/sbin/exportfs

/usr/sbin/rpc.mountd

/usr/sbin/rpc.nfsd

/usr/sbin/rpc.statd参考:

1.下载源代码(DownloadTheSourceCode)

2.重新编译uClibc

3.编译portmap和nfs-utils

4.Buildroot-让交叉编译更轻松

 

postedon2010-11-0415:

30gouzhuang阅读(4151)评论(24)编辑收藏引用所属分类:

嵌入式Linux评论

 

#re:

搭建NFS服务器(SetupNFSServer)

2010-11-0900:

43

nfs-setup

 

hello-Thankyouforyourhardworkandgreattutorials.Iamhavingtroublegettingthenfsmounttowork.Canyoushareyourmediaplayer's:

/etc/exports

andhowyouhavesetupyourubuntupctomounttheshare?

ThanksinChinesefromtranslate.google:

你好,感谢你们的辛勤工作和伟大的教程。

我遇到麻烦NFS挂载工作。

你能分享您的媒体播放器的:

/etc/exports中

以及您如何设置您的Ubuntu电脑装入分享?

谢谢回复更多评论#re:

搭建NFS服务器(SetupNFSServer)

2010-11-0903:

54

kernel-module-compiling

 

whenItrytocompile/maketheasusoplaykernelusingthebuildroot(builtasdescribedinyourtutorial)Igetalotoferrorsandthecompilationfails.

当我尝试编译/使华硕oplay内核使用buildroot(内置在您的教程中介绍)我得到了很多错误和编译失败。

user111@acer-1810t:

~/asus-oplay-kernel/linux-2.6.12$PATH=/home/user111/buildroot-2009.11/output/staging/usr/bin:

$PATHmake

CHKinclude/linux/version.h

CCscripts/mod/empty.o

HOSTCCscripts/mod/mk_elfconfig

MKELFscripts/mod/elfconfig.h

HOSTCCscripts/mod/file2alias.o

HOSTCCscripts/mod/modpost.o

HOSTCCscripts/mod/sumversion.o

scripts/mod/sumversion.c:

Infunction‘parse_file’:

scripts/mod/sumversion.c:

260:

warning:

pointertargetsinpassingargument1of‘grab_file’differinsignedness....(cutoutalotoferrors|切出了很多错误)..../usr/include/stdlib.h:

184:

note:

expected‘constchar*__restrict__’butargumentisoftype‘unsignedchar*’

CCarch/mips/kernel/offset.s

arch/mips/kernel/offset.c:

Infunction'output_mm_defines':

arch/mips/kernel/offset.c:

227:

error:

invalid'asm':

invaliduseof'%x'

arch/mips/kernel/offset.c:

228:

error:

invalid'asm':

invaliduseof'%x'

arch/mips/kernel/offset.c:

229:

error:

invalid'asm':

invaliduseof'%x'

make[1]:

***[arch/mips/kernel/offset.s]Error1

make:

***[arch/mips/kernel/offset.s]Error2DoyouhaveanyideaswhatImightbedoingwrong?

你有什么想法我可能是做错了什么?

回复更多评论#re:

搭建NFS服务器(SetupNFSServer)

2010-11-0910:

52

gouzhuang

 

@nfs-setup

supposeyourPCisonnetwork192.168.1.0/24,putthefollowinglinein/etc/exports

/tmp/usbmounts/sda1192.168.1.0/24(rw,sync,no_subtree_check)oryoucanrunthefollowingoncommandline:

#exportfs-orw,sync,no_subtree_check192.168.1.0/24:

/tmp/usbmounts/sda1MountnfsonyouubuntuPC:

#mount-tnfs-oudp<ipofyouplayer>:

/tmp/usbmounts/sda1/mnt

回复更多评论#re:

搭建NFS服务器(SetupNFSServer)

2010-11-0910:

57

gouzhuang

 

@kernel-module-compiling

Youareusingthewrongcompiler.Tocompilekernel,youhavetousethecompilerforkernel:

mipsel-linux-sdelinux6.03.01-1,whichwasinstallat/usr/bin/mipsel-linux-gccThebuildrootcompilershouldbeusedtocompileapplicationonly.回复更多评论#re:

搭建NFS服务器(SetupNFSServer)

2010-11-2923:

59

nfs-setup

 

@gouzhuang

Stillcan'tgetnfs-serverofferingstomount.Iget:

Unknownerror521WhenItrytomountusingubuntu10.10Doesthecompilednfsservermodulerequireanoldernfsclienttowork?

Thatis,ifthenfsserverisversion3,doesthenfsclienthavetobeversion3aswell?

Thankyouforyourhardwork,

nfs-setup回复更多评论#re:

搭建NFS服务器(SetupNFSServer)

2010-11-3009:

08

gouzhuang

 

@nfs-setup

Pleasecheckifportmap,rpc.statd,rpc.mountd,rpc.nfsdisrunningonyourplayer.Ifalltheabovedaemonsarerunning,thenwhatistheoutputof'exportfs-v'?

OnyouubuntuPC,run'showmount-e<yourplayerip>',doesitoutputanything?

nfsclientdoesnothavetobeversion3,itcandetecttheserverversionandusethecorrectone.回复更多评论#re:

搭建NFS服务器(SetupNFSServer)

2011-03-2317:

29

ygao2004

 

我用你所编译好的nfs文件去替换,

rpc.nfsd 没有运行,

运行S60nfs,出现

mount:

Mountingnfsdon/proc/fs/nfsdfailed:

Nosuchdevice回复更多评论#re:

搭建NFS服务器(SetupNFSServer)

2011-03-2322:

14

gouzhuang

 

@ygao2004

你加载了nfs内核模块了吗?

回复更多评论#re:

搭建NFS服务器(SetupNFSServer)

2011-03-2322:

30

ygao2004

 

@gouzhuang

insmodnfsd.ko

insmodexports.ko

dmesg未有错误.

ubuntu:

sudomount-tnfs-onolock192.168.1.103:

/tmp/hdd/root/tmp/goodrpcinfo

showmount

看起来都正常.现在则出现:

mount.nfs:

mounttoNFSserver'192.168.1.103'failed:

SystemError:

Connectionrefused

回复更多评论#re:

搭建NFS服务器(SetupNFSServer)

2011-03-2322:

39

gouzhuang

 

@ygao2004

播放机上exportfs-v显示什么?

回复更多评论#re:

搭建NFS服务器(SetupNFSServer)

2011-03-2322:

44

ygao2004

 

@gouzhuang

/tmp/hdd/root/opt/etc/init.d#exportfs-v

/tmp/hdd/root192.168.1.*(rw,async,wdelay,no_root_squash,no_subtree_check)回复更多评论#re:

搭建NFS服务器(SetupNFSServer)

2011-03-2322:

50

gouzhuang

 

@ygao2004

请用192.168.1.0/24替换192.168.1.*回复更多评论#re:

搭建NFS服务器(SetupNFSServer)

2011-03-2322:

54

ygao2004

 

@gouzhuang

/tmp/hdd/root/opt/etc/init.d#exportfs-v

/tmp/hdd/root192.168.1.0/24(rw,async,wdelay,no_root_squash,no_subtree_check)/tmp/hdd/root/opt/etc/init.d#./S60nfsreloadubuntu@ubuntu:

/tmp$sudomount-tnfs-onolock192.168.1.103:

/tmp/hdd/root/tmp/good

mount.nfs:

mounttoNFSserver'192.168.1.103'failed:

SystemError:

Connectionrefused

u回复更多评论#re:

搭建NFS服务器(SetupNFSServer)

2011-03-2323:

19

gouzhuang

 

@ygao2004

不要执行./S60nfsreload,它会重置共享的文件系统。

回复更多评论#re:

搭建NFS服务器(SetupNFSServer)

2011-03-2408:

17

ygao2004

 

@gouzhuang

exportfs:

Noversionsforexportedsymbols.Taintingkernel.

Installingknfsd(copyright(C)1996okir@monad.swb.de).本地自行mount,也没办法.

~#mount-tnfs-onolock192.168.1.103:

/tmp/hdd/root/tmp/good

mount:

192.168.1.103:

/tmp/hdd/rootiswrite-protected,mountingread-only

mount:

Mounting192.168.1.103:

/tmp/hdd/rooton/tmp/goodfailed:

Permissiondenied回复更多评论#re:

搭建NFS服务器(SetupNFSServer)

2011-03-2408:

25

gouzhuang

 

@ygao2004

有点乱,请重新描述你的问题。

请按顺序列出你的操作及输出信息,并指明操作是在播放机上还是在PC上。

回复更多评论#re:

搭建NFS服务器(SetupNFSServer)

2011-03-2408:

37

ygao2004

 

@gouzhuang

我无法在系统下 kernel/fs/等自起动装载,

只能手动insmod,

而且只能在播放机起动后

insmodexports.ko

然后 insmodnfsd.ko

最后 S60nfs

发现 rpc.nfsd没起动

就手动起动,rpc.nfsd这时在ubuntu上 showmoutrpcinfo的输出与正常无区别但是不能mount,无论在播放器上,还是ubuntu上我有一扫描程序,对nfs端口对2049的扫描非常慢,提示

connectionerror.

回复更多评论#re:

搭建NFS服务器(SetupNFSServer)

2011-03-2408:

40

ygao2004

 

对nfstcp2049非常慢,但nfsudp2049显示正常.

回复更多评论#re:

搭建NFS服务器(SetupNFSServer)

2011-03-2419:

23

gouzhuang

 

@ygao2004

试一下给mount命令加上-oudp参数。

如果还是不行,我也没办法了。

回复更多评论#re:

搭建NFS服务器(SetupNFSServer)

2011-03-2419:

59

ygao2004

 

@gouzhuang

不试了,我想也不会行的.回复更多评论#re:

搭建NFS服务器(SetupNFSServer)

2011-03-3107:

58

ygao2004

 

XtreamerLinuxKernel,basedonofficial2.6.12

回复更多评论#re:

搭建NFS服务器(SetupNFSServer)

2011-09-1318:

48

uragan

 

Hello,

wherecanIfindthismanualinenglish?

Thanks!

回复更多评论#re:

搭建NFS服务器(SetupNFSServer)

2011-09-1521:

26

John

 

请教一个问题,

我在锋哲V6T上已经mount一个NFS服务器上的共享文件夹,挂载到/tmp/ramfiles/...下的一个文件夹,但是怎么样才能用遥控器通过视频界面来播放它呢?

能告诉我吗?

感激不尽。

回复更多评论#re:

搭建NFS服务器(SetupNFSServer)

2011-09-1614:

23

gouzhuang

 

@John

简单的方法是:

如果你的硬盘是ext3文件系统,可以在硬盘目录下建一个符号连接:

ln-s/tmp/ramfiles/tmp/usbmounts/sda1

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1