對於很多嵌入式驅動開發者,要進行很多次調試,如果nfs搭建不起來,那麼對開發是很不方便的。經過三天,我終於把自己編的內核下載到開發板,並實現了nfs文件系統的掛載。今天把過程寫下來。 思路 一 編譯arm內核 #make menuconfig ARCH=arm //編譯內核的配置菜單 (1)把gen ...
對於很多嵌入式驅動開發者,要進行很多次調試,如果nfs搭建不起來,那麼對開發是很不方便的。經過三天,我終於把自己編的內核下載到開發板,並實現了nfs文件系統的掛載。今天把過程寫下來。
思路
一 編譯arm內核
#make menuconfig ARCH=arm //編譯內核的配置菜單
(1)把general->下的
[]initial ... // 把這項給去掉了。按n。
(2)進入file system
找到network filesystem
[*]root filesystem // 選中這項
二配置開發板uboot的環境變數
#setenv bootargs noinitrd console=ttySAC0,115200 init=/init root=/dev/nfs rw nfsroot=192.168.1.108:/home/S5-driver/lesson8/rootfs ip=192.168.1.107:192.168.1.108:192.168.1.1:255.255.255.0::eth0:off
//root=/dev/nfs 根文件系統,設置成nfs。
//nfsroot=192.168.1.108 :/home/S5-driver/lesson8/rootfs 這就是nfs掛載的文件位置。每個人的都不一樣,看你的文件系統安裝到哪裡了。
//ip=192.168.1.107 這個是開發板的ip地址,後邊跟的是虛擬機地址,網關,dns 。
//et0 這個是把地址賦予第一塊網卡
//off 關閉動態ip分配
三 宿主機終端操作
#vim /etc/exports
添加一行/home/S5-driver/lesson8/rootfs *(rw,sync,no_root_squash)
#/etc/init.d/nfs restart 重啟nfs
四 在開發板上tftp 內核。
#tftp 20000000 uImage
#bootm uImage
可以看見內核能夠啟動起來。ls一下可以看到,你可以在虛擬機上mkdir一個文件夾,看開發板上能否同步。不能就說明有問題,當然,內核沒有根文件系統也是啟動不成功的。