當前位置:菜譜大全網 - 饑荒食譜 - 樹莓派Linux啟動過程簡介

樹莓派Linux啟動過程簡介

昨天我在寫壹篇關於linux setup腳本引導的文章時,有壹個問題是關於引導時如何確認運行級別,然後遍歷/etc/rcN.d/目錄下的所有服務程序。帶著疑問,我在前人的基礎上學習和總結了linux系統初始化的內容,現展示在樹莓派4B上。

1,加載內核

?電腦開機,第壹步是BIOS自檢,根據BIOS中設置的啟動設備(壹般是硬盤)開始。在操作系統接管硬件之後,它首先讀取/boot目錄中的內核文件。樹莓派4B的內核是Raspbian GNU/Linux 10(Buster),基於Debian。

2.初始化進程init

?加載內核文件後,運行第壹個程序init,它用於初始化系統環境。Init位於目錄/sbin中,進程號PID為1,即進程1。所有其他進程都是從init派生的,並且是init的子進程。

同時還有壹個0進程,空閑進程,是系統初始化時內核自己從頭創建的。通過調用kernel_thread創建壹個內核線程來執行init函數,0進程創建壹個1進程。

3.操作級別

具體可以參考作者的文章——Linux運行級別入門?但是,如何確定開機時的運行級別呢?

init進程首先讀取文件/etc/inittab,這是運行級別的設置文件。但是每個發行版都不壹樣,init的配置文件也不壹樣。可以使用/etc/event.d中的配置文件,最新版本改為/etc/init目錄。

4、引導程序

有關詳細信息,請參考文章-在-linux中設置/etc/init.d。確定運行級別後,執行rcN.d目錄下的文件。這些鏈接文件是連接到init.d目錄的程序。Init進程逐個加載引導程序,實際上是在這個目錄下運行啟動腳本。

例如,當運行級別為5時啟動的程序(圖形多用戶):

5.用戶登錄

?用戶在引導程序加載後登錄。用戶有三種登錄方法:

?命令行登錄:init進程調用getty程序。

?Ssh登錄:init進程調用sshd程序。

?圖形界面登錄:init進程調用顯示管理器,Gnome圖形界面對應的顯示管理器是gdm。

6?、登錄shell

默認的shell是bash,命令行界面,它允許用戶直接與操作系統對話。讀環境變量,請參考作者的文章——Linux環境變量設置。