基于S3C2410的嵌入式Linux系統(tǒng)構(gòu)建
(3)執(zhí)行make bzlmage,成功編譯后將在arch/arm/boot/下生成需要的文件zimage。
(4)在vivi提示符下,輸入load flash kernel x命令通過串口下載內(nèi)核映像到nand flash的kernel分區(qū)中。
2.3 文件系統(tǒng)
linux采用文件系統(tǒng)組織系統(tǒng)中的文件和設(shè)備,為設(shè)備和用戶程序提供統(tǒng)一接口。他支持cramfs,jffs2.ramdisk等多種文件系統(tǒng)。本系統(tǒng)使用可讀寫的yaffs2根文件系統(tǒng)。
2.3.1 yaffs2文件系統(tǒng)簡介
yaffs2是yaffs(yet another flash file sys tem)的升級(jí)版,能更好地支持nand flash,是一種類似于jffs的專門為flash設(shè)計(jì)的嵌入式文件系統(tǒng)。與jffs相比,他減少了一些功能,因此速度更快、占用內(nèi)存更少。nand flash大多采用mtd+yaffs的模式,通過yaffs文件系統(tǒng),可以像操作硬盤上的文件一樣操作flash中的數(shù)據(jù),在系統(tǒng)斷電后數(shù)據(jù)仍然存儲(chǔ)在flash芯片中.
2.3.2 根文件制作
(1)建立根文件系統(tǒng)目錄root,在root目錄下建訌子日錄bin,sbin,dev,etc,proc,lib,user;
/bin:保存大多數(shù)如init.busybox,shell.文件管理實(shí)用程序等二進(jìn)制文件;
/sbin:保存系統(tǒng)啟動(dòng)過程通常需要的命令;
/dev:包含用在設(shè)備中的所有沒備節(jié)點(diǎn);
/etc:包含系統(tǒng)的所有配置文件;
/proc:這是一個(gè)必須設(shè)置的特殊目錄,在系統(tǒng)運(yùn)行之后他下面有許多內(nèi)容,在某些情況下,可以通過他進(jìn)行系統(tǒng)設(shè)置,許多工具能從這里獲得信息。在編譯內(nèi)核時(shí)要選擇文件系統(tǒng)proc的支持; /lib:包含所有必要的庫;
/user:存放用戶程序。
(2)編譯busybox.busyh。x足一個(gè)著名的開源軟件.他以極小型的應(yīng)用程序集成了一百多個(gè)最常用的linux命令,閃此享有嵌入式linux的瑞士軍刀的美臀。首先,從網(wǎng)上下載busybox源碼.該系統(tǒng)使用的是1.1.3版本;其次,執(zhí)行nlakemenuconfig命令.根據(jù)實(shí)際需求進(jìn)行功能配置,該系統(tǒng)將busybox編詳為靜態(tài)連接;最后:執(zhí)行filakc a11 install進(jìn)行編譯、安裝;編譯器為:arm-linux-gcc一3.4.1,安裝路徑與上述root為同一路徑。這樣在root目錄下將有腳本linuxrc.在/bin,/sbin日錄下將訂busvbox提供的指向busybox的符號(hào)連接命令集。
(3)編寫啟動(dòng)腳本:一般系統(tǒng)啟動(dòng)時(shí)都會(huì)按要求執(zhí)行相應(yīng)的初始化操作。寫住命令仃的init=/liunxrc·這個(gè)linuxrc足指向/etc/init.d/rcs文件的一個(gè)符號(hào)連接。在rcs文件中列出了 linux仞始化要執(zhí)行的文件.例如.初始化進(jìn)程init、掛載根系統(tǒng)、掛載模塊化設(shè)備驅(qū)動(dòng)等。rcs的作用相當(dāng)于windows中的autocxec.bat文什,由于對(duì)于不同的應(yīng)用rcs的內(nèi)容變化很大,因此應(yīng)根據(jù)實(shí)際需要編寫rcs的內(nèi)容。
(4)制作yaffs2映象:利用實(shí)用程序nlkyaffsinlage(mkvaffmage與root 目錄在同一路徑下)制作yaffs2映像root.img命令為:
#./inkyaffsimage root root. inlgroot.img就是所需要的yaffs2文件系統(tǒng);
(5)文件系統(tǒng)映像下載:在vivi提示符下,執(zhí)仃loadyaffs root x選擇root.inlg將文件通過串口下載到nand flash的root分區(qū)中.然后復(fù)化或重啟開發(fā)板,就可以啟動(dòng)linux系統(tǒng)。
3 結(jié) 語
通過對(duì)嵌入式系統(tǒng)arni平臺(tái)的構(gòu)建,分析bootloadervivj的功能.闡述了linux內(nèi)核的移植,同時(shí)也解釋r制作yaffs2文件系統(tǒng)的步驟和方法.意在給嵌入式系統(tǒng)平臺(tái)的搭建有個(gè)整體的把握和認(rèn)識(shí),以降低進(jìn)入arm嵌入式開發(fā)應(yīng)用領(lǐng)域的門檻,進(jìn)一步推進(jìn)嵌入式軟硬件開發(fā)的進(jìn)程。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評(píng)論