欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
在VMware5.0環(huán)境下編譯內核(kernel2.6.13)全過(guò)程 - Linux 高級應用討論區/保留帖 - - ChinaUnix.net

俗話(huà)說(shuō):"功夫不負有心人",通過(guò)編譯Linux內核時(shí)才能真正體會(huì )到.曾經(jīng)也失敗過(guò)無(wú)數次,放棄過(guò)一段時(shí)間編譯.最后通過(guò)自己不斷的實(shí)踐和在網(wǎng)上收集這方面資料,終于在前不久編譯成功了.把我在網(wǎng)上收集的資料和自己編譯的過(guò)程整理了一下,拿來(lái)和大家分享一下,希望能給有這方面需要的同仁以幫助,好讓大家少走彎路.
言歸正傳:
環(huán)境:VMware5.0 for windows
內核版本:kernel2.6.16(字符模式,不包括xwindow模式)
原來(lái)的系統是redhat9.0,內核2.4.20-8,編譯的內核2.6.13,僅供參考.
共分為四部分:編譯前準備->編譯配置->編譯過(guò)程->運行內核的常見(jiàn)問(wèn)題
一 編譯前準備
1)下載一份內核源代碼,我下的版本是linux-2.6.13.tar.gz,你可在如下地址下載它或者是更新的版本.
http://kernel.org/pub/linux/kernel/v2.6/
2) 下載最新版本的module-init-tools( "module-init-tools-3.0.tar.gz" and "modutils-2.4.21-23.src.rpm")
http://www.kernel.org/pub/linux/kernel/people/rusty/modules/module-init-tools-3.0.tar.gz
http://www.kernel.org/pub/linux/kernel/people/rusty/modules/modutils-2.4.21-23.src.rpm
3)安裝modutils-2.4.21-23.src.rpm. 你可能會(huì )看到"user rusty and group rusty not existing"的警告. 沒(méi)關(guān)系,你只需強制安裝就是了.如果你不對Redhat 9和Redhat 8做這幾步, 你將會(huì )在"make modules_install"這一步時(shí)出現問(wèn)題.


#rpm -e --nodeps modutils (強行卸載原有的modutilsRPM包)
#rpm -ivh modutils-2.4.21-23.src.rpm (把源代碼包安裝到了/usr/src/redhat目錄下)
#cd /usr/src/redhat/SPECS (進(jìn)入規范文件目錄下)
#rpmbuild --bb modutils.spec (生成二進(jìn)制的RPM包)
#cd ../RPMS/i386 (轉入剛生成的二進(jìn)制的RPM包所在位置)
#rpm -ivh modutils*.rpm (剛生成兩個(gè)[modutils-2.4.21-23.i386.rpm與modutils-debuginfo-2.4.21.23.i386.rpm]二進(jìn)制的RPM包,一起安裝吧?。?
4)安裝module-init-tools. 它會(huì )替代depmod [/sbin/depmod]和其他工具.
tar -zxvf module-init-tools-3.0.tar.gz
cd module-init-tools-3.0
./configure --prefix=/sbin
make
make install
./generate-modprobe.conf /etc/modprobe.conf
5)解壓縮內核源代碼.把下載的源代碼包放到目錄/usr/src下,然后
cd /usr/src
tar –zvxf linux-2.6.13.tar.gz
ln –s linux-2.6.13 linux
cd linux
6)make mrproper
該命令確保源代碼目錄下沒(méi)有不正確的.o文件以及文件的互相依賴(lài)。由于我們使用剛下載的完整的
源程序包進(jìn)行編譯,所以本步可以省略。而如果你多次使用了這些源程序編譯內核,那么最好要先運行
一下這個(gè)命令
7)
確保/usr/include/目錄下的asm、linux和scsi等鏈接是指向要升級的內核源代碼的。它們分別鏈向源代碼目錄下的真正的、該計算機體系結構(對于PC機來(lái)說(shuō),使用的體系結構是i386)所需要的真正的
include子目錄。如:asm指向/usr/src/linux/include/asm-i386等。若沒(méi)有這些鏈接,就需要手工創(chuàng )建
,按照下面的步驟進(jìn)行:
# cd /usr/include/
# rm -r asm linux scsi
# ln -s /usr/src/linux/include/asm-i386 asm
# ln -s /usr/src/linux/include/linux linux
# ln -s /usr/src/linux/include/scsi scsi
這是配置非常重要的一部分。刪除掉/usr/include下的asm、linux和scsi鏈接后,再創(chuàng )建新的鏈接
指向新內核源代碼目錄下的同名的目錄。這些頭文件目錄包含著(zhù)保證內核在系統上正確編譯所需要的重
要的頭文件?,F在你應該明白為什么我們上面又在/usr/src下"多余"地創(chuàng )建了個(gè)名為linux的鏈接了吧?

