国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区

掃一掃
關(guān)注微信公眾號

幾個(gè)重要的Linux內(nèi)核文件
2006-06-27   Linux伊甸園

Linux服務(wù)器內(nèi)核編譯基礎(chǔ)

--幾個(gè)重要的RedHat Linux內(nèi)核文件介紹
  在網(wǎng)絡(luò)中,不少服務(wù)器采用的是Linux系統(tǒng)。為了進(jìn)一步提高服務(wù)器的性能,可能需要根據(jù)特定的硬件及需求重新編譯Linux內(nèi)核。編譯Linux內(nèi)核,需要根據(jù)規(guī)定的步驟進(jìn)行,編譯內(nèi)核過程中涉及到幾個(gè)重要的文件。比如對于RedHat Linux,在/boot目錄下有一些與Linux內(nèi)核有關(guān)的文件,進(jìn)入/boot執(zhí)行:ls –l。編譯過RedHat Linux內(nèi)核的人對其中的System.map 、vmlinuz、initrd-2.4.7-10.img印象可能比較深刻,因?yàn)榫幾g內(nèi)核過程中涉及到這些文件的建立等操作。那么這幾個(gè)文件是怎么產(chǎn)生的?又有什么作用呢?本文對此做些介紹。

一、vmlinuz

  vmlinuz是可引導(dǎo)的、壓縮的內(nèi)核。“vm”代表“Virtual Memory”。Linux 支持虛擬內(nèi)存,不像老的操作系統(tǒng)比如DOS有640KB內(nèi)存的限制。Linux能夠使用硬盤空間作為虛擬內(nèi)存,因此得名“vm”。vmlinuz是可執(zhí)行的Linux內(nèi)核,它位于/boot/vmlinuz,它一般是一個(gè)軟鏈接。

  vmlinuz的建立有兩種方式。一是編譯內(nèi)核時(shí)通過“make zImage”創(chuàng)建,然后通過:

  “cp /usr/src/linux-2.4/arch/i386/linux/boot/zImage /boot/vmlinuz”產(chǎn)生。zImage適用于小內(nèi)核的情況,它的存在是為了向后的兼容性。二是內(nèi)核編譯時(shí)通過命令make bzImage創(chuàng)建,然后通過:“cp /usr/src/linux-2.4/arch/i386/linux/boot/bzImage /boot/vmlinuz”產(chǎn)生。bzImage是壓縮的內(nèi)核映像,需要注意,bzImage不是用bzip2壓縮的,bzImage中的bz容易引起誤解,bz表示“big zImage”。 bzImage中的b是“big”意思。

  zImage(vmlinuz)和bzImage(vmlinuz)都是用gzip壓縮的。它們不僅是一個(gè)壓縮文件,而且在這兩個(gè)文件的開頭部分內(nèi)嵌有g(shù)zip解壓縮代碼。所以你不能用gunzip 或 gzip –dc解包vmlinuz。

  內(nèi)核文件中包含一個(gè)微型的gzip用于解壓縮內(nèi)核并引導(dǎo)它。兩者的不同之處在于,老的zImage解壓縮內(nèi)核到低端內(nèi)存(第一個(gè)640K),bzImage解壓縮內(nèi)核到高端內(nèi)存(1M以上)。如果內(nèi)核比較小,那么可以采用zImage 或bzImage之一,兩種方式引導(dǎo)的系統(tǒng)運(yùn)行時(shí)是相同的。大的內(nèi)核采用bzImage,不能采用zImage。

  vmlinux是未壓縮的內(nèi)核,vmlinuz是vmlinux的壓縮文件。

