關於開機流程的問題請教 :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=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 讀出來要放哪裡? |
回覆: 關於開機流程的問題請教 [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 .... |
回覆: 關於開機流程的問題請教 Thanks# [QUOTE] 把 initrd.img 讀出來要放哪裡? [/QUOTE]...不是 RAM 中嗎 若是要讀 /boot 中 initrd 的 image , 那麼開機流程順序為何是 initial ramdisk ->-> root filesystem(ro) 呢? |
回覆: 關於開機流程的問題請教 感謝# [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 ) 驅動不是亦為可行嗎? |
回覆: 關於開機流程的問題請教 [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: .... |
回覆: 關於開機流程的問題請教 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 |
本論壇所有文章僅代表留言者個人意見,並不代表本站之立場,討論區以「即時留言」方式運作,故無法完全監察所有即時留言,若您發現文章可能有異議,請 email :[email protected] 處理。