嵌入式Linux在IOP331上的移植實(shí)現(xiàn)
2.3 制作Ramdisk根文件系統(tǒng)
嵌入式系統(tǒng)通常不自帶磁盤,這對(duì)于要使用文件系統(tǒng)的真正文件的情況來(lái)說(shuō)是一個(gè)需要解決的問(wèn)題。文件是需要存儲(chǔ)介質(zhì)的,所以需要以其它介質(zhì)來(lái)充當(dāng)磁盤。使用一部分內(nèi)存空間來(lái)代替磁盤的方法就是所謂的“Ramdisk”技術(shù)。對(duì)此,Linux內(nèi)核中有相關(guān)的支持。
本文使用Busybox工具制作Ramdisk根文件系統(tǒng)映像。首先下載壓縮工具包busybox-1.01.tar.tar,解壓后進(jìn)行配置,使能Build BusyBox as a static binary (no shared libs)并配置交叉編譯工具鏈的路徑后編譯,編譯得到的文件在_install文件夾下。配合內(nèi)核參數(shù)0x00800000,0x01000000使用下列命令創(chuàng)建16M的基本Ramdisk映像文件:
dd if=/dev/zero of=ramdisk.img bs=1k count=16k
mke2fs ramdisk.img
編寫腳本文件在文件系統(tǒng)中生成基本的目錄結(jié)構(gòu)和設(shè)備節(jié)點(diǎn)。使用mount命令將其掛載到一個(gè)文件夾下,將busybox編譯得到的全部文件復(fù)制到該文件夾下后根據(jù)實(shí)際需求加入其它內(nèi)容后卸載映像文件,壓縮該映像文件即可得到需要的Ramdisk根文件系統(tǒng)映像。
2.4 內(nèi)核啟動(dòng)
嵌入式系統(tǒng)跟普通PC機(jī)的啟動(dòng)流程不同。PC機(jī)啟動(dòng)流程為:系統(tǒng)加電或復(fù)位à啟動(dòng)BIOS完成系統(tǒng)硬件啟動(dòng)并將硬盤(或軟盤、光盤等)上的有關(guān)操作系統(tǒng)啟動(dòng)的系統(tǒng)軟件調(diào)入內(nèi)存à bootloader將系統(tǒng)代碼讀入內(nèi)存à操作系統(tǒng)初始化àbootloader將控制權(quán)交給操作系統(tǒng)à操作系統(tǒng)啟動(dòng)。
圖2 Linux移植流程圖
評(píng)論