個人心情和 Linux / FreeBSD 等技術

2007/05/03

Linux Startup Flow

流程圖
power on -> BIOS -> boot loader -> Linux kernel & initrd
-> init scripts -> system


* initrd(init ram disk)補充 *

initrd簡單的說就是將電腦的記憶體(ram)模擬成硬碟。

initrd要包含有
1. a linuxrc script
2. The kernel modules that are needed

boot loader 會將 initrd 和 kernel 載入記憶體。然後 kernel 會偵測現
有的 initrd ,將他解壓縮並掛載成臨時的 root filesystem 。最後開始
執行 linuxrc script。

linuxrc 這個程式會載入所有被需要的模組,(並不是全部模組呀~)
然後掛載真正的 root filesystem(你的硬碟分割區 "/")並執行
pivot_root

這個動作是轉換 initrd 這個臨時 root filesystem 到真正的 root 上。

一直到正確的 root filesystem被掛載後 linuxrc才能夠繼續將開機流程
遞交給 init (/sbin/init) program

沒有留言: