嵌入式Linux NFS 根文件系統(tǒng)的構(gòu)建及研究
摘要:在嵌入式Linux系統(tǒng)開發(fā)過程中,根文件系統(tǒng)是構(gòu)建嵌入式Linux系統(tǒng)的重要組成部分。為了方便和簡化嵌入式Linux開發(fā)過程中的調(diào)試過程,主要研究了如何使用Busybox構(gòu)建出基本的嵌入式Linux根文件系統(tǒng),包括Busybox的配置、編譯和安裝。在此基礎(chǔ)上,進一步構(gòu)建出基于NFS的嵌入式Linux根文件系統(tǒng),并給出了啟動腳本和配置文件。這種根文件系統(tǒng)可以方便地在線更改、調(diào)試程序,降低了嵌入式系統(tǒng)的開發(fā)門檻。
關(guān)鍵詞:NFS;Busybox;根文件系統(tǒng);S3C2440;Linux
隨著信息技術(shù)的發(fā)展,嵌入式系統(tǒng)技術(shù)已經(jīng)廣泛應(yīng)用于國防、通信、工業(yè)控制、消費電子等諸多領(lǐng)域。其中,Linux作為一款開源、成熟且高效穩(wěn)定的多任務(wù)操作系統(tǒng),先天具有許多不可比擬的優(yōu)勢,已成為目前最具潛力的嵌入式操作系統(tǒng)。眾所周知,構(gòu)建根文件系統(tǒng)對于嵌入式Linux開發(fā)至關(guān)重要,它是內(nèi)核啟動后加載的第1個文件系統(tǒng),是決定系統(tǒng)能否正常啟動的關(guān)鍵所在。在開發(fā)階段,程序往往需要反復多次的調(diào)試,鑒于此,構(gòu)建基于NFS(Network File System)的根文件系統(tǒng)就尤為重要;這樣就免去了對目標開發(fā)板的反復燒寫,方便地在線對程序進行更改與調(diào)試。本文以Busybox軟件為基礎(chǔ),介紹了一種實用的NFS根文件系統(tǒng)構(gòu)建方法。
1 嵌入式根文件系統(tǒng)簡介
Linux啟動時,第一個必須掛載的就是根文件系統(tǒng);若系統(tǒng)不能從指定設(shè)備上掛載根文件系統(tǒng),則系統(tǒng)會報錯進而退出啟動。系統(tǒng)成功啟動之后,才可以自動或手動掛載其他的文件系統(tǒng)。
Linux系統(tǒng)各個分區(qū)存儲文件時,需要遵循一定的格式,這種文件格式稱為文件系統(tǒng)類型,比如常見的有ext2,ext3,ext4等。在存儲設(shè)備方面,F(xiàn)LASH是目前嵌入式系統(tǒng)中廣泛采用的主流存儲設(shè)備,它是一種可電擦寫的非易失性存儲器,具有體積小,功耗低,密度高等優(yōu)點。目前FLASH中常見的文件系統(tǒng)主要有Cramfs,Jffs2,Yaffs2等。嵌入式Linux基本的根文件目錄結(jié)構(gòu)如表1所示。
2 Busybox簡介
Busybox常被形象地稱為嵌入式Linux系統(tǒng)開發(fā)中的“瑞士軍刀”,它將許多常用的UNIX命令和工具結(jié)合到了一個單獨的可執(zhí)行程序中。雖然與相應(yīng)的GNU工具相比較,Busybox所提供的功能和參數(shù)略少,但在比較小的系統(tǒng)或者嵌入式系統(tǒng)中已經(jīng)足夠了。它僅用一個可執(zhí)行文件就可以提供基本的Linux操作系統(tǒng)所需的命令,體積很小,配置起來也很方便。
3 Busybox的編譯與安裝
3.1 開發(fā)環(huán)境
基于飛凌OK-2440Ⅲ的硬件平臺采用S3C2440芯片,外圍包括64 MB的SDRAM內(nèi)存、128 MB的NAND FLASH,以及4 MB的NOR FLASH。采用宿主機加目標板的開發(fā)模式,宿主機的系統(tǒng)是Fedora12,目標板的內(nèi)核版本是Linux2.6.30.4,Bootloader采用U-boot。
3.2 配置Busybox
Busybox的源碼在官方網(wǎng)站www.Busybox.net/下載,然后解壓并進行配置安裝,具體步驟如下:
linux相關(guān)文章:linux教程
評論