新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > linux-2.6.14掛載NFS文件系統

        linux-2.6.14掛載NFS文件系統

        作者: 時間:2016-11-22 來源:網絡 收藏

        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

        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
        其實這個就是下面的那個頭文件的鏈接 /include/asm-arm/arch-s3c2410/smdk2410.h

        6 在 include/asm-arm/arch-s3c2410/ 目錄下創建 smdk2410.h 文件 , 其內容為 :
        #ifndef _INCLUDE_SMDK2410_H_
        #define _INCLUDE_SMDK2410_H_
        #include
        #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


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 广河县| 宜川县| 龙川县| 梓潼县| 常宁市| 台北县| 平南县| 勃利县| 金川县| 西宁市| 定兴县| 东宁县| 石景山区| 绥芬河市| 松溪县| 句容市| 宿松县| 苏尼特左旗| 泰和县| 抚顺市| 门源| 广元市| 兴和县| 疏附县| 鹤壁市| 哈尔滨市| 隆尧县| 柘城县| 砀山县| 淳化县| 白城市| 嘉鱼县| 江华| 怀宁县| 衡东县| 望谟县| 尼木县| 天津市| 黑河市| 松原市| 滦平县|