七度黑光--为国难哀悼 -总理哭了-你的苦难就是我们的苦难,你的希望就是我们的希望。当灾难来临时,我们与你在一起,一起为逝者默念安息、一起为伤者祈祷平安。而更多的关怀和力量,正悄悄在汇集:天佑中华,众志成城;抗震救灾、重建家园...... 冰川横流,在山岩留下雄浑的擦痕,火山爆发,为大地留下壮美的馈赠;流星掠过,在天空留下闪亮的轨迹……我们也希望,许多年以后,回首我们生命留下的轨迹,可以自豪而骄傲地说:我曾问心无愧地活过!那么,生命的涵义,究竟是什么?

ubuntu下NFS配置和uClinux下NFS远程调试

2008-03-23 11:22:57 / 个人分类:嵌入式学习笔记

开发环境:S3C4510B+uCLinux2.4.x+ubuntu7.10

建立的目的:可以直接在开发板上挂载开发主机上的文件系统,减少程序的烧写次数,提高程序开发速度。

 

NFS(Network File System, 网络文件系统)可以通过NFS把远程主机的目录挂载到本机,使得访问远程主机的目录就像访问本地目录一样方便快捷。

NFS一般是实现linux系统之间实现共享.当然和unix之间也应该可以使用它来实现共享。但如果需要在linuxwindows系统之间共享, 就得使用samba!

NFS是一个RPC服务程序,所以在使用它之前, 先要映射好端口——通过portmap设定. 比如: 某个NFS client发起NFS服务请求时, 它需要先得到一个端口(port).所以它先通过portmap得到port number.所以在启动NFS之前, 需要启动portmap服务!

Ubuntu上默认是没有安装NFS服务器的,首先要安装NFS服务程序:

sudo apt-get install nfs-kernel-server

(安装nfs-kernel-server时,apt会自动安装nfs-commonportmap

这样,宿主机就相当于NFS Server

NFS相关的几个文件, 命令

1/etc/exports 对共享目录的管理都是在这个文件中实现的

2/sbin/exportfs 维护NFS的资源共享.通过它可以使修改后的/etc/exports中的的共享目录生效关于这个命令的使用方法如下:

 exportfs [-aruv]

 -a :全部mount或者unmount /etc/exports中的内容

 -r :重新mount /etc/exports中分享出来的目录

 -u umount 目录

 -v :在 export ?r候,将详细的信息输出到屏幕上。

3/usr/sbin/showmount 用在 NFS Server 端。主要用查看 RPC共享的连接

4/var/lib/nfs/xtab NFS的记录文档:通过它可以查看有哪些Client 连接到NFS主机的记录.

下面这几个文件并不直接负责NFS, 实际上它们负责所有的RPC

5/etc/default/portmap 实际上, portmap负责映射所有的RPC服务端口

6/etc/hosts.deny 设定拒绝portmap服务的主机

7/etc/hosts.allow 设定允许portmap服务的主机

1.修改/etc/exports/etc/exportsnfs服务器的核心配置文件。在/etc/exports中添加一个共享目录。

/var/nfs/ *(rw,sync)

/var/nfs/是要共享的文件夹,*是表示所有用户都可以挂载这个共享文件夹。这里也可以替换成ip地址,网段(192.168.1.0/24)或是主机名。(rw,sync)表示以读写方式挂载,并且远程主机同步,syncNFS的默认选项。关于括号内的参数还有以下几种:rw:可读写的权限;ro:只读的权限;no_root_squash:登入到NFS主机的用户如果是ROOT用户,他就拥有ROOT的权限,此参数很不安全,建议不要使用。root_squashall_squash:不管登陆NFS主机的用户是什么都会被重新设定为nobodyanonuid:将登入NFS主机的用户都设定成指定的user id,ID必须存在于/etc/passwd中。 anongid:同 anonuid ,但是? group ID 就是了!sync:资料同步写入存储器中。async:资料会先暂时存放在内存中,不会直接写入硬盘。insecure 允许从这台机器过来的非授权访问。

 

2 使用命令sudo exportfs -r 更新

3.重新启动portmap服务和nfs-kernel-server服务

命令分别为:

/etc/init.d/portmap start

/etc/init.d/nfs-kernel-server restart

4.uclinux端的配置

uclinux端在还需作一些配置才可以使用mount来挂载远程主机的NFS共享目录.配置修改如下:

1)配置内核

选中ramdisk驱动,加入ext2文件系统

Networking options --> (缺省)

Network device support --> (缺省)

File systems --> Network File Systems --> NFS file system support

Provide NFSv3 client support

2)用户程序配置(ramdisk)

Network Applications --> portmap

BusyBox --> mount(mount nfs support)

5测试NFS启动客户端uclinux输入命令:

mount -t nfs 192.168.1.242:/var/nfs /mnt -o nolock

可以使用ls /mnt查看挂载过来的文件。在uclinux下挂载远程主机的共享文件主要是为了实现远程调试。在远程主机上进行交叉编译之后,在uclinux下直接运行编译好的程序。


TAG: 嵌入式学习笔记

我来说两句

-5 -3 -1 - +1 +3 +5

Open Toolbar