PCZONE 討論區

PCZONE 討論區 (https://www.pczone.com.tw/vbb3/)
-   -- FreeBSD & Linux 討 論 版 (https://www.pczone.com.tw/vbb3/forum/41/)
-   -   關於開機流程的問題請教 (https://www.pczone.com.tw/vbb3/thread/41/144262/)

b90220208 2008-11-04 11:06 PM

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

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 硬碟用(當然不只此)...請教為何這些硬體得在此先驅動呢?


謝謝 !

bx2aa 2008-11-05 01:42 AM

回覆: 關於開機流程的問題請教
 
[QUOTE=b90220208;1035564]:D 關於開機流程:

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 硬碟用(當然不只此)...請教為何這些硬體得在此先驅動呢?


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

把 initrd.img 讀出來要放哪裡?

wangcm 2008-11-05 08:06 AM

回覆: 關於開機流程的問題請教
 
[QUOTE=b90220208;1035564]
1.)
root filesystem(ro) 的作用( 為何在此要 mount 起 / 且還是 read only 呢? )[/quote]

因為root file system有可能必須fsck,而系統的utility都是放在root file system內的(i.e.非mount起來才讀得到),mount成rw又不能fsck,所以只有mount成ro了:D ....

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

謝謝 ![/QUOTE]

initrd通常是拿來放storage/file system相關module的,這部份若沒有static link進kernel中kernel又要如何mount file system呢,所以要先把這堆東東包成kernel一定讀得到的格式讓kernel有module可用,接下來才有戲唱就是了:D :D ....

b90220208 2008-11-05 04:40 PM

回覆: 關於開機流程的問題請教
 
Thanks#

[QUOTE] 把 initrd.img 讀出來要放哪裡?
[/QUOTE]...不是 RAM 中嗎

若是要讀 /boot 中 initrd 的 image , 那麼開機流程順序為何是
initial ramdisk ->-> root filesystem(ro) 呢?

b90220208 2008-11-05 05:16 PM

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

這些 scsi, sata, usb 等的 driver 為何要先行於此驅動...其道理是...?
若以例如網卡的方式( /etc/modprobe.conf ) 驅動不是亦為可行嗎?

wangcm 2008-11-05 06:03 PM

回覆: 關於開機流程的問題請教
 
[QUOTE=b90220208;1035621]感謝#


這些 scsi, sata, usb 等的 driver 為何要先行於此驅動...其道理是...?
若以例如網卡的方式( /etc/modprobe.conf ) 驅動不是亦為可行嗎?[/QUOTE]

如果不知道怎麼驅動storage,要怎麼mount在storage上的root file system呢----因為此時kernel根本是沒辦法讀到放在root file system中的module的:sleep: ....BTW,如果root file system是在USB或NFS上,那當然也得先把USB/networking動起來才有得玩,如果不是這樣的話initrd要不要包USB/networking相關部份自然就無所謂了:sleep: ....

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

bx2aa 2008-11-06 01:48 AM

回覆: 關於開機流程的問題請教
 
1 個附加檔案
[QUOTE=b90220208;1035616]Thanks#

...不是 RAM 中嗎

若是要讀 /boot 中 initrd 的 image , 那麼開機流程順序為何是
initial ramdisk ->-> root filesystem(ro) 呢?[/QUOTE]

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 註解掉.
可想而知 當然開不起來 .
[IMG]http://www.pczone.com.tw/vbb3/attachment.php?attachmentid=16114&stc=1&d=1225907315[/IMG]
man mkinitrd


所有時間均為 +8。現在的時間是 03:33 AM



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

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