成人在线你懂的-成人在线免费小视频-成人在线免费网站-成人在线免费视频观看-日韩精品国产一区二区-日韩精品国产一区

掃一掃
關注微信公眾號

從GRUB到內核 從內核到根文件系統
2009-06-04   OwnLinux.cn

    按下電源,咔一下,電腦啟動啦,接著BIOS的畫面出來啦,不一會,GRUB的界面出來,然后就是一行接一行的字符在黑屏上閃動,不時地有OK的字樣出現.呵呵,不要走神哈,該輸入用戶名和密碼啦,….成功地進入了系統,這算是系統啟動完成啦。那么這個過程到底有什么事情發生啦,哪些值得我們學習呢?本文就以linux 開機為線索,講述引導器,內核,根文件系統的關系。

1)引導器

    這個是大家所熟知的吧,linux下常用的就有:grub,這是當今主流啦;lilo,這啊,曾經風光過,現在讓grub接了重任;syslinux這是個輕量級的引導器,一般在光盤,USB上做引導器,做個liveUSB的應該很清楚哦,無盤啟動的應用中也能找到它的身影.

    引導器的主要功能就是找到內核(vmlinuz),然后把它載入內存,當然還有initrd啦,以GRUB為例,在我的系統(centos5.2)里是這么寫的

#/boot/grub/menu.lst

title Centos 5.2 kernel-2.6.18-92.1.17.el5
root (hd0,7)
kernel /vmlinuz-2.6.18-92.1.17.el5 root=/dev/VolGroup00/LogVol00
initrd /initrd-2.6.18-92.1.17.el5.img
boot
 


    在這明確了內核的位置,并向內核傳遞了一些參數。initrd扮了一個很重要的角色 ,負責在內核訪問根文件系統前加載驅動。

2)內核

    一個完整的內核就是由內核源碼產生的,在這kernel.org 能找到源碼,壓縮后有50M左右,解開后有好幾百M呢,我們可以重新編譯源碼來更新我們已有的內核,以提高性能和兼容能力。那么這個源碼經編譯后產出了哪些東東呢,出以我的機子為例:

A)內核部分,在/boot分區下

/boot/initrd-2.6.18-92.1.17.el5.img

/boot/System.map-2.6.18-92.1.17.el5…………….這是符號表,函數與地址的映射關系

/boot/vmlinuz-2.6.18-92.1.17.el5

/boot/config-2.6.18-92.1.17.el5………………………..內核的配置文件,由make xconfig命令產生的
 


B) 內核模塊部分,在/lib/modules/2.6.18-92.1.17.el5目錄下 ,2.6.18-92.1.17.el5這是版本號,每一個人的機子上可能會不同。所有模塊都在這,還有它們之間的依賴關系

[root@xx 2.6.18-92.1.17.el5]# pwd
/lib/modules/2.6.18-92.1.17.el5
[root@xx 2.6.18-92.1.17.el5]# ls -l
總計 1128
lrwxrwxrwx 1 root root 48 11-11 20:14 build -> ../../../usr/src/kernels/2.6.18-92.1.17.el5-i686
drwxr-xr-x 2 root root 4096 11-05 03:09 extra
drwxr-xr-x 10 root root 4096 11-11 20:28 kernel ……………………………內核模塊就中此目錄
drwxr-xr-x 2 root root 4096 11-13 14:50 misc
-rw-r–r– 1 root root 252332 11-13 14:50 modules.alias
-rw-r–r– 1 root root 69 11-13 14:50 modules.ccwmap
-rw-r–r– 1 root root 209702 11-13 14:50 modules.dep………………….模塊間的依賴關系
-rw-r–r– 1 root root 147 11-13 14:50 modules.ieee1394map
-rw-r–r– 1 root root 375 11-13 14:50 modules.inputmap
-rw-r–r– 1 root root 2314 11-13 14:50 modules.isapnpmap
-rw-r–r– 1 root root 74 11-13 14:50 modules.ofmap
-rw-r–r– 1 root root 191108 11-13 14:50 modules.pcimap……………….物理設備與內核模塊的對應關系
-rw-r–r– 1 root root 589 11-13 14:50 modules.seriomap
-rw-r–r– 1 root root 105259 11-13 14:50 modules.symbols
-rw-r–r– 1 root root 322731 11-13 14:50 modules.usbmap
lrwxrwxrwx 1 root root 5 11-11 20:14 source -> build
drwxr-xr-x 2 root root 4096 11-05 03:09 updates
drwxr-xr-x 4 root root 4096 11-11 20:14 weak-updates
 


注意source,build這兩個目錄,在裝顯卡驅動時就認識它們倆了吧,

C)頭文件及相關的內核配置文件

/usr/src/kernels/2.6.18-92.1.17.el5-i686,在構造或者是編譯相關內核模塊就要用到這個地方的文件,在安裝顯卡驅動的時候就是這個目錄下的東東,有沒有什么映象啊,為什么呢?當然是想看看3D桌面啦,是不是啊。。。。

[root@xx 2.6.18-92.1.17.el5-i686]# pwd
/usr/src/kernels/2.6.18-92.1.17.el5-i686
[root@xx 2.6.18-92.1.17.el5-i686]# ls
arch drivers init kernel mm net sound
block fs ipc lib Module.kabi scripts symsets-2.6.18-92.1.17.el5.tar.gz
crypto include kabi_whitelist Makefile Module.symvers security usr
 


頭文件在include目錄下

3)根文件系統

    根文件系統很熟悉撒,開機后進入的系統就在根文件系統里,有/boot,/usr,/bin,/var等等

    引導器,內核,根文件系統 ,有了一個大概的映象了,現在就說說它們之事有一些事兒。

    引導器找內核,如GRUB它自代了一點驅動可以讀內核所處的文件系統,如syslinux它是通過扇區地址找到的內核,initrd內有個名叫linuxrc或init的可執行文件(shell腳本也可以),提供一個虛根環境,加載硬盤驅動,讀取根文件系統,為內核換根(從虛根環境到根文件系統)做個物質準備。內核換到根文件系統后,以前的虛根環境被umount掉啦,至此內核就可加載它所需要的內核模塊啦,然后系統就啟動啦#p#分頁標題#e#

熱詞搜索:

上一篇:用途多樣 帶你見識形形色色的Linux
下一篇:有感于春節晚會的舞臺技術

分享到: 收藏
主站蜘蛛池模板: 十八岁免费看的电视剧| 极品少妇啪啪久久蜜臀| 秀人网门户网免费| 张子枫的全部作品| 笼中女电影| 05s502图集| 手绢舞蹈视频大全| kanako| 电视剧玫瑰的故事主演演员表| 都市频道在线直播观看| 生理卫生课程| 格伦鲍威尔| 康瑞德家的男孩| 绫濑天| 六年级上册美术教案人教版| 马樱花| 赵大勇| 卡通频道| 以下关于宏病毒说法正确的是| 吴涟序| 肢体的诱惑电影| 小矮人在线观看完整版| 唐瑜苏沐月是哪部短剧| 免费头像图片女生| 韩佳熙的电影全部作品| 四 电影| bustybuffy| 秀人网美女屋| 绝对权力全集免费观看| 胖女人做爰全过程免费的视频| 妇检被男医生摸到喷水| tvb直播| 电影《stag》完整版| raz分级阅读绘本| 电影土耳其狂欢| 暴雪电影| 抖音下载| 男生变女生tg动画变身| 男男性恋免费视频网站| 郭亚菲| 谍变1939全部演员表|