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