一、开发环境:
1.主机:FC4,装在VMWare Workstation下。
2.硬件:S3C2410开发板,网络接口DM900AE。
3.文件系统:使用Busybox-1.10.1制作完成。
4.主机和开发板通过路由器相连。
二、配置过程:
1. 确保网卡驱动已经成功移植并编译到内核中,如果加载内核后路由器对应灯不亮则多半是网卡驱动移植不正确。
2. 编译内核的配置:在编译内核时,一定要选上网卡相关的驱动,选中网络支持,一定选上如下几项:
NetWorking下面:
√ NetWorking Support
NetWorking options:
√TCP/IP networking
√IP:kernel level autoconfiguration
√IP:DHCP support
√IP:BOOTP support
√IP:RARP support
Device Drivers:
√NetWorking Device Support
√Ethernet(10 or 100Mbit)及其子项全勾上。
File Systems:
√NFS file system support
√Root file system on NFS
3. 主机nfs服务配置:
新建一个目录用于存放文件系统,如/home/Filter/netfs,以root身份登录主机,编译/etc目录下的共享目录配置文件exports,加入共享路径,如下
/home/Filter/netfs 192.168.1.* (rw,sync,no_root_squash)
保存并退出。注意中间要隔空格,也可以按:桌面->系统设置->服务器设置->NFS图形化设置。
以上配置的意义是:允许IP地址为192.168.1.*网段的计算机以读写的方式
访问共享目录:/home/Filter/netnfs,sync:数据同步写入内存和磁盘。no_root_squash:NFS服务器共享目录用户的属性,如果用户是root,那么这个共享目录就具有root权限。
运行如下命令关掉防火墙:service iptables stop
如果没有安装NFS服务则先安装NFS服务,安装好后启动端口映射和NFS服务:
启动端口映射:./portmap restart (/etc/rc.d/init.d/目录)
启动NFS服务:./nfs restart (/etc/rc.d/init.d/目录)
通过本机测试:mount -t nfs 192.168.1.101:/home/Filter/netfs /mnt
如果能挂载上则配置正确,注意要是同一网段的IP,否则不能访问。
至此主机配置完成。
4. 网络连接的配置:通过虚拟机连接网络时要将网络设置为:
Bridged connected directly to the physical network。设置为其它模式似乎不能连接.
5.内核启动参数的配置:
noinitrd root=/dev/nfs rw init=/linuxrc nfsroot=192.168.1.101:/home/Filter/netfs console=ttySAC0,115200 ip=192.168.1.99:192.168.1.101:192.168.1.1:255.255.255.0 rootfstype=nfs mem=64M
说明:nfsroot=192.168.1.101 为主机IP,:/home/Filter/netfs为上面配置的共享目录。
ip=192.168.1.99:192.168.1.101:192.168.1.1:255.255.255.0
IP的配置按事下顺序:开发板IP:主机IP:路由器网关:子网掩码
以上配置中:
开发板IP: 192.168.1.99 这个IP在启动时会重新配置,随便写一个不影响配置。
主机IP: 192.168.1.101, 通过ifconfig查询即得。inet addr:192.168.1.101
网关IP:192.168.1.1 (路由器IP)
子网掩码: 255.255.255.0
6.将配置好的内核编译加载,将文件系统制作好放到共享目录,启动后如果配置正确,即可加载NFS文件系统。
7. 注意要关掉Windows的防火墙和其它防火墙。
以下为启动部分信息:
.....................
DM9000 ethernet driver V1.26 I/O: c4928300, VID: 90000a46
.....................................
enable_irq(19) unbalanced from c01afb7c
Sending DHCP and RARP requests .. OK
IP-Config: Got DHCP answer from 192.168.1.1, my address is 192.168.1.99
IP-Config: Complete:
device=eth0, addr=192.168.1.99, mask=255.255.255.0, gw=192.168.1.1,
host=192.168.1.99, domain=private, nis-domain=(none),
bootserver=192.168.1.1, rootserver=192.168.1.101, rootpath=
md: Autodetecting RAID arrays.
md: autorun ...
md: ... autorun DONE.
Looking up port of RPC 100003/2 on 192.168.1.101
Looking up port of RPC 100005/1 on 192.168.1.101
VFS: Mounted root (nfs filesystem).
Freeing init memory: 140K
init started: BusyBox v1.10.1 (2008-04-23 23:20:41 CST)
starting pid 251, tty '/dev/console': '/etc/init.d/rcS'