1.确认nfs server已经安装。
2.修改nsf配置文件
vi /etc/exports
在文件中添加nfs的目录格式如下
/home/linux/xdvr/bin 192.168.1.124(rw,sync,no_root_squash)
3.exports: exportfs -r(也可以通过注销系统来更新)
4. /etc/init.d/nfs restart
或者 /sbin/service nfs restart
5.查看nfs文件系统输出的共享:
showmount -e 192.168.1.120
6.在客户端挂载nfs文件系统:
mount -t nfs 192.168.1.120:/var/ftp/ftp/install /mnt
From http://blog.csdn.net/iaki2008/archive/2008/11/02/3205496.aspx
一、Netwrok File Service (NFS)
1、对于共享文件的配置存放于/etc/exports文件中
2、可以通过“exportfs -r”更新共享列表
3、可以通过“mount”指令存取共享出来的目录
4、NFS服务是一种RPC服务,需要“portmap服务”的协助。可以通过“rpcinfo -p”指令,可以获得portmap的信息
5、NFS服务是一种“System V-managed”服务
6、安装NFS服务所需的软件包“nfs-utils”
7、相关的守护程序:nfsd,lockd,rpciod,rpc.{mountd,rquotad,statd}
8、端口:由“portmap”指定(111)
9、/etc/exports配置文件的格式:
每一个要分离的目录占用一行,分为三栏:第一栏为要分享的目录全路径;第二栏表示分享给谁;第三栏为mount选项,默认为“(ro,sync)”,“sync”表示当目录有变动时立即通知客户端。
/tmp *(ro,sync)
/data *.example.com(ro,sync) server1.redhat.com(rw,sync)
/data1 192.168.0.0/255.255.255.0(sync)
更改了exports文件后,在服务器端要使用“exportfs -r”指令来更新分享列表
10、客户端挂载时的mount指令格式:mount [-t nfs] [<options>] <服务器ip>:<分享的目录路径> <准备挂载到客户端上的路径>
例:mount -t nfs -o rw,soft,intr,timeo=1 192.168.0.147:/tmp /mnt/nfs
options(默认选项为“hard nointr”):
soft:Report error if no response from the NFS Server
hard:Continue to retry if the NFS Server has no response
intr:Allow interruption
nointr:Not allow interruption
timeo:time out(Sec)
11、客户端若要用mount指令存取nfs服务器分享出来的目录,则客户端必须要开启“nfs服务"
12、服务器端若要对分离出来的目录中的文件做其它设定时,要注意文件的属主是根据“uid”来差别,而不是“username”。客户端也同样要注意当重装系统重新添加帐户时应保持uid与安装前的要一致。
From http://blog.csdn.net/xmr_gxcfe/archive/2009/05/31/4227043.aspx
1. 首先制作目标测试文件
#cd /tmp
#vi main.c
编辑 main.c
#include <stdio.h>
#include <stdlib.h>
int
main(int argc,char* argv[])
{
printf("%s/n","hello world");
}
ctrl+c 以后输入 :wq 后回车保存
使用交叉编译器编译
#arm-linux=gcc -o main main.c
#ls
看到有 main 文件生成
2. 环境介绍
我的系统是 windows2003 通过超级终端用串口连接开发板。
windows2003 的 IP 地址是 192.168.18.173
windows 2003 安装虚拟机 虚拟机上安装的是 fedora 10 ip 地址是 192.168.18.170
我们称为宿主。
路由器的地址是192.168.18.1
现在要设置下目标机器 即开发板上的系统的 IP 地址为 192.168.18.125
3 设置目标机器的 IP 地址
设置开发板为 nand flash 启动 通电以后 在超级终端上回车
进入命令行,输入
#ifconfig eth0 192.168.18.125
使用 ifconfig 命令查看结果
#ifconfig 如果正确进入下一步
4 挂载 NFS 系统到目标机的 /mnt
首先在 fc10 中
# cd /opt/FriendlyARM/mini2440/root_qtopia
# mkdir proj
# cd /tmp
# cp ./main /opt/FriendlyARM/mini2440/root_qtopia/proj
/opt/FriendlyARM/mini2440/root_qtopia 为 fc 中 NFS 的共享目录
在开发板上的终端命令行中输入
# mkdir /mnt
# mount -t nfs -o nolock 192.168.18.170:/opt/FriendlyARM/mini2440/root_qtopia /mnt
5. 测试目标机上的程序执行
在终端中继续输入
# cd /mnt/proj
注意此时 NFS 系统的文件已经挂载在 /mnt 下了。
输出 ls 出现我们刚才生成的程序
# ls
main
# ./main
hello world
6. 通过 NFS 启动目标机的系统
打开超级终端,连接到目标机器
开发板设置成 nand flash 启动,通电以后,快速按下空格键。
出现提示: Supervivi>
输入
param set linux_cmd_line "console=ttySAC0 root=/dev/nfs nfsroot=192.168.18.170:/opt/FriendlyARM/mini2440/root_qtopia ip=192.168.18.125:192.168.18.170:192.168.18.1:255.255.255.0:sbc2440.arm9.net:eth0 :off"
回车以后 Supervivi > boot
系统启动,这样目标机在完成 linux 内核加载 , 就可以从宿主机上的 NFS 文件系统启动了。
说明:开发板上的启动顺序是 bootloader (在这里是我们使用 Supervivi ) ->linux 内核 -> 根文件系统