Introduction

  系統經由 BIOS 開機後,接下來就會進入 bootloader。若沒有 BIOS,則會直接進入 bootloader。從 OS 的角度來看,bootloader 最終的目的就是載入 kernel image 並執行。 通常,bootloader 是硬體相關的,不同的 processor 的 bootloader 自然會不大相同。 目前大部分的 bootloader 可分成兩個 stage。stage 1 包括大部分的組合語言程式,主要用來初始化硬體並準備載入 stage 2。 stage 2 則通常用 C 語言來實作,這樣可以實作一些更為複雜的功能,並具有較好的可攜性和可讀性 。   本篇以 U-Boot 來介紹。

Stage 1

一進入 bootloader,就會進入 stage 1。stage 1 通常會有以下的動作。通常是以組合語言實作。

Fundamental Hardware Initialization

  • disable 所有中斷。(由於中斷服務是 OS 或 driver 的責任,bootloader 本身並不需要。)
  • 設定 CPU 的速度與 clock 頻率。
  • 初始化 RAM。包括設定系統的 register,memory bank 等。
  • 關閉 CPU 內部指令和資料 cache。

Reference

  • Reference #1.
  • Reference #2.
documents/bootloader.txt · 上一次變更: 2008/02/27 16:59 由 wytai
CC Attribution-Noncommercial-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0