基于Xscale的PC/104 Linux系統(tǒng)構(gòu)建
3.3 Boot Loader移植
引導(dǎo)加載程序Boot loader是在操作系統(tǒng)內(nèi)核運行前運行的一小段程序。用來完成硬件和軟件運行環(huán)境的初始化,建立內(nèi)存空間映射圖,以便最終調(diào)用操作系統(tǒng)內(nèi)核。作用與PC機(jī)上的BIOS基本相同,是最底層的引導(dǎo)程序。
本文采用了功能最多、最具彈性的被最為積極開發(fā)和維護(hù)的開放源碼的bootloader,即U-BOOT。它除了提供引導(dǎo)功能外,還提供監(jiān)控程序的功能,該功能在系統(tǒng)開發(fā)期間非常有用。
Boot Loader移植操作如下:
首先確定在cpu./xscale/和board./pxa270下存在xscale.c和pxa270.c兩個文件,然后在根目錄下輸入:make pxa270_config得到U-Boot.bin映像文件,最后用JTAG燒錄到FLASH,完成Boot Loader的移植。
3.4 Linux內(nèi)核的配置與裁減
Linux內(nèi)核已經(jīng)發(fā)展到2.6.20版本,功能非常強(qiáng)大,但是,體積也變的異常龐大。因此,必須針對PC/104目標(biāo)板的硬件配置進(jìn)行裁減。
根據(jù)目標(biāo)板PXA270的資源配置,采用make menuconfig配置內(nèi)核,將有關(guān)CPU、內(nèi)存管理、JFFS2文件系統(tǒng)支持、串口支持、網(wǎng)口支持編譯進(jìn)內(nèi)核,將音頻、觸摸屏接口、LVDS接口作為模塊編譯,需要時動態(tài)載入,這樣編譯下來的內(nèi)核只有300KB左右,大大減小了內(nèi)核的體積,減輕了目標(biāo)板有限的存儲空間和內(nèi)存的壓力。
編譯并生成鏡像命令如下:
1)#tar jxvf my-linux-2.6.10..tar.bz2
2)#ln –s linux-2.6.10 linux
3)#cd linux
4)#make clean
5)#make dep
6)#make bzImage
3.5 文件系統(tǒng)的選擇和建立
根據(jù)文件系統(tǒng)的特性[5]和PC/104目標(biāo)板的硬件環(huán)境,選擇JFFS2作為PC/104目標(biāo)板的文件系統(tǒng)。JFFS2文件系統(tǒng)具有垃圾回收功能維護(hù)空間,并且它的元數(shù)據(jù)的結(jié)構(gòu)允許文件系統(tǒng)的寫入操作,故可提供對使用Flash系統(tǒng)而言非常重要的斷電可靠性和損耗平衡特性,能應(yīng)對PC104工作時的突發(fā)事件,避免系統(tǒng)由于突發(fā)事件造成崩潰,從而提高系統(tǒng)的安全性。
商用發(fā)行版Red Hat的文件系統(tǒng)內(nèi)容來自GNU,體積龐大,不適合做嵌入式系統(tǒng)的文件系統(tǒng),而Busybox是小型嵌入式系統(tǒng)常用的一個套件,它可以根據(jù)配置執(zhí)行ash shell的基本功能,以及幾十個小應(yīng)用程序的功能,而大小只有300K左右,是目前嵌入式領(lǐng)域最活躍的系統(tǒng)應(yīng)用套件。故本文使用Busybox系統(tǒng)套件。
將全部的文件系統(tǒng)移植到目標(biāo)板之前,需要用mkfs.jffs2工具打包。具體移植操作如下:
1) 解壓根文件系統(tǒng),生成root目錄。
#tar jxf up-netpxa270_fs.tar.bz2
2) 解壓busybox
#cd up-techpxa270/kernel/02_root
#tar zxf busybox-1.00-pre9.tar.gz
#cd busybox-1.00-pre9
3) 配置安裝busybox
#make menucongfig
4) 生成JFFS2文件系統(tǒng)
#/mkfs.jffs2 -r root -o rootfs.img -e 0x20000 --pad=0xd00000
移植好文件系統(tǒng)后,便可以通過U-boot引導(dǎo),并掛載該文件系統(tǒng)根分區(qū)啟動Linux。
4 系統(tǒng)測試
開發(fā)的基于Xscale的PC/104 Linux系統(tǒng)硬件如圖1所示。室溫25℃,通風(fēng)良好條件下,經(jīng)測試,系統(tǒng)能夠啟動并穩(wěn)定運行(如圖2),通過PING命令測試表明,系統(tǒng)能夠與外網(wǎng)連通(如圖3),且工作穩(wěn)定,系統(tǒng)構(gòu)建成功。
圖1 PC/104開發(fā)板
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論