新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于Ubuntu9.10和JZ2440的NFS系統

        基于Ubuntu9.10和JZ2440的NFS系統

        作者: 時間:2016-11-21 來源:網絡 收藏
        NFS是個什么東東,我就不細說了,定義如下:網絡文件系統(NFS,NetworkFileSystem)是一種將遠程主機上的分區(目錄)經網絡掛載到本地系統的一種機制,通過對網絡文件系統的支持,用戶可以在本地系統上像操作本地分區一樣來對遠程主機的共享分區(目錄)進行操作。更具體的,請自行百度、谷歌。

        NFS需要服務端和客戶端,Ubuntu上需要開啟nfs server,JZ2440上需要nfs client。

        Ubuntu9.10安裝和配置nfs


        執行以下命令安裝nfs服務,安裝后即會自動運行:
        sudo apt-get install nfs-kernel-server portmap
        它的配置文件為/etc/exports,在里面增加一下內容,以后通過網絡文件系統訪問/sj_work/fs_root/fs_mini目錄:
        /sj_work/fs_root/fs_mini *(rw,sync,no_root_squash)
        修改完畢后,執行以下命令重啟NFS服務:
        sudo /etc/init.d/nfs-kernel-server restart

        如修改/etc/exports時提示只有管理員才有權限可以執行:sudo vim /etc/exports命令后再修改! 
        以上命令的含義,請自行百度、谷歌。

        JZ2440配置和使用nfs


        網卡驅動:


        使用前需要確保對應開發板上的網卡工作OK,JZ2440上用的是DM9000CEP,此網卡通DM9000A幾乎差不多,但也有一點不同,DM9000驅動可以參考《嵌入式Linux應用開發完全手冊》中的相關章節或自行百度下。
        但有一點需要說明,在linux 2.6.22中Dm9000.c文件中的函數static intdm9000_open(struct net_device *dev)里,需要在

        dm9000_reset(db);
        dm9000_init_dm9000(dev);
        之前添加如下代碼:

        iow(db, DM9000_GPR, 0);
        mdelay(20);
        即預先使能PHY。

        不加此代碼之前,我的網卡工作有時正常,有時異常。這個是針對DM9000CEP的,別的型號的網卡請自行嘗試。


        U-boot傳遞給linux內核的啟動參數:


        setenv bootargs noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0 ---> 這個是默認的啟動參數

        setenv bootargs noinitrd root=/dev/nfs nfsroot=192.168.1.101:/sj_work/fs_root/fs_mini ip=192.168.1.133:192.168.1.101:192.168.1.1:255.255.255.0::eth0:on init=/linuxrc console=ttySAC0 ---> 這個是使用NFS的啟動參數

        NFS的啟動參數格式說明見:linux源代碼中Documentationnfsroot.txt


        linux內核配置:


        我使用的是linux 2.6.22中的archarmconfigss3c2410_defconfig作為默認配置,即使用下面命令
        cp archarmconfigss3c2410_defconfig .config
        之后輸入
        make menuconfig
        既可在s3c2410_defconfig配置的基礎上進行操作。

        需要確保Networking -->Networking options
        [*] TCP/IP networking
        [*] IP: kernel level autoconfiguration
        [ ] IP: DHCP support
        [*] IP: BOOTP support
        [ ] IP: RARP support

        需要確保File systems -->Network File Systems
        <*> NFS file system support
        [*] Provide NFSv3 client support
        [*] Provide client support for the NFSv3 ACL protocol extension
        [*] Provide NFSv4 client support (EXPERIMENTAL)
        [*] Allow direct I/O on NFS files
        [*] Root file system on NFS
        [*] Support for rpcbind versions 3 & 4 (EXPERIMENTAL)

        之后執行make uImage(因為是使用的bootloader用的是u-boot,所以需要生成uImage的內核鏡像。),之后下載sudo dnw arch/arm/boot/uImage。


        評論


        技術專區

        關閉
        主站蜘蛛池模板: 普兰店市| 科尔| 七台河市| 桐柏县| 武冈市| 台安县| 积石山| 绥阳县| 肇州县| 铜梁县| 九龙坡区| 呼伦贝尔市| 桦南县| 上杭县| 大丰市| 红安县| 兰溪市| 正阳县| 万州区| 康马县| 武胜县| 阳春市| 武冈市| 明水县| 阿瓦提县| 洛扎县| 临海市| 军事| 钟祥市| 元江| 兰西县| 保山市| 临江市| 防城港市| 宣城市| 台南县| 台安县| 巢湖市| 安远县| 庆云县| 都江堰市|