嵌入式Linux系統的Bootloader簡介

嵌入式Linux系統的Bootloader簡介

   支持Linux的Bootloader比較多,發展到2010年,出現了一些必然的結果,有些Bootloader已經消失,有些Bootloader被取代,有些Bootloader被合併,有些雖然在發展,不過已退居一個偏僻的角落。現在就主流的或者說應用的有點廣泛的Bootloader做個介紹。
     GRUB/GRUB2: GRUB是主要針對x86系列處理器的Bootloader,同時支持服務器級PowerPC/MIPS處理器,曾經作爲LILO(原Linux + x86的主流Bootloader)的後繼者出現,現在終於如願,LILO已停止發展,GRUB一家獨大,着也正常,畢竟LILO不如GRUB的功能強勁。現在GRUB已經發展到第二代GRUB2,而且作爲GNU的項目,後續的發展不成問題。
     CoreBoot: 曾經叫做LinuxBIOS,被稱爲x86 BIOS的完整替代品,不過不象GRUB那麼幸運,先被Intel忠愛,後被拋棄,發展了很多年,也沒能實現自己的目標;不過CoreBOOT使用C語言開發,不象BIOS那樣使用晦澀的彙編語言,開放性比較好,比起BIOS的過頭的封閉性來,更符合潮流,無奈不受Intel喜歡,目前只能在艱難中前行。
     U-Boot: 主流的Linux的Bootloader,支持X86/ARM/PowerPC/MIPS等衆多CPU處理器架構。最初U-Boot是PPCBoot,後來和PPCBoot移植到ARM處理的版本ARMBoot合併改名爲U-Boot,後續不斷的添加其它處理的支持,不斷的改進Shell工具,進而發展爲主流的Linux的Bootloader。其強勁的發展能力,優秀的代碼架構無不令人讚歎。
     Redboot: 是Red Hat開發的Bootloader,支持衆多CPU處理器架構,和eCos操作系統糅合在一起,限制了Redboot的發展,當Red Hat 放棄eCos操作系統發展的時候Redboot就變的越來越老化,分支的出現就不可避免,Intel開發了Redboot支持IXP/IOP Xscale處理支持的代碼,不過只是提供給Intel自己客戶使用,Redboot已經變成一個非主流的Bootloader。
     Yamon: 針對MIPS系列處理器的Bootloader,主要由MIPS公司開發核心代碼,使用MIPS核開發應用處理器的廠商會基於MIPS公司開發核心代碼Yamon來擴展自己的代碼,Sigma Design SMP8xxx 高清多媒體處理器的Bootloader就是這種實現,這種實現彌補了U-Boot對MIPS處理器支持的不足。某種意義上說Yamon是MIPS處理器Bootloader的一個選項。
    最後回顧一下主流版本已經停止發展的Bootloader: LILO、ROLO、BLOB、PMON、SH-Boot、Bootldr等,這些Bootloader你也許有所耳問,也許無從知道。作爲Linux開發者,只要能熟悉主流的Linux系統Bootloader,對Linux系統使用Bootloader就會有個感性的認識。當然會有廠商針對自己或者合作伙伴的處理器(如ARM核)開發自有的Bootloader如ViVi、rrload等,不過獨有的東西,除非特殊,不然建議不要使用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章