亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪問(wèn)板塊 發(fā)新帖
查看: 3143 | 回復(fù): 8
打印 上一主題 下一主題

掛載/分區(qū)的目錄 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2009-08-02 18:24 |只看該作者 |倒序?yàn)g覽
想請(qǐng)教一個(gè)問(wèn)題, 我們都知道根分區(qū)是掛載在/目錄上的, 但有個(gè)問(wèn)題,/目錄在系統(tǒng)啟動(dòng)的時(shí)候在哪?

其實(shí)也就是問(wèn)/目錄在哪? 是開(kāi)辟一段內(nèi)存建立的嗎? 網(wǎng)上找了些資料沒(méi)怎么看明白, 哪位能幫我說(shuō)一下, 謝謝!

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2009-08-02 21:24 |只看該作者
描述詳細(xì)些
你想知道啥?

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2009-08-02 22:01 |只看該作者
原帖由 liu2g 于 2009-8-2 18:24 發(fā)表
目錄在系統(tǒng)啟動(dòng)的時(shí)候在哪?也就是問(wèn)/目錄在哪? 是開(kāi)辟一段內(nèi)存建立的嗎?

根分區(qū)跟內(nèi)存啥關(guān)系?
你啟動(dòng)一下系統(tǒng),看啟動(dòng)過(guò)程。

論壇徽章:
7
天蝎座
日期:2013-08-16 23:19:32丑牛
日期:2014-01-08 09:20:14寅虎
日期:2014-01-11 11:03:44午馬
日期:2014-04-28 11:02:40天秤座
日期:2014-05-16 23:24:24摩羯座
日期:2014-07-20 10:46:04卯兔
日期:2014-08-08 15:21:41
4 [報(bào)告]
發(fā)表于 2009-08-02 22:54 |只看該作者
內(nèi)核尋找到硬件設(shè)備,加載完編譯在啟動(dòng)鏡像文件的靜態(tài)驅(qū)動(dòng)之后,立刻只讀加載根文件系統(tǒng),之后就是加載根文件系統(tǒng)的動(dòng)態(tài)模塊,以及啟動(dòng)init進(jìn)程。

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2009-08-03 21:04 |只看該作者
兩個(gè)部分
第一次是initrd.img在內(nèi)存解壓執(zhí)行的,
把initrd用 zcat initrd-2.6.18-128.el5.img |cpio -i 釋放之后,查看init文件,會(huì)有如下命令行
echo Creating root device.
mkrootdev -t ext3 -o defaults,ro sda3

第二次
在/etc/rc.sysinit 的腳本里邊,通過(guò)LABEL來(lái)重新掛載的,而不是以設(shè)備名

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2009-08-03 22:53 |只看該作者
原帖由 Aramis 于 2009-8-3 21:04 發(fā)表
兩個(gè)部分
第一次是initrd.img在內(nèi)存解壓執(zhí)行的,
把initrd用 zcat initrd-2.6.18-128.el5.img |cpio -i 釋放之后,查看init文件,會(huì)有如下命令行
echo Creating root device.
mkrootdev -t ext3 -o default ...



謝謝你給我的解答, 下面一段是我找到的:

啟動(dòng)時(shí)用到initrd來(lái)mount根文件系統(tǒng)。注意理解ramdisk和initrd這兩個(gè)概念,其實(shí) ramdisk只是在ram上實(shí)現(xiàn)的塊設(shè)備,類似與硬盤(pán)操作,但有更快的讀寫(xiě)速度,它可以在系統(tǒng)運(yùn)行的任何時(shí)候使用,而不僅僅是用于啟動(dòng);initrd(boot loaderinitialized RAMdisk)可以說(shuō)是啟動(dòng)過(guò)程中用到的一種機(jī)制,具體的實(shí)現(xiàn)過(guò)程也使用ramdisk技術(shù)。就是在裝載linux之前,bootloader可以把一個(gè)比較小的根文件系統(tǒng)的映象裝載在內(nèi)存的某個(gè)指定位置,姑且把這段內(nèi)存稱為initrd(這里是initrd所占的內(nèi)存,不是ramdisk,注意區(qū)別),然后bootloader通過(guò)傳遞參數(shù)的方式告訴內(nèi)核initrd的起始地址和大小(也可以把這些參數(shù)編譯在內(nèi)核中),在啟動(dòng)階段就可以暫時(shí)的用 initrd來(lái)mount根文件系統(tǒng)。initrd的最初的目的是為了把kernel的啟動(dòng)分成兩個(gè)階段:在kernel中保留最少最基本的啟動(dòng)代碼,然后把對(duì)各種各樣硬件設(shè)備的支持以模塊的方式放在initrd中,這樣就在啟動(dòng)過(guò)程中可以從initrd所mount的根文件系統(tǒng)中裝載需要的模塊。這樣的一個(gè)好處就是在保持kernel不變的情況下,通過(guò)修改initrd中的內(nèi)容就可以靈活的支持不同的硬件。在啟動(dòng)完成的最后階段,根文件系統(tǒng)可以重新 mount到其他設(shè)備上,但是也可以不再 重新mount(很多嵌入式系統(tǒng)就是這樣)。initrd的具體實(shí)現(xiàn)過(guò)程是這樣的:bootloader把根文件系統(tǒng)映象裝載到內(nèi)存指定位置,把相關(guān)參數(shù)傳遞給內(nèi)核,內(nèi)是核啟動(dòng)時(shí)把initrd中的內(nèi)容復(fù)制到ramdisk中(ram0),把initrd占用的內(nèi)存釋放掉,在ram0上mount根文件系統(tǒng)。從這個(gè)過(guò)程可以看出,內(nèi)核需要對(duì)同時(shí)對(duì)ramdisk和initrd的支持(這種需要都編入內(nèi)核,不能作為模塊)。