二、 initrd-x.x.x.img

  initrd是“initial ramdisk”的簡寫。initrd一般被用來臨時(shí)的引導(dǎo)硬件到實(shí)際內(nèi)核vmlinuz能夠接管并繼續(xù)引導(dǎo)的狀態(tài)。比如,使用的是scsi硬盤,而內(nèi)核vmlinuz中并沒有這個(gè)scsi硬件的驅(qū)動(dòng),那么在裝入scsi模塊之前,內(nèi)核不能加載根文件系統(tǒng),但scsi模塊存儲在根文件系統(tǒng)的/lib/modules下。為了解決這個(gè)問題,可以引導(dǎo)一個(gè)能夠讀實(shí)際內(nèi)核的initrd內(nèi)核并用initrd修正scsi引導(dǎo)問題。initrd-2.4.7-10.img是用gzip壓縮的文件,下面來看一看這個(gè)文件的內(nèi)容。



  initrd實(shí)現(xiàn)加載一些模塊和安裝文件系統(tǒng)等。

  initrd映象文件是使用mkinitrd創(chuàng)建的。mkinitrd實(shí)用程序能夠創(chuàng)建initrd映象文件。這個(gè)命令是RedHat專有的。其它Linux發(fā)行版或許有相應(yīng)的命令。這是個(gè)很方便的實(shí)用程序。具體情況請看幫助:man mkinitrd

  下面的命令創(chuàng)建initrd映象文件:

三、 System.map

  System.map是一個(gè)特定內(nèi)核的內(nèi)核符號表。它是你當(dāng)前運(yùn)行的內(nèi)核的System.map的鏈接。

  內(nèi)核符號表是怎么創(chuàng)建的呢? System.map是由“nm vmlinux”產(chǎn)生并且不相關(guān)的符號被濾出。對于本文中的例子,編譯內(nèi)核時(shí),System.map創(chuàng)建在/usr/src/linux-2.4/System.map。像下面這樣:

  nm /boot/vmlinux-2.4.7-10 > System.map

  下面幾行來自/usr/src/linux-2.4/Makefile:

  nm vmlinux | grep -v '(compiled)|(.o$$)|( [aUw] )|(..ng$$)|(LASH[RL]DI)' | sort > System.map

  然后復(fù)制到/boot:

  cp /usr/src/linux/System.map /boot/System.map-2.4.7-10

  在進(jìn)行程序設(shè)計(jì)時(shí),會(huì)命名一些變量名或函數(shù)名之類的符號。Linux內(nèi)核是一個(gè)很復(fù)雜的代碼塊,有許許多多的全局符號。

  Linux內(nèi)核不使用符號名,而是通過變量或函數(shù)的地址來識別變量或函數(shù)名。比如不是使用size_t BytesRead這樣的符號,而是像c0343f20這樣引用這個(gè)變量。

  對于使用計(jì)算機(jī)的人來說,更喜歡使用那些像size_t BytesRead這樣的名字,而不喜歡像c0343f20這樣的名字。內(nèi)核主要是用c寫的,所以編譯器/連接器允許我們編碼時(shí)使用符號名,當(dāng)內(nèi)核運(yùn)行時(shí)使用地址。

  然而,在有的情況下,我們需要知道符號的地址,或者需要知道地址對應(yīng)的符號。這由符號表來完成,符號表是所有符號連同它們的地址的列表。Linux 符號表使用到2個(gè)文件:

  /proc/ksyms

  System.map

  /proc/ksyms是一個(gè)“proc file”,在內(nèi)核引導(dǎo)時(shí)創(chuàng)建。實(shí)際上,它并不真正的是一個(gè)文件,它只不過是內(nèi)核數(shù)據(jù)的表示,卻給人們是一個(gè)磁盤文件的假象,這從它的文件大小是0可以看出來。然而,System.map是存在于你的文件系統(tǒng)上的實(shí)際文件。當(dāng)你編譯一個(gè)新內(nèi)核時(shí),各個(gè)符號名的地址要發(fā)生變化,你的老的System.map具有的是錯(cuò)誤的符號信息。每次內(nèi)核編譯時(shí)產(chǎn)生一個(gè)新的System.map,你應(yīng)當(dāng)用新的System.map來取代老的System.map。

  雖然內(nèi)核本身并不真正使用System.map,但其它程序比如klogd, lsof和ps等軟件需要一個(gè)正確的System.map。如果你使用錯(cuò)誤的或沒有System.map,klogd的輸出將是不可靠的,這對于排除程序故障會(huì)帶來困難。沒有System.map,你可能會(huì)面臨一些令人煩惱的提示信息。

  另外少數(shù)驅(qū)動(dòng)需要System.map來解析符號,沒有為你當(dāng)前運(yùn)行的特定內(nèi)核創(chuàng)建的System.map它們就不能正常工作。

  Linux的內(nèi)核日志守護(hù)進(jìn)程klogd為了執(zhí)行名稱-地址解析,klogd需要使用System.map。System.map應(yīng)當(dāng)放在使用它的軟件能夠找到它的地方。執(zhí)行:man klogd可知,如果沒有將System.map作為一個(gè)變量的位置給klogd,那么它將按照下面的順序,在三個(gè)地方查找System.map:

  /boot/System.map

  /System.map

  /usr/src/linux/System.map

  System.map也有版本信息,klogd能夠智能地查找正確的映象(map)文件。

  ccidnet