二 編譯配置
在這一部分涉及幾個(gè)重要模塊的配置請,特別注意.一般用"make menuconfig"命令來(lái)配置內核.
進(jìn)入圖形模式
#startx
接下來(lái)的內核配置過(guò)程比較煩瑣,但是配置的適當與否與日后Linux的運行直接相關(guān),有必要了解一下一
些主要的且經(jīng)常用到的選項的設置。
配置內核可以根據需要與愛(ài)好使用下面命令中的一個(gè):

#make config(基于文本的最為傳統的配置界面,不推薦使用)
#make menuconfig(基于文本選單的配置界面,字符終端下推薦使用)
#make xconfig(基于圖形窗口模式的配置界面,Xwindow下推薦使用)

#make oldconfig(如果只想在原來(lái)內核配置的基礎上修改一些小地方,會(huì )省去不少麻煩)

這三個(gè)命令中,make xconfig的界面最為友好,如果你可以使用Xwindow,那么就推薦你使用這個(gè)命

令。

如果你不能使用Xwindow,那么就使用make menuconfig好了。界面雖然比上面一個(gè)差點(diǎn),總比make

config的要好多了。

選擇相應的配置時(shí),有三種選擇,它們分別代表的含義如下:

  Y--將該功能編譯進(jìn)內核
  N--不將該功能編譯進(jìn)內核,也不編成模塊
  M--將該功能編譯成可以在需要時(shí)動(dòng)態(tài)插入到內核中的模塊

如果使用的是make xconfig,使用鼠標就可以選擇對應的選項。如果使用的是make menuconfig,則

需要使用空格鍵進(jìn)行選取。你會(huì )發(fā)現在每一個(gè)選項前都有個(gè)括號, 但有的是中括號有的是尖括號,還有

一種圓括號。 用空格鍵選擇時(shí)可以發(fā)現,中括號里要么是空,要么是"*",而尖括號里可以是空,"*"和

"M"這表示前者對應的項要么不要,要么編譯到內核里;后者則多一樣選擇,可以編譯成模塊。而圓括號

的內容是要你在所提供的幾個(gè)選項中選擇一項。

在編譯內核的過(guò)程中,最煩雜的事情就是這步配置工作了,很多新手都不清楚到底該如何選取這些

選項。實(shí)際上在配置時(shí),大部分選項可以使用其缺省值,只有小部分需要根據用戶(hù)不同的需要選擇。選

擇的原則是將與內核其它部分關(guān)系較遠且不經(jīng)常使用的部分功能代碼編譯成為可加載模塊,有利于減小

內核的長(cháng)度,減小內核消耗的內存,簡(jiǎn)化該功能相應的環(huán)境改變時(shí)對內核的影響;不需要的功能就不要

選;與內核關(guān)心緊密而且經(jīng)常使用的部分功能代碼直接編譯到內核中。下面就讓我們對常用的選項分別

加以介紹。


8.1. Code maturity level options
代碼成熟等級。此處只有一項:prompt for development and/or incomplete code/drivers,如果