是initrd先將/分區(qū)中的一些必須的模塊讀取并映射到內(nèi)存, 然后內(nèi)核把initrd映射中的內(nèi)容復(fù)制并解壓到內(nèi)存, 釋放掉initrd, 最后在內(nèi)存上mount真正的根"分區(qū)"咯~~!

其實(shí)我想問(wèn)的就是, 我們平常訪問(wèn)的"/"目錄, 只是單說(shuō)這個(gè)目錄不是說(shuō)分區(qū), 其實(shí)是內(nèi)存中的區(qū)域吧?  "/"目錄的inode和block也是內(nèi)存中的區(qū)域?

論壇徽章:
0
7 [報(bào)告]
發(fā)表于 2009-08-04 23:43 |只看該作者
"是initrd先將/分區(qū)中的一些必須的模塊讀取并映射到內(nèi)存, 然后內(nèi)核把initrd映射中的內(nèi)容復(fù)制并解壓到內(nèi)存, 釋放掉initrd, 最后在內(nèi)存上mount真正的根"分區(qū)"咯~~!"

內(nèi)核借助于initrd解壓之后lib中的模塊以及insmod命令才得以識(shí)別硬盤(pán),而不是/分區(qū)的模塊,在你還沒(méi)有識(shí)別到硬盤(pán)的時(shí)候如何能從/來(lái)讀取必須的模塊呢?  又是所謂的雞蛋/蛋雞了

initrd文件釋放之后
[root@bogon initrd]# ls
bin  dev  etc  init  lib  proc  sbin  sys  sysroot
[root@bogon initrd]# cd lib/
[root@bogon lib]# ls                  下邊絕大多數(shù)都是和存儲(chǔ)相關(guān)的模塊,有了他們才能找到存儲(chǔ)設(shè)備
ata_piix.ko      dm-mod.ko          ext3.ko    mptbase.ko   scsi_mod.ko
dm-log.ko        dm-raid45.ko       firmware   mptscsih.ko  scsi_transport_spi.ko
dm-mem-cache.ko  dm-region_hash.ko  jbd.ko     mptspi.ko    sd_mod.ko
dm-message.ko    ehci-hcd.ko        libata.ko  ohci-hcd.ko  uhci-hcd.ko
[root@bogon lib]#

/ 應(yīng)該是在硬盤(pán)上的,就像你新加個(gè)硬盤(pán)要將他掛載一樣,需要提前建立一個(gè)掛載點(diǎn),然后將其掛載,當(dāng)卸載掉設(shè)備之后,掛載點(diǎn)仍然不會(huì)消失,重啟后仍然存在,我是這樣理解的

有一種情況比較特殊,那就是用rescue模式的時(shí)候,比如redhat,在未執(zhí)行chroot /mnt/sysimage的時(shí)候,執(zhí)行mkdir 建立目錄的時(shí)候是在內(nèi)存中建立的

[ 本帖最后由 Aramis 于 2009-8-4 23:45 編輯 ]

論壇徽章:
0
8 [報(bào)告]
發(fā)表于 2009-08-05 00:21 |只看該作者
搜索一下,找了一個(gè)IBM的社區(qū)文章,關(guān)于initrd的
http://www.ibm.com/developerworks/cn/linux/l-k26initrd/index.html

最新的內(nèi)核都是cpio的
[root@bogon boot]# zcat initrd-2.6.18-128.el5.img |file -
/dev/stdin: ASCII cpio archive (SVR4 with no CRC)

cpio-initrd 的處理流程

1. boot loader 把內(nèi)核以及 initrd 文件加載到內(nèi)存的特定位置。

2. 內(nèi)核判斷initrd的文件格式,如果是cpio格式。

3. 將initrd的內(nèi)容釋放到rootfs中。

4. 執(zhí)行initrd中的/init文件,執(zhí)行到這一點(diǎn),內(nèi)核的工作全部結(jié)束,完全交給/init文件處理。

論壇徽章:
0
9 [報(bào)告]
發(fā)表于 2009-08-05 07:01 |只看該作者
read the fucking code!
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過(guò)ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP