|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
主要记录下如何在ARM开发板上挂载NFS文件系统。& N V* i2 G1 \0 m, C2 X! }
/ F1 C9 ^- i: I$ o) B
PC主机:Ubuntu 和 redhat 9.0% y* g, G* J3 Z0 W4 ^+ Q
4 r6 ]9 u. U1 Y
目标板:TQ2440开发板,linux内核2.6.30 T$ v5 M8 a. y4 o
! z z( o! `0 I' F t) E1 c
1.PC上安装NFS服务2 T+ N% [5 k- F5 d; B
( p( A: j! n7 j2 W6 ~0 |+ i6 usudo apt-get install nfs-kernel-server
; a7 v/ r3 g& v: \sudo apt-get install portmap nfs-common* y' y9 X8 K- x6 Y( F4 M | f
( C3 I2 |+ ]- E. Z. _) u' N
2. 编辑/etc/exports文件* R6 \1 z- z, d* _2 y
' a3 e! |2 l* A# z$ K2 Pyj423@ubuntu:~$ cat /etc/exports0 ~ S! f s' b0 ]: B5 ]" d4 S: h% C
/home/yj423/nfswork *(rw,sync,no_root_squash)5 S2 H" {' x1 G% D/ O- t* ?2 M
6 O8 g+ s- J- G8 s+ \, I: r1 o设置/home/yj423/nfswork为被挂载的文件目录
7 i2 ] Y& V3 N& L6 l& l
3 L1 c% m8 D1 w9 ~3 n3.启动NFS服务
8 ~ V6 P4 W0 \$ i& I6 ?* M3 x q
* c# F2 S! G9 j7 z% M! z; tsudo /etc/init.d/nfs-kernel-server start4 ^! N) m( N& K
sudo /etc/init.d/portmap start6 l( x7 x" K5 ~, L" n
$ U# I1 g8 q9 }7 S$ B" YNOTE:确保每次Ubunu重启时都要启动这两个服务,否则NFS根文件不能挂载。
% a1 H9 F% F$ S3 D! }# e7 F3 A5 G; T/ j
4.配置开发板Linux内核,开启NFS客户端0 c$ u9 o$ a1 b4 l
3 d' C s, C, ?5 i
, s& Z3 i/ d8 K3 {& Z2 A
$ I( f* g' W8 K) o
8 L* r3 G) I j+ j$ l& i; [! d: j, a2 ]
5. 在开发板建立挂载点的目录" c3 E) ]( F2 s/ h+ e
' W" I1 e. }5 f2 ^执行命令: mkdir /mnt/nfs; K: h5 v8 U/ U
+ h1 l" X, d9 A1 A
7 i0 C6 d4 B8 }) Y/ ?
( B, R; d( ^* E5 d4 u& M
6. 挂载NFS文件系统
8 b/ h3 k$ O0 v# {% E- ]( k# `& ]6 u$ c. Y! W
执行命令:mount -o nolock 192.168.1.102:/home/yj423/nfswork /mnt/nfs
! ?; z0 N' @8 J: y1 j) x$ R
( d. m( E2 ~7 j" J执行完以后,NFS就挂载完成。
2 _! V# w* I) M7 K* V: ^* I: l/ [1 Z s
NOTE:此处一定要加上-o nolock 选项,否则挂载会失败。至于原因,网上的解释如下:
' E9 ^! s( k9 s9 O; U( ~# G2 R( Q
^% j5 X! p% S F% ~. X( w, R9 Hnfs mount 默认选项包括文件锁,依赖于portmap提供的动态端口分配功能;4 q) _, ^, { G! s& `2 `* v& R$ ]
简单的解决方法:kill 文件锁(lockd)或者mount -o nolock
0 | ~+ e4 t ]nolock这个选项是针对NFS所特有的:Disable NFS locking. Do not start lockd. This has to be used with some old NFS servers that don't support locking.
1 F% ]/ R0 Q; C" ^- S; E ^2 G8 R! H8 Z2 E! \
查看挂载后的情况:
N+ A5 O0 `# Y( Y* T
9 ^1 _- q/ V* C6 c! s1 [5 M1 W[root@yj423 /mnt]#mount -o nolock 192.168.1.102:/home/yj423/nfswork /mnt/nfs8 ^9 H. j) k, n) l
[root@yj423 /mnt]#cd nfs1 H0 u7 c3 g8 B& Z3 y. F
[root@yj423 nfs]#ls
6 @& d% s3 C5 Q% a! ~bin dev home linuxrc proc sbin tmp var
* G* ?7 u3 X7 X3 t; Uboot etc lib mnt root sys usr welcome, O% m9 x5 V- Q% h1 T. X
1 |4 {; J% G+ |0 C
2 V1 g, d( h" V% l
, t d8 D4 M# f& o) x' L! A
$ B }+ s$ F: s+ D) @! T- `
% x5 Z; |; a4 N3 `2 r2 i |
|