linux-2.6.14挂载NFS文件系统

本文详细介绍了如何在Ubuntu11.10系统上配置NFS服务器并实现文件系统的挂载,同时提供了CS8900网络驱动在Linux环境下移植的具体步骤。包括NFS服务器配置、驱动移植所需文件修改与内核编译等关键过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

linux-2.6.14挂载NFS文件系统

NFS服务器配置

系统平台:

VMware7+Ubuntu 11.10

安装NFS:

  #apt-get install nfs-kernel-server
  打开/etc/exports文件,在末尾加入:
  /home/nfs *(rw,sync,no_root_squash)
  注:nfs允许挂载的目录及权限,在文件/etc/exports中进行定义, 各字段含义如下:
  • /home/nfs:要共享的目录
  • * :允许所有的网段访问
  • rw :读写权限
  • sync:资料同步写入内在和硬盘
  • no_root_squash:nfs客户端共享目录使用者权限

重启服务:

  #/etc/init.d/portmap restart <---重启portmap,很重要
  #/etc/init.d/nfs-kernel-server restart <---重启nfs服务
  #showmount -e <---显示共享出的目录
  注:nfs是一个RPC程序,使用它前,需要映射好端口,通过portmap设定
  命令执行情况如下:
  #/etc/init.d/portmap restart
  
  #/etc/init.d/nfs-kernel-server restart
  
  #showmount -e

在本机上测试:

  #sudo mount -t nfs localhost:/home/nfs /mnt
  注:localhost为本机linux的IP地址
  这样就把共享目录挂到了/mnt目录,取消挂载用:
  # umount /mnt

CS8900驱动移植

1 cs8900.c 和 cs8900.h 放到 /drivers/net/arm/


2 在 cs8900.c 中的 cs8900_probe() 函数中 ,memset (&priv,0,sizeof (cs8900_t)); 函数之后添加如下两条语句 :
__raw_writel(0x2211d110,S3C2410_BWSCON);
__raw_writel(0x1f7c,S3C2410_BANKCON3);
添加头文件 #include <asm/arch/regs-mem.h>

3 修改 drivers/net/arm/ 目录下的 Kconfig 文件 , 在最后添加如下内容 :
config ARM_CS8900
tristate "CS8900 support"
depends on NET_ETHERNET && ARM && ARCH_SMDK2410
help

4 修改 drivers/net/arm/ 目录下的 Makefile 文件 , 在最后添加如下内容 :
obj-$(CONFIG_ARM_CS8900) += cs8900.o

5 在 /arch/arm/mach-s3c2410/mach-smdk2410.c 文件中 , 找到 smdk2410_iodesc[] 结构数组 , 添加如下如下内容 :{vSMDK2410_ETH_IO, 0x19000000, SZ_1M, MT_DEVICE }
添加头文件 #inlcude <asm/arch/smdk2410.h>
其实这个就是下面的那个头文件的链接 /include/asm-arm/arch-s3c2410/smdk2410.h

6 在 include/asm-arm/arch-s3c2410/ 目录下创建 smdk2410.h 文件 , 其内容为 :
#ifndef _INCLUDE_SMDK2410_H_
#define _INCLUDE_SMDK2410_H_
#include <linux/config.h>
#define pSMDK2410_ETH_IO 0x19000000
#define vSMDK2410_ETH_IO 0xE0000000
#define SMDK2410_ETH_IRQ IRQ_EINT9
#endif // _INCLUDE_SMDK2410_H_

7 编译内核 , 选中所装驱动
#make menuconfig
Device Drivers >
Network device support --->
Ethernet (10 or 100Mbit) --->
[*]Ethernet (10 or 100Mbit)
<*>CS8900 support

U-Boot环境变量设置

setenv bootargs noinitrd root=/dev/nfs nfsroot=192.168.1.15:/home/nfs/myroot ip=192.168.1.5 init=/linuxrc console=ttySAC0,115200
saveenv
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值