Linux系統教程:定製5M的RedHat 5.8系統

來源:互聯網
上載者:User

對系統的裁剪首先要先瞭解系統的整個啟動流程,明白其所需要的設定檔;這樣在操作的時候才能清楚自己在做什麼,以及需要做什麼

啟動流程詳解

POST-->BIOS(Boot Sequence) -->MBR讀取BootLoader--->Kernel~initrd~-->init(/etc/inittab)

電腦本身不會執行程式,系統剛剛啟動的時候會將某個ROM中的程式映射到cpu可以定址的地址空間中去並且能夠讓cpu能夠執行其中的指令,這些指令就是完成系統檢測的,檢測完成後如果核心硬體沒有問題時,緊接著根據BIOS中所設定的啟動流程去依次的尋找對應裝置上的MBR;如果MBR存在就會讀取MBR中的Bootloader,Bootloader中配置了所有引導的作業系統的核心所在位置,然後將核心裝載到記憶體,進行解壓縮並完成核心初始化以後,Bootloader將控制權交給核心

核心初始化

核心初始化完成的工作;硬體探測-->裝載驅動-->掛載根檔案系統-->啟動使用者空間的第一個進程(即init)。init本身的設定檔是/etc/inittab 紅帽6上是upstart(也稱呼為init,upstart的設定檔在/etc/inittab和/etc/init/*.conf的檔案

initrd介紹

核心完成初始化要依賴於驅動程式,這些驅動程式如果沒有直接做在核心當中的時候,就需要到某個檔案路徑去裝載這個驅動程式,當核心訪問根檔案系統的裝置,但是裝置驅動沒有直接裝載到核心時,核心首先要到檔案系統上找這個裝置驅動,但是檔案系統又沒有被掛載,initrd就是核心與檔案系統的中間人。initrd有核心所依賴到的額外的裝置驅動,最重要的是根檔案系統的驅動核心是藉助initrd為核心提供訪問真正的檔案系統所需要的基本驅動程式所以initrd是個輔助性的過渡性的中介層,能夠實現將kernel與真正的檔案系統串連起來的,串連之後,工作即完成了

init主要完成的工作

init的功能即是在inittab設定檔內容定義,主要是:設定預設運行層級、系統初始化指令碼(依賴指令碼/etc/rc.d/rc.sysinit)、運行指定層級的服務指令碼(服務指令碼在/etc/rc.d/init.d/目錄下,這些服務指令碼都有連結,即連結到/etc/rc.d/rc#.d/目錄下,#代表是系統的運行層級(rc0.d--rc6.d),還有最後一個啟動並執行指令碼rc。local 設定ctrl+alt+delet按鍵組合的意義 設定突然斷電時的程式 設定電源恢複後的程式然後啟動虛擬終端。(有了預設運行層級及初始化指令碼,系統就可以跑起來的)

/etc/rc.d/rc.sysinit主要功能

在inittab執行的第二步是執行/etc/rc.d/rc.sysinit指令碼程式,檢測,並且以讀寫方式重新掛載根檔案系統;設定主機名稱;檢測並掛載/etc/fstab中的其他檔案系統;啟用交換分區;啟用swap分區初始化外圍硬體裝置的驅動;根據/etc/sysctl.conf設定核心參數啟用udev和selinux;啟用lvm和RAID裝置清理到期鎖和FID檔案

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 下一頁

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.