觀察一個電腦系統的開機過程,是理解那個系統的重要一步。事實上從供電啟動之後,電腦總是在執行指令‥即使是錯誤的亂碼,以致於當機。這是一個程序啟動另一個程序的過程,一直持續到作業系統的啟動階段,一般稱作靴帶式啟動。其後由作業系統接手,初始化裝置設備,直到使用者登錄畫面,完成整個開機過程。當然一個簡單的算術計算機,也許一步到位,然而過程上的理解卻是相同的。
在靴帶式啟動過程中,一般使用簡單的聲音、燈號表示系統的狀態或錯誤。目前樹莓派的設計上只使用燈號。樹莓派上有五個 LED 燈號,其中一個標示為 ACT 的發綠色光 LED 正用於啟動過程,開機後的功能依使用的作業環境而異,一般表示為 SD 卡在讀寫動作中。所以關機時最好等到 ACT LED 完全熄滅,再抽拔 SD 卡,以免可能的檔案損毀。下表簡短說明這五個 LED 燈號︰
LED 標示 | 發光顏色 | 功能 | 一般狀態及說明 |
---|---|---|---|
ACT | 綠色 | SD 卡讀寫狀態 | 開機時表示啟動過程,一般開機後用於 SD 卡的讀寫動作中的指示。 |
PWR | 紅色 | 供電 | 供電後維持紅色。 |
FDX | 綠色 | 全雙工 乙太網 | 如果連上全雙工乙太網就亮。 |
LNK | 綠色 | 連上 乙太網 | 如果連上乙太網就亮。 |
100 | 橘色 | 網速 100 Mbps | 如果網速 100 Mbps 以上就亮。 |
現在簡略談談樹莓派官網版 Raspbian 的靴帶式啟動過程,供電後 PWR LED 紅燈亮起,GPU 繪圖處理器啟動,執行 IC ROM 中的起始程序。此程序嘗試讀取 SD 卡上的 fat 分割區塊,尋找 bootcode.bin 檔案,這時 ACT LED 是熄滅的,找到載入後把控制權交給它,展開第二階段。bootcode.bin 嘗試讀取 SD 卡上的 start.elf 。這時如果 start.elf 找不到,ACT LED 閃三次;如果 start.elf 能找到、不能載入,ACT LED 閃四次;假使一切正常,start.elf 將在螢幕上顯示
之後 start.elf 嘗試讀取 SD 卡上的 config.txt 、cmdline.txt 以及kernel.img,如果此時 kernel.img 找不到,ACT LED 將閃七次;最後將控制權交給 kernel.img 完成靴帶式啟動。特別說明這裡的描述都是假裝系統的 SDRAM 工作正常,如果不是 ACT LED 會閃八次。
最後開始 了通常 Linux Kernel 核心的開機過程。