你要試驗現在仍處于實(shí)驗階段的功能,比如khttpd、IPv6等,就必須把該項選擇為Y了;否則可以把它選

擇為N。

8.2. Loadable module support
對模塊的支持。這里面有三項:

Enable loadable module support:除非你準備把所有需要的內容都編譯到內核里面,否則該項應

該是必選的。
Set version information on all module symbols:可以不選它。
Kernel module loader:讓內核在啟動(dòng)時(shí)有自己裝入必需模塊的能力,建議選上。
8.3. Processor type and features
CPU類(lèi)型。內容蠻多的,不一一介紹了,有關(guān)的幾個(gè)如下:

Processor family:根據你自己的情況選擇CPU類(lèi)型。
High Memory Support:大容量?jì)却娴闹С???梢灾С值?G、64G,一般可以不選。
Math emulation:協(xié)處理器仿真。協(xié)處理器是在386時(shí)代的寵兒,現在早已不用了。
MTTR support:MTTR支持??刹贿x。
Symmetric multi-processing support:對稱(chēng)多處理支持。除非你富到有多個(gè)CPU,否則就不用選了

。

8.4. General setup
這里是對最普通的一些屬性進(jìn)行設置。這部分內容非常多,一般使用缺省設置就可以了。下面介紹

一下經(jīng)常使用的一些選項:

Networking support:網(wǎng)絡(luò )支持。必須,沒(méi)有網(wǎng)卡也建議你選上。
PCI support:PCI支持。如果使用了PCI的卡,當然必選。
PCI access mode:PCI存取模式??晒┻x擇的有BIOS、Direct和Any,選Any吧。
Support for hot-pluggabel devices:熱插拔設備支持。支持的不是太好,可不選。
PCMCIA/CardBus support:PCMCIA/CardBus支持。有PCMCIA就必選了。
System V IPC
BSD Process Accounting
Sysctl support:以上三項是有關(guān)進(jìn)程處理/IPC調用的,主要就是System V和BSD兩種風(fēng)格。如果你

不是使用BSD,就按照缺省吧。
Power Management support:電源管理支持。
Advanced Power Management BIOS support:高級電源管理BIOD支持。

8.5. Memory Technology Device(MTD)
MTD設備支持??刹贿x。

8.6. Parallel port support
串口支持。如果不打算使用串口,就別選了。

8.7. Plug and Play configuration
即插即用支持。雖然Linux對即插即用目前支持的不如Windows好,但是還是選上吧,這樣你可以拔

下鼠標之類(lèi)的體驗一下Linux下即插即用的感覺(jué)。

8.8. Block devices
塊設備支持。這個(gè)就得針對自己的情況來(lái)選了,簡(jiǎn)單說(shuō)明一下吧:

Normal PC floppy disk support:普通PC軟盤(pán)支持。這個(gè)應該必選。
XT hard disk support:
Compaq SMART2 support:
Mulex DAC960/DAC1100 PCI RAID Controller support:RAID鏡像用的。
Loopback device support:
Network block device support:網(wǎng)絡(luò )塊設備支持。如果想訪(fǎng)問(wèn)網(wǎng)上鄰居的東西,就選上。
Logical volume manager(LVM)support:邏輯卷管理支持。
Multiple devices driver support:多設備驅動(dòng)支持。
RAM disk support:RAM盤(pán)支持。

8.9. Networking options
網(wǎng)絡(luò )選項。這里配置的是網(wǎng)絡(luò )協(xié)議。內容太多了,不一一介紹了,自己看吧,如果你對網(wǎng)絡(luò )協(xié)議有

所了解的話(huà),應該可以看懂的。如果懶得看,使用缺省選項(肯定要選中TCP/IP networking哦)就可以

了。讓我們看看,TCP/IP、ATM、IPX、DECnet、Appletalk……支持的協(xié)議好多哦,IPv6也支持了,Qos

and/or fair queueing(服務(wù)質(zhì)量公平調度)也支持了,還有kHTTPd,不過(guò)這些都還在實(shí)驗階段。

