Qemu搭建ARM vexpress開發(fā)環(huán)境(三)----NFS網(wǎng)絡(luò)根文件系統(tǒng)

Qemu搭建ARM vexpress開發(fā)環(huán)境(三)----NFS網(wǎng)絡(luò)根文件系統(tǒng)

標(biāo)簽(空格分隔): Qemu ARM Linux


經(jīng)過上一篇《Qemu搭建ARM vexpress開發(fā)環(huán)境(二)----通過u-boot啟動(dòng)Linux內(nèi)核》刊侯,已經(jīng)實(shí)現(xiàn)了通過u-boot加載Kernel啟動(dòng)開發(fā)板痘括,并且掛載根文件系統(tǒng),本文講述通過NFS網(wǎng)絡(luò)掛載根文件系統(tǒng)滔吠。

通過NFS網(wǎng)絡(luò)根文件系統(tǒng)纲菌,可以實(shí)現(xiàn)開發(fā)板在通過u-boot啟動(dòng)內(nèi)核后,通過NFS網(wǎng)絡(luò)在別的PC主機(jī)上掛載根文件系統(tǒng)疮绷。對于開發(fā)調(diào)試階段的工作學(xué)習(xí)提供了很大的便利翰舌,可以直接在Linux主機(jī)上開發(fā)、編譯驅(qū)動(dòng)或者APP冬骚,并將目標(biāo)文件拷貝到NFS服務(wù)目錄中進(jìn)行使用(此時(shí)文件相當(dāng)于被拷貝到了開發(fā)板的根文件系統(tǒng)中)椅贱。也可以在主機(jī)端直接修改rootfs文件系統(tǒng)中別的文件懂算,等效于在開發(fā)板上直接修改。

本文來介紹NFS掛載網(wǎng)絡(luò)根文件系統(tǒng)的操作步驟庇麦,本方法不僅僅適用于Qemu搭建的ARM vexpress開發(fā)板環(huán)境计技,也適用于所有其他的開發(fā)板實(shí)體。

由于各個(gè)開發(fā)板的NFS網(wǎng)絡(luò)文件系統(tǒng)制作方法是相同的山橄,也可以參考Exynos4412和NanopiNEO開發(fā)板環(huán)境搭建中的NFS網(wǎng)絡(luò)文件系統(tǒng)制作方法部分內(nèi)容垮媒。

1. 環(huán)境配置

Linux主機(jī)支持NFS服務(wù)
修改bootargs啟動(dòng)參數(shù)
設(shè)置NFS為根文件系統(tǒng)
設(shè)置主機(jī)NFS文件系統(tǒng)地址
內(nèi)核支持NFS掛載文件系統(tǒng)

2. 安裝并配置NFS服務(wù)

2.1 Linux主機(jī)開啟NFS服務(wù)

安裝:

# sudo apt install nfs-kernel-server

配置NFS:

# vim /etc/exports
// 添加NFS共享目錄
/home/mcy/qemu/rootfs    *(rw, sync, no_root_squash, no_subtree_check)
    rw    可讀可寫操作
    sync    內(nèi)存和磁盤上的內(nèi)容保持同步
    no_root_squash    Linux主機(jī)不再將開發(fā)板設(shè)置為匿名用戶,可以操作文件讀寫
    no_subtree_check    不檢查根文件系統(tǒng)子目錄文件

重啟NFS服務(wù):

sudo /etc/init.d/rpcbind restart
sudo /etc/init.d/nfs-kernel-server restart

或者:

# systemctl restart nfs-kernel-server

檢查NFS共享目錄是否創(chuàng)建:

# sudo showmount -e
Export list for mcy-VirtualBox:
/home/mcy/qemu/rootfs *

注:
使用NFS網(wǎng)絡(luò)文件系統(tǒng)時(shí)航棱,需要Linux主機(jī)關(guān)閉系統(tǒng)防火墻楔脯,否則朝群,系統(tǒng)在運(yùn)行時(shí)會(huì)出現(xiàn)異常婚苹。

2.2 開發(fā)板配置支持NFS網(wǎng)絡(luò)

修改u-boot中的啟動(dòng)參數(shù):

# vim include/configs/
CONFIG_BOOTCOMMAND
    setenv bootargs 'root=/dev/nfs rw    \
    nfsroot=192.168.0.105:/home/mcy/qemu/rootfs init=/linuxrc    \
    ip=192.168.0.110 console=ttyAMA0';    \

配置內(nèi)核支持NFS掛載文件系統(tǒng)

完善NFS文件系統(tǒng)
重啟reboot命令

3. 制作根文件系統(tǒng)

編譯busybox

nfs
Linux System Utilities  --->
    [*] mount (30 kb)
        [*]   Support mounting NFS file systems on Linux < 2.6.23

創(chuàng)建rootfs目錄浪漠,并在rootfs目錄下創(chuàng)建文件:

# mkdir etc
# cd etc
# vim inittab
::sysinit:/etc/init.d/rcS        // 執(zhí)行rcS腳本
#::respawn:-/bin/sh
#tty2::askfirst:-/bin/sh
#::ctrlaltdel:/bin/umount -a -r

console::askfirst:-/bin/sh
::ctrlaltdel:/sbin/reboot
::shutdown:/bin/umount -a -r
# vim init.d/rcS
#! /bin/sh
PATH=/sbin:/bin:/user/sbin:/usr/bin
LD_LIBRARY_PATH=/lib
export PATH LD_LIBRARY_PATH

mount -a        // 掛載根文件系統(tǒng) fstab
mkdir -p /dev/pts
mount -t devpts devpts dev/pts
mdev -s
mkdir -p /var/lock

echo "......"
# vim fstab
proc    /proc    proc    defaults    0    0
tmpfs    /tmp    tmpfs    default    0    0
sysfs    /sys    sysfs    default    0    0
tmpfs    /dev    tmpfs    default    0    0
var    /dev    tmpfs    default    0    0
ramfs    /dev    ramfs    default    0    0
# vim profile
PS1='xiami@vexpress:\w #'
export PS1

也可以在~/.bashrc中修改或設(shè)置PS1

啟動(dòng)流程:
Linux內(nèi)核啟動(dòng)之后,掛載根文件系統(tǒng)
開啟init進(jìn)程朴艰,bootargs init=/linuxrc观蓄,啟動(dòng)第一個(gè)用戶進(jìn)程
在用戶進(jìn)程中讀取inittab腳本,

構(gòu)建其他目錄
其他的目錄可以是空目錄

# cd rootfs
# mkdir proc mnt tmp sys root
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末祠墅,一起剝皮案震驚了整個(gè)濱河市蜘腌,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌饵隙,老刑警劉巖撮珠,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異金矛,居然都是意外死亡芯急,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進(jìn)店門驶俊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來娶耍,“玉大人,你說我怎么就攤上這事饼酿¢啪疲” “怎么了?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵故俐,是天一觀的道長想鹰。 經(jīng)常有香客問我,道長药版,這世上最難降的妖魔是什么辑舷? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮槽片,結(jié)果婚禮上何缓,老公的妹妹穿的比我還像新娘肢础。我一直安慰自己,他們只是感情好碌廓,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布传轰。 她就那樣靜靜地躺著,像睡著了一般谷婆。 火紅的嫁衣襯著肌膚如雪慨蛙。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天波材,我揣著相機(jī)與錄音股淡,去河邊找鬼身隐。 笑死廷区,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的贾铝。 我是一名探鬼主播隙轻,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼垢揩!你這毒婦竟也來了玖绿?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤叁巨,失蹤者是張志新(化名)和其女友劉穎斑匪,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體锋勺,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蚀瘸,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了庶橱。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片贮勃。...
    茶點(diǎn)故事閱讀 39,690評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖苏章,靈堂內(nèi)的尸體忽然破棺而出寂嘉,到底是詐尸還是另有隱情,我是刑警寧澤枫绅,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布泉孩,位于F島的核電站,受9級特大地震影響并淋,放射性物質(zhì)發(fā)生泄漏棵譬。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一预伺、第九天 我趴在偏房一處隱蔽的房頂上張望订咸。 院中可真熱鬧曼尊,春花似錦、人聲如沸脏嚷。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽父叙。三九已至神郊,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間趾唱,已是汗流浹背涌乳。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留甜癞,地道東北人夕晓。 一個(gè)月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像悠咱,于是被迫代替她去往敵國和親蒸辆。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評論 2 353

推薦閱讀更多精彩內(nèi)容