博客專欄

        EEPW首頁 > 博客 > Linux中bootloader介紹

        Linux中bootloader介紹

        發布人:嵌入式Linux 時間:2023-01-10 來源:工程師 發布文章

        一個嵌入式Linux系統從軟件的角度通常分為以下四個層次:

        • 引導加載程序。包括固化在firmware中的boot代碼(可選),和Bootloader兩大部分。

        • Linux內核。

        • 文件系統。

        • 應用程序。

        Bootloader概念

        在嵌入式操作系統中,Bootloader是硬件啟動的引導程序,是運行操作系統的前提;在操作系統內核或用戶應用程序運行之前運行的一小段代碼,對軟硬件進行相應的初始化和設定,為最終運行操作系統準備好環境,類似于X86計算機中的BIOS固件;Bootloader不屬于操作系統,一般采用匯編語言和C語言開發,需要針對特定的硬件平臺(比如arm、powerpc、MIPS等)編寫,Bootloader不但依賴于CPU的體系結構,而且依賴于嵌入式系統板級設備的配置。對于2塊不同的嵌入式板而言,即使它們使用同一種處理器,要想讓運行在一塊板子上的Bootloader程序也能運行在另一塊板子上,一般也都需要修改Bootloader的源程序。

        Bootloader的兩種操作模式

        自啟動模式:在這種模式下,Bootloader從目標機上的某個固態存儲設備上將操作系統(kernel)加載到RAM中運行(讀取bootcmd參數),整個過程并沒有用戶的介入。

        交互模式:在這種模式下(uboot可在倒計時按任意鍵進入到這種模式),目標機上的Bootloader將通過串口或網絡等方式從開發主機(Host)上下載內核映像和根文件系統映像等到RAM中,可以被 Bootloader寫到目標機上的固態存儲媒質中,或者直接進行系統的引導。也可以通過串口接收用戶的命令。

        Bootloader的基本功能
        • 初始化相關硬件

        • 把bootloader自搬運到RAM中

        • 執行用戶的命令

        • 訪問環境變量

        • 通過網絡/串口通信

        • 讀寫RAM/FLASH

        • 加載并執行內核

        常見的Bootloader
        • Redboot:Redhat公司隨eCos發布的一個BOOT方案,是一個開源項目,Linux操作系統引導,在線讀寫Flash。

        • ARMboot:ARM平臺的開源固件項目,2002年ARMboot終止了維護。

        • U-Boot:ARMboot并入了PPCBoot,和其他一些平臺的Loader合稱U-Boot,是目前最常用的bootloader。

        • Blob、Bios-lt、Bootldr、vivi等


        *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。



        關鍵詞: bootloader

        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 赤水市| 镇宁| 连州市| 河西区| 文水县| 察雅县| 宜都市| 英山县| 建宁县| 康保县| 桑植县| 章丘市| 乌兰浩特市| 金寨县| 文水县| 舟山市| 潜山县| 鄂托克前旗| 滦南县| 黄大仙区| 沙坪坝区| 华坪县| 石台县| 黎城县| 拜泉县| 那曲县| 宣恩县| 蛟河市| 泰来县| 汽车| 琼海市| 肇源县| 同江市| 巨野县| 志丹县| 收藏| 南乐县| 前郭尔| 陕西省| 中超| 万全县|