8.10. Telephony Support
電話(huà)支持。這個(gè)是什么東東?讓我查查幫助,原來(lái)是Linux下可以支持電話(huà)卡,這樣你就可以在IP上

使用普通的電話(huà)提供語(yǔ)音服務(wù)了。記住,電話(huà)卡可和modem沒(méi)有任何關(guān)系哦。

8.11. ATA/IDE/MFM/RLL support
這個(gè)是有關(guān)各種接口的硬盤(pán)/光驅/磁帶/軟盤(pán)支持的,內容太多了,使用缺省的選項吧,如果你使用

了比較特殊的設備,比如PCMCIA等,就到里面自己找相應的選項吧。

,比如PCMCIA等,就到里面自己找相應的選項吧。

8.12. SCSI support
SCSI設備的支持。我沒(méi)有SCSI的設備,所以根本就不用選,如果你用了SCSI的硬盤(pán)/光驅/磁帶等設

備,自己找好了。

8.13. IEEE 1394(FireWire)support
這個(gè)是什么?低版本的沒(méi)有見(jiàn)過(guò),看看幫助再說(shuō)。原來(lái)是要Fireware硬件來(lái)提高串行總線(xiàn)的性能,

我沒(méi)有,不選了。

8.14. I2O device support
這個(gè)也不清楚,幫助里說(shuō)是這個(gè)需要I2O接口適配器才能支持的,在智能Input/Output(I2O)體系

接口中使用,又是要硬件,不選了。

8.15. Network device support
網(wǎng)絡(luò )設備支持。上面選好協(xié)議了,現在該選設備了,可想而知,內容肯定多得很。還好還好,里面

大概分類(lèi)了,有ARCnet設備、Ethernet(10 or 100 Mbit)、Ethernet(1000Mbit)、Wireless LAN

(non-hamradio)、Token Ring device、Wan interfaces、PCMCIA network device support幾大類(lèi)。

我用的是10/100M的以太網(wǎng),看來(lái)只需要選則這個(gè)了。還是10/100M的以太網(wǎng)設備熟悉,內容雖然多,一

眼就可以看到我所用的RealTeck RTL-8139 PCI Fast Ethernet Adapter support,為了免得麻煩,編譯

到內核里面好了,不選M了,選Y。耐心點(diǎn),一般說(shuō)來(lái)你都能找到自己用的網(wǎng)卡。如果沒(méi)有,你只好自己

到廠(chǎng)商那里去要驅動(dòng)了。

8.16. Amateur Radio support
又一個(gè)不懂的,應該是配置業(yè)余無(wú)線(xiàn)廣播的吧,沒(méi)有,不要了。

8.17. IrDA(infrared)support
這個(gè)要紅外支持,免了。

8.18. ISDN subsystem
如果你使用ISDN上網(wǎng),這個(gè)就必不可少了。自己看著(zhù)辦好了。

8.19. Old CD-ROM drivers(not SCSI、not IDE)
做的可真周到,原來(lái)那些非SCSI/IDE口的光驅誰(shuí)還在用啊,自己選吧,反正我是用的IDE的CD-ROM,

不選這個(gè)。

8.20. Character devices
字符設備。這個(gè)內容又太多了,先使用缺省設置,需要的話(huà)自己就修改。把大類(lèi)介紹一下吧:

I(yíng)2C support:I2C是Philips極力推動(dòng)的微控制應用中使用的低速串行總線(xiàn)協(xié)議。如果你要選擇下面

的Video For Linux,該項必選。
Mice:鼠標?,F在可以支持總線(xiàn)、串口、PS/2、C&T 82C710 mouse port、PC110 digitizer pad,

自己根據需要選擇。
Joysticks:手柄。即使在Linux下把手柄驅動(dòng)起來(lái)意義也不是太大,游戲太少了。
Watchdog Cards:雖然稱(chēng)為Cards,這個(gè)可以用純軟件來(lái)實(shí)現,當然也有硬件的。如果你把這個(gè)選中

