Linux開發十九_nfs文件系統

Linux開發十九

nfs文件系統

象棋小子    1048272975

nfs即網絡文件系統,通過網絡,對在不同主機上的文件進行共享。嵌入式開發中,往往需要構建調試文件系統,在主機端以nfs文件系統的方式先調試構建文件系統,將極大地方便開發。

1. nfs文件系統

nfs需要主機端以及板端的nfs服務支持。

1.1. 主機端nfs配置

主機端以/nfs/rootfs目錄作爲文件共享目錄,該目錄必須具備讀寫權限。打開/etc/exports文件加入目錄共享。

/nfs/rootfs 192.168.0.*(rw,async,no_root_squash)

關閉防火牆

service iptables stop

重啓nfs服務,如果沒有nfs服務,需要先安裝nfs服務。

service rpcbind start

service nfs restart

配置ip地址,並且自掛載以確認主機nfs服務工作正常。

ifconfig eth0 192.168.0.10 up

mkdir /mnt/nfs

#mount –t nfs 192.168.0.10:/nfs/rootfs /mnt/nfs

1.2. 板端nfs配置

在前面的章節中,Linux內核集成了initramfs根文件系統,也可以直接採用nfs作爲根文件系統。Linux內核配置支持nfs文件系統後,可以在initramfs根文件系統啓動後,先嚐試掛載nfs文件系統,以確定板端及主機端的nfs服務正常。確認正常後,Linux內核可以去掉initramfs根文件系統,bootloader傳遞掛載nfs根文件系統的啓動參數,實現從nfs掛載根文件系統啓動。

initramfs根文件系統啓動後掛載nfs

mount -t nfs -o nolock 192.168.0.10:/nfs/rootfs  /mnt/nfs

bootloader傳遞啓動參數,使nfs作爲根文件系統。

const char BootCmd[] = "noinitrd root=/dev/nfs init=/initconsole=ttySAC0 nfsroot=192.168.0.10:/nfs/rootfs,nolock rw ip=192.168.0.20:192.168.0.10:192.168.0.10:255.255.255.0::eth0:off";

2. 內核配置

Linux配置支持nfs文件系統,選中Filesystems->Network File Systems->NFS client support。

3. 主機端構建根文件系統

在主機/nfs/rootfs目錄中構建板端根文件系統,把交叉編譯工具的加載器以及動態庫複製到根文件系統的lib目錄。

cp  *.so*  /nfs/rootfs/lib  –d

重新以共享庫的方式交叉編譯busybox,並把庫、配置文件、可執行文件等拷貝到/nfs/rootfs根文件系統中。

減少對flash的讀寫,把/tmp、/dev目錄掛接在tmpfs設備上。打開/etc/fstab文件,加入/tmp、/dev目錄的掛載。

tmpfs         /tmp    tmpfs   defaults      0    0

tmpfs         /dev     tmpfs   defaults      0    0

etc/init.d/rcS 文件加入mdev的支持,從而不用手動創建設備節點。

echo /sbin/mdev > /proc/sys/kernel/hotplug

mdev -s

可以添加/etc/mdev.conf配置文件,實現設備的自動掛載/卸載等。支持nfs文件系統後,就可以在主機端構建配置根文件系統,當驗證通過後,再把構建好的根文件系統製作成flash燒錄鏡像並燒錄,可以極大地加快開發的進度。

4. 附錄

https://pan.baidu.com/s/1slczwhJ

bootloader源碼以及使用說明

https://pan.baidu.com/s/1eRDJtNs

Qt5.8官網源碼

https://pan.baidu.com/s/1nuGmSqt

本系列例程的根文件系統

https://pan.baidu.com/s/1i5btLGT

opev3.2.0官網源碼

https://pan.baidu.com/s/1pLpuHw3

yaffs官網源碼 

https://pan.baidu.com/s/1bpkZynt

busybox-1.26.2官網源碼

https://pan.baidu.com/s/1i4EtjfR

tslib官網源碼

https://pan.baidu.com/s/1i5MGRhb

mplayer-1.3.0官網源碼

https://pan.baidu.com/s/1sl0fXlr

基於S3C2416修改的linux-4.10.10源碼

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章