熱詞搜索:

上一篇:打造可隨意安裝的完美Windows XP鏡像
下一篇:Linux服務(wù)器上的備份和恢復(fù)

分享到: 收藏
国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区
91国在线观看| 久久成人免费网| 久久免费午夜影院| 欧美r级电影在线观看| 欧美亚洲尤物久久| 欧美日韩精品是欧美日韩精品| 成人在线视频首页| 久久97超碰色| 国产成人一区在线| 国产又黄又大久久| av激情成人网| 91视频免费观看| 国产精品538一区二区在线| 国产剧情一区在线| 国产福利精品一区| 色88888久久久久久影院按摩| aaa欧美色吧激情视频| 国产专区欧美精品| 95精品视频在线| 国产成人在线免费| 91猫先生在线| 欧美性猛交xxxx黑人交| 欧美一区二区三区在线观看 | 99re亚洲国产精品| 99精品偷自拍| 91精品视频网| 欧美成人精品1314www| 精品国产一区二区三区久久影院| 日韩精品综合一本久道在线视频| 91天堂素人约啪| 91精品国产综合久久福利软件| 在线不卡一区二区| 亚洲国产精品成人久久综合一区| 中文字幕中文字幕在线一区| 自拍偷拍亚洲欧美日韩| 麻豆传媒一区二区三区| 丁香婷婷综合激情五月色| 欧美日韩高清一区二区| 2020日本不卡一区二区视频| 久久一夜天堂av一区二区三区| 亚洲精品国产成人久久av盗摄| 日韩精品91亚洲二区在线观看| 国产成人午夜视频| 欧美视频你懂的| 日本一区二区电影| 午夜视频在线观看一区| 国产精品一二三四| 91精品久久久久久久99蜜桃| 欧美激情在线一区二区| 久久机这里只有精品| 成人黄色777网| 色诱亚洲精品久久久久久| 国产视频一区不卡| 三级精品在线观看| 91电影在线观看| 国产欧美一区二区三区鸳鸯浴 | 久久久久9999亚洲精品| 亚洲视频一二区| 美国十次综合导航| 欧美性做爰猛烈叫床潮| 国产精品电影院| 美腿丝袜在线亚洲一区| 欧美麻豆精品久久久久久| 亚洲国产精品二十页| 黄色精品一二区| 制服丝袜av成人在线看| 亚洲欧洲在线观看av| www.一区二区| 国产午夜精品一区二区三区四区| 狂野欧美性猛交blacked| 成人中文字幕电影| 久久久噜噜噜久久中文字幕色伊伊| 秋霞电影网一区二区| 日本福利一区二区| 一区二区欧美精品| 99久久精品免费精品国产| 久久久久久久久久久电影| 日本v片在线高清不卡在线观看| 色综合视频一区二区三区高清| 亚洲欧美另类图片小说| 国产91精品一区二区麻豆网站| 欧美极品aⅴ影院| 国产精品一区二区久久精品爱涩| 欧美日韩一级片网站| 亚洲青青青在线视频| 成人av在线资源网| 亚洲免费观看高清完整版在线 | 成人一区二区三区视频| 久久久久一区二区三区四区| 国产999精品久久久久久| 久久精品一区二区三区av| 粉嫩绯色av一区二区在线观看| 国产性色一区二区| 国产91丝袜在线播放| 亚洲精品国久久99热| 95精品视频在线| 日韩av中文字幕一区二区三区| 制服丝袜亚洲色图| 国产高清成人在线| √…a在线天堂一区| 国产成人欧美日韩在线电影| 亚洲丝袜另类动漫二区| 欧美系列在线观看| 精品制服美女久久| 久久久久国产一区二区三区四区| 精品综合免费视频观看| 久久精品欧美一区二区三区不卡| 成人性生交大片免费看视频在线| 国产偷v国产偷v亚洲高清| 成人av在线资源网| 亚洲一区二区在线视频| 6080日韩午夜伦伦午夜伦| 国产一区二区三区最好精华液| 亚洲色图都市小说| 欧美女孩性生活视频| 久久精品99国产精品| 国产精品国产三级国产普通话99 | 国产亚洲一区字幕| 色婷婷综合久久| 一区二区三区高清在线| 欧美日本韩国一区二区三区视频| 一区二区成人在线视频| 日韩欧美一区在线观看| 成人免费毛片片v| 国产精品三级av在线播放| 91碰在线视频| 久久成人综合网| 亚洲黄色小说网站| 国产精品美女久久久久久久久久久| 欧美亚洲国产一区二区三区| 亚洲h在线观看| 国产精品久久久久久久午夜片| 欧美在线观看18| 99久久免费国产| 麻豆国产精品一区二区三区| 一区二区三区四区视频精品免费| 欧美精品1区2区| 欧美天堂一区二区三区| 国产精品456露脸| 久久丁香综合五月国产三级网站| 亚洲精品视频在线观看网站| 欧美一区二区三区啪啪| 91 com成人网| 日本道精品一区二区三区| 91色porny| 国产成a人亚洲精| 国产精品亚洲专一区二区三区| 亚洲五月六月丁香激情| 亚洲最大的成人av| 国产精品美女久久久久久久| 国产精品女同一区二区三区| 精品少妇一区二区三区免费观看| 日韩一区二区中文字幕| 777a∨成人精品桃花网| 国产69精品久久777的优势| 国产91对白在线观看九色| 精品在线视频一区| 国产成人av资源| 国产精品18久久久久久久久| 国产在线一区二区综合免费视频| 日韩电影在线一区| 精品一区二区影视| 精品在线一区二区| 成人自拍视频在线观看| 国产91清纯白嫩初高中在线观看| 成人精品视频一区| 成人a级免费电影| 91网上在线视频| 成人黄色在线网站| 免费一级欧美片在线观看| 三级在线观看一区二区| 中文字幕一区二区三区av| 一区二区在线观看视频| 一区二区三区欧美久久| 久久精品国产999大香线蕉| 麻豆精品一二三| 成人黄色a**站在线观看| 成人免费视频app| 91麻豆精品国产自产在线| 777久久久精品| 欧美国产综合色视频| 亚洲视频小说图片| 蜜臀va亚洲va欧美va天堂| 九九在线精品视频| 色婷婷一区二区| 91精品国产综合久久蜜臀| 国产女人aaa级久久久级| 国产精品乱码一区二三区小蝌蚪| 亚洲综合色成人| 美女免费视频一区二区| 91在线视频免费观看| 欧美在线制服丝袜| 日韩一区二区中文字幕| 国产精品欧美一区喷水| 一区二区三区在线视频观看| 欧美激情一区二区在线| 亚洲成av人片观看| 国产精一区二区三区| 在线欧美日韩国产| 久久久精品蜜桃|