,那么就會(huì )在你的/dev下創(chuàng )建一個(gè)名為watchdog的文件,它可以記錄你的系統的運行情況,一直到系統

重新啟動(dòng)的1分鐘左右。有了這個(gè)文件,你就可以恢復系統到重啟前的狀態(tài)了。
Video For Linux:支持有關(guān)的音頻/視頻卡。
Ftape, the floppy tape device driver:
PCMCIA character device support:

21. File systems
文件系統。內容又太多了,老法子,在缺省選項的基礎上進(jìn)行修改。介紹以下幾項:

Quota support:Quota可以限制每個(gè)用戶(hù)可以使用的硬盤(pán)空間的上限,在多用戶(hù)共同使用一臺主機

的情況中十分有效。
DOS FAT fs support:DOS FAT文件格式的支持,可以支持FAT16、FAT32。
I(yíng)SO 9660 CD-ROM file system support:光盤(pán)使用的就是ISO 9660的文件格式。
NTFS file system support:ntfs是NT使用的文件格式。
/proc file system support:/proc文件系統是Linux提供給用戶(hù)和系統進(jìn)行交互的通道,建議選上

,否則有些功能沒(méi)法正確執行。

還有另外三個(gè)大類(lèi)都規到這兒了:Network File Systems(網(wǎng)絡(luò )文件系統)、Partition Types(分

區類(lèi)型)、Native Language Support(本地語(yǔ)言支持)。值得一提的是Network File Systems里面的兩

種:NFS和SMB分別是Linux和Windows相互以網(wǎng)絡(luò )鄰居的形式訪(fǎng)問(wèn)對方所使用的文件系統,根據需要加以

選擇。

8.22. Console drivers
控制臺驅動(dòng)。一般使用VGA text console就可以了,標準的80*25的文本控制臺。

8.23. Sound
聲卡驅動(dòng)。如果你能在列表中找到聲卡驅動(dòng)那自然最好,否則就試試OSS了。

8.24. USB supprot
USB支持。很多USB設備,比如鼠標、調制解調器、打印機、掃描儀等,在Linux都可以得到支持,根

據需要自行選擇。

8.25. Kernel hacking
配置了這個(gè),即使在系統崩潰時(shí),你也可以進(jìn)行一定的工作了。普通用戶(hù)是用不著(zhù)這個(gè)功能的。

總算配置完了,現在存盤(pán)退出,當然你也可以把現在的配置文件保存起來(lái),這樣下次再配置的時(shí)候就省力氣了。

三 編譯過(guò)程
在繁雜的配置工作完成以后,下面你就可以自己到杯茶耐心等候了。與編譯有關(guān)的命令有如下幾個(gè)

#make dep
#make clean
#make bzImage
#make modules
#make modules_install
第一個(gè)命令make dep實(shí)際上讀取配置過(guò)程生成的配置文件,來(lái)創(chuàng )建對應于配置的依賴(lài)關(guān)系樹(shù),從而決定哪些需要編譯而那些不需要;第二命令make clean完成刪除前面步驟留下的文件,以避免出現一些錯誤;第三個(gè)命令make zImage和第四個(gè)命令make bzImage實(shí)現完全編譯內核,二者生成的內核都是使用gzip壓縮的,只要使用一個(gè)就夠了,它們的區別在于使用make bzImage可以生成大一點(diǎn)的內核,比如在編譯2.4.0版本的內核時(shí)如果使用make zImage命令,那么就會(huì )出現system too big的錯誤提示。建議大家使用make bzImage命令。

