1. 程式人生 > >Exynos4412 NFS伺服器搭建

Exynos4412 NFS伺服器搭建

環境:

主機:ubuntu 12.04 

開發板主晶片:Exynos4412

交叉編譯器:arm-2009q3.tar.bz2

一、確保pc ip和開發板ip處於同一網段

例如:我的ubuntu12.04是192.168.1.121子網掩碼是255.255.255.0、開發板ip是192.168.1.110 、子網掩碼是255.255.255.0不確定的同學可以自己搜一下"同一網段"

二、主機環境搭建

1、使用命令apt-getinstallnfs-kernel-server安裝ubuntu NFS伺服器

2、配置共享路徑

在/etc/export檔案的最後一行新增:/work/minilinux/*(rw,sync,no_root_squash)

這裡/work/minilinux/是共享的需要掛載的網路檔案系統路徑,在minilinux下有system資料夾,然後下面就是需要檔案系統

rw:是可讀寫許可權;

sync:是資料同步寫入記憶體和硬碟;

no_root_squash:是Ubuntunfs客戶端分享目錄使用者的許可權,如果客戶端使用的是root用
戶,那麼對於該共享目錄而言,該客戶端就具有root許可權;

3、重啟portmap服務,輸入/etc/init.d/portmaprestart命令

如下: 

4、然後重啟nfs服務,輸入/etc/init.d/nfs-kernel-serverrestart命令

如下:

注意若fail需要使用root許可權

   

5、現在Ubuntunfs伺服器端的配置就完成了,下面我們可以在虛擬機器Ubuntu本機上驗證一下,
例如我們把/work/minilinux/system掛載到/mnt目錄下,需要輸入mount -t nfs
localhost:/home/topeet/linux/app/system/mnt
命令,如下圖:


執行完上面的命令,可以使用df命令檢視是否掛載成功,如下圖:


三、核心配置

進入配置介面,配置核心
– make menuconfig

1、“Networking support”→“Networking options”→選上“IP: kernel level autoconfiguration”

2、返回到make menuconfig 的初始介面
      – “File systems”→“Network File Systems”
     –選中“NFS client support”,“NFS client support for NFS version 3”,“NFS client support for the NFSv3 ACL protocol extension”,

         “NFS client support for NFS version4”,“NFS client support for NFSv4.1”,“Root file system on NFS”

3、返回到make menuconfig 的初始配置介面
      –進入“Boot options”→“Default kernel command”

root=/dev/nfs rw nfsroot=192.168.1.121:/work/minilinux/system   //伺服器ip

ip=192.168.1.110:192.168.1.121:192.168.1.1:255.255.255.0:iTOP:eth0:off 

//開發板、伺服器、開發板閘道器、子網掩碼、開發板名字、網絡卡名字

rootfstype=ext4 init=/linuxrc console=ttySAC2,115200

4、生成zImage

make然後在arch->arm->boot下生成zImage檔案

四、無法啟動解決方法

error:提示cannot find /etc/mtab
需要將ifconfig-eth0中第八行:
if grep -q "^/dev/root / nfs " /etc/mtab ; then
改為:
ifgrep-qnfs/proc/mounts;then
如果沒有/proc/mounts則需要新建/proc/mounts
否則提示cannot found /proc/mounts
然後nfs not respond
成功掛載提示:(ifconfig-eth0)
Try to bring eth0 interface up......NFS root ...Done