關於開機流程的問題請教 - PCZONE 討論區

返回   PCZONE 討論區 > ▲ -- 電 腦 軟 體 討 論 區 > -- FreeBSD & Linux 討 論 版


PCZONE 討論區



通知

-- FreeBSD & Linux 討 論 版 因為本站採用 FreeBSD 作業系統,所以自己本身也多學了一些技巧,希望各位在這裡互相討論 Unix 作業系統及程式等相關問題。

會員
關於開機流程的問題請教
關於開機流程:

BIOS ->
-> MBR
-> Kernel
-> initial ramdisk
-> root filesystem(ro)
-> init
-> /etc/rc.d/rc.sysint
-> /etc/rc.d/init.d/*

請教

1.)
root filesystem(ro) 的作用( 為何在此要 mount 起 / 且還是 read only 呢? )

2.)
initial ramdisk
google 查得的結果多用來驅動 SCSI 硬碟用(當然不只此)...請教為何這些硬體得在此先驅動呢?


謝謝 !

回覆
會員
回覆: 關於開機流程的問題請教
引用:
作者: b90220208 觀看文章
關於開機流程:

BIOS ->
-> MBR
-> Kernel
-> initial ramdisk
-> root filesystem(ro)
-> init
-> /etc/rc.d/rc.sysint
-> /etc/rc.d/init.d/*

請教

1.)
root filesystem(ro) 的作用( 為何在此要 mount 起 / 且還是 read only 呢? )

2.)
initial ramdisk
google 查得的結果多用來驅動 SCSI 硬碟用(當然不只此)...請教為何這些硬體得在此先驅動呢?


謝謝 !
因為只是要讀 initrd 的 image 所以用 ro mount 起來就好了.

把 initrd.img 讀出來要放哪裡?
回覆
會員
回覆: 關於開機流程的問題請教
引用:
作者: b90220208 觀看文章
1.)
root filesystem(ro) 的作用( 為何在此要 mount 起 / 且還是 read only 呢? )
因為root file system有可能必須fsck,而系統的utility都是放在root file system內的(i.e.非mount起來才讀得到),mount成rw又不能fsck,所以只有mount成ro了 ....

引用:
作者: b90220208 觀看文章
2.)
initial ramdisk
google 查得的結果多用來驅動 SCSI 硬碟用(當然不只此)...請教為何這些硬體得在此先驅動呢?

謝謝 !
initrd通常是拿來放storage/file system相關module的,這部份若沒有static link進kernel中kernel又要如何mount file system呢,所以要先把這堆東東包成kernel一定讀得到的格式讓kernel有module可用,接下來才有戲唱就是了 ....
回覆
會員
回覆: 關於開機流程的問題請教
Thanks#

引用:
把 initrd.img 讀出來要放哪裡?
...不是 RAM 中嗎

若是要讀 /boot 中 initrd 的 image , 那麼開機流程順序為何是
initial ramdisk ->-> root filesystem(ro) 呢?
回覆
會員
回覆: 關於開機流程的問題請教
感謝#
引用:
作者: wangcm 觀看文章
initrd通常是拿來放storage/file system相關module的,這部份若沒有static link進kernel中kernel又要如何mount file system呢,所以要先把這堆東東包成kernel一定讀得到的格式讓kernel有module可用,接下來才有戲唱就是了 ....
這些 scsi, sata, usb 等的 driver 為何要先行於此驅動...其道理是...?
若以例如網卡的方式( /etc/modprobe.conf ) 驅動不是亦為可行嗎?
回覆
會員
回覆: 關於開機流程的問題請教
引用:
作者: b90220208 觀看文章
感謝#


這些 scsi, sata, usb 等的 driver 為何要先行於此驅動...其道理是...?
若以例如網卡的方式( /etc/modprobe.conf ) 驅動不是亦為可行嗎?
如果不知道怎麼驅動storage,要怎麼mount在storage上的root file system呢----因為此時kernel根本是沒辦法讀到放在root file system中的module的 ....BTW,如果root file system是在USB或NFS上,那當然也得先把USB/networking動起來才有得玩,如果不是這樣的話initrd要不要包USB/networking相關部份自然就無所謂了 ....

PS:kernel之所以非靠storage相關module才能mount root file system,是因為只要loader載入kernel image,kernel initial起來之後對kernel而言BIOS就等於不存在了,so ....

此篇文章於 2008-11-05 06:51 PM 被 wangcm 編輯。.
回覆
會員
回覆: 關於開機流程的問題請教
引用:
作者: b90220208 觀看文章
Thanks#

...不是 RAM 中嗎

若是要讀 /boot 中 initrd 的 image , 那麼開機流程順序為何是
initial ramdisk ->-> root filesystem(ro) 呢?
google 查到 vm vmlinuz
vmlinuz 是可執行的 LINUX Kernel
vm 是把硬碟當記憶體

當執行完 Kernel 後, 要靠把 initrd.img 虛擬為檔案系統, 然後透過 initrd.img 裏面的 linuxrc 去載入模組.

RHEL 4 裏面說的 開機流程 是
BIOS
MBR
kernel ------>mount / ro 會用到 / 下的 /etc /bin /sbin /dev /lib
init 再依 RunLevel 去執行要開啟哪些檔案; 直到設定 hostname 後, 再 remount / 為 rw

我修改我的 initrd.img 把 linuxrc 裏的 load ext3 module 註解掉.
可想而知 當然開不起來 .

man mkinitrd

上傳的圖檔
檔案類型: jpg ext3.jpg (103.3 KB, 34 次觀看)
回覆







 XML   RSS 2.0   RSS 
本站使用 vBulletin 合法版權程式
站務信箱 : [email protected]

本論壇所有文章僅代表留言者個人意見,並不代表本站之立場,討論區以「即時留言」方式運作,故無法完全監察所有即時留言,若您發現文章可能有異議,請 email :[email protected] 處理。