后面三個(gè)命令只有在你進(jìn)行配置的過(guò)程中,在回答Enable loadable module support
(CONFIG_MODULES)時(shí)選了"Yes"才是必要的,make modules和make modules_install分別生成相應的模塊和把模塊拷貝到需要的目錄中。
嚴格說(shuō)來(lái),第七個(gè)命令和編譯過(guò)程并沒(méi)有關(guān)系,它是生成模塊間的依賴(lài)關(guān)系,這樣你啟動(dòng)新內核之后,使用modprobe命令加載模塊時(shí)就能正確地定位模塊。
下面是怎么生成配置 啟動(dòng)
#make install
這里如果出現 NO MODULE BUSLOGIC FOUND FOR (vmare會(huì )出現這樣的情況)
第1種方法是:

Modify /etc/modules.conf to skip the scsi hostadapter BusLogic.
# vim /etc/modules.conf
3
Add a "#" in front of alias scsi hostadapter BusLogic
Save /etc/modules.conf
# make install
第2種方法是:

//---------------------------------------  
//--
www.icwin.net
//---------------------------------------
10 手動(dòng)添加啟動(dòng)項
#depmod -a

#cp /usr/src/linux/System.map /boot/System.map-2.4.21

#cp /usr/src/linux/arch/i386/bzImage /boot/vmlinuz-2.4.21

四 運行內核的常見(jiàn)問(wèn)題

1.編譯完后不啟動(dòng),報以下錯誤:

VFS: Cannot open root device "LABEL=/" or 0.0

> Please append a correct "root=" boot option

> kernel panic: VFS: Unable to mount root fs
如果是上面的錯誤,請確認你把如下選項配置進(jìn)kernel

(1) 如果/使用了EXT3 文件系統,在內核中要加入EXT3的支持

(2)如果是IDE的硬盤(pán)必須要IDE的驅動(dòng)加載

(3)在block devices--RAM disk support 中選取 Initial disk(initrd) support,有時(shí)在mount / 之前
需要加載一些模塊,這些modules 被做到一個(gè)鏡像文件中--kernel-ver.img 中,這個(gè)文件位于/boot.舉個(gè)例子,如果EXT3 的是以模塊加載的話(huà),在mount / 時(shí)就需要用到它,所以系統就在initrd.kernel-ver.img 中尋找它.
使用命令 mkinitrd initrd.kernel-ver.img kernel-ver 可以生成initrd.kernel-ver.img

2.系統啟動(dòng)過(guò)程中加載iptables時(shí)報錯的處理方法
修改/etc/rc.sysinit文件:
將其中所有的/proc/ksyms替換為/proc/kallsyms。
將其中所有的/proc/sys/kernel/modprobe 替換為/sbin/modprobe
在文件中mount -f /proc這一句下添加mount -f /sys
在文件中的action $"Mounting proc filesystem: " mount -n -t proc /proc /proc 這一句的下面添加 action $"Mounting sysfs filesystem: " mount -n -t sysfs /sys /sys

修改/etc/fstab文件:
加入none /sys sysfs defaults 0 0

修改/etc/init.d/halt文件:
將halt_get_remaining函數內的awk ‘$2 ~ /^\/$|^\/proc|^\/dev/{next}改為
awk ‘$2 ~ /^\/$|^\/proc|^\/sys|^\/dev/{next}

創(chuàng )建目錄:
mkdir /sys

然后重啟機器,模塊的問(wèn)題應該解決的差不多了。

到這里編譯工作順利結束了.以上是本人在編譯內核過(guò)程中遇到的問(wèn)題以及解決方法,有些問(wèn)題沒(méi)有遇到,就沒(méi)有寫(xiě)進(jìn)去,希望大家給予補充指正,充分弘揚Linux精神?。?!




最后進(jìn)行編輯的是 e2agle on 2005-10-25 10:03, 總計第 1 次編輯

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
redhat9.0如何升級內核? - 紅聯(lián)Linux門(mén)戶(hù) - 中國領(lǐng)先的Linux技術(shù)網(wǎng)站...
Linux kernel內核升級全過(guò)程,教你一次成功(2.4.20
Debian 下的 Linux 內核
內核移植(redhat 9 2.4.20
編譯Linux系統內核
linux內核編譯過(guò)程的最終總結版
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久