linux内核2.6.35编译过程
一、實(shí)驗(yàn)?zāi)康?/p>
學(xué)習(xí)重新編譯Linux內(nèi)核,理解、掌握Linux內(nèi)核和發(fā)行版本的區(qū)別。
?
二、實(shí)驗(yàn)內(nèi)容
在Linux操作系統(tǒng)環(huán)境下重新編譯內(nèi)核。實(shí)驗(yàn)主要內(nèi)容:
A.?查找并且下載一份內(nèi)核源代碼,本實(shí)驗(yàn)使用最新的Linux內(nèi)核2.6.36。
B.?配置內(nèi)核。
C.?編譯內(nèi)核和模塊。
D.?配置啟動(dòng)文件。
本次實(shí)驗(yàn)環(huán)境是Linux2.6.35內(nèi)核的環(huán)境下,下載并重新編譯內(nèi)核源代碼(2.6.36);然后,配置GNU的啟動(dòng)引導(dǎo)工具grub,成功運(yùn)行編譯成功的內(nèi)核。
?
三、主要儀器設(shè)備(必填)
Linux環(huán)境:utuntu10.10,linux內(nèi)核2.6.35
待編譯內(nèi)核:linux2.6.36
?
四、操作方法和實(shí)驗(yàn)步驟
【1】下載內(nèi)核源代碼
從https://mirrors.edge.kernel.org/pub/linux/kernel/v2.6/linux-2.6.36.tar.gz?網(wǎng)站上下載最新的Linux內(nèi)核2.6.36。
?
【2】部署內(nèi)核源代碼
打開終端,更改用戶權(quán)限為root。具體做法是在終端輸入sudo?su,然后按提示輸入密碼。判斷是否是root用戶是使用whoami命令,若輸出為root則已經(jīng)切換到root賬戶。
輸入mv?linux-2.6.36.tar.gz??/usr/src,目的是把下載的內(nèi)核源代碼文件移到/usr/src目錄。
輸入cd?/usr/src切換到該目錄下。
輸入tar?zxvf?linux-2.6.36.tar.gz,目的是解壓內(nèi)核包,生成的源代碼放在linux-2.6.36目錄下。
輸入cd?linux-2.6.36,切換到該目錄下。
輸入cp?/boot/config-,然后按下Tab鍵,系統(tǒng)會(huì)自動(dòng)填上該目錄下符合條件的文件名,然后繼續(xù)輸入?.config,目的是使用在boot目錄下的原配置文件。
?
【3】配置內(nèi)核
配置內(nèi)核的方法很多,主要有如下幾種:
#make?menuconfig??//基于ncurse庫(kù)編制的圖形工具界面
#make?config??//基于文本命令行工具,不推薦使用
#make?xconfig??//基于X11圖形工具界面
#make?gconfig??//基于gtk+的圖形工具界面
由于對(duì)Linux還處在初學(xué)階段,所以選擇了簡(jiǎn)單的配置內(nèi)核方法,即make?menuconfig。在終端輸入make?menuconfig,等待幾秒后,終端變成圖形化的內(nèi)核配置界面。進(jìn)行配置時(shí),大部分選項(xiàng)使用其缺省值,只有一小部分需要根據(jù)不同的需要選擇。
對(duì)每一個(gè)配置選項(xiàng),用戶有三種選擇,它們分別代表的含義如下:
<*>或[*]——將該功能編譯進(jìn)內(nèi)核
[]——不將該功能編譯進(jìn)內(nèi)核
[M]——將該功能編譯成可以在需要時(shí)動(dòng)態(tài)插入到內(nèi)核中的代碼
本實(shí)驗(yàn)在make?menuconfig后,把ext2和ext3文件系統(tǒng)編譯進(jìn)內(nèi)核。如果用戶是在虛擬機(jī)下編譯的,那么一般要把SCSI設(shè)備編譯進(jìn)內(nèi)核。不是在虛擬機(jī)下編譯的也可以把它編譯進(jìn)去,不會(huì)有什么影響的。
?
【4】編譯內(nèi)核
這步是時(shí)間最長(zhǎng)的一個(gè)步驟,一般在3個(gè)小時(shí)左右。
編譯內(nèi)核只需在終端輸入make,然后等待編譯的完成。
?
【5】編譯和安裝內(nèi)核模塊
輸入make?modules_install,這步很快能完成。
?
【6】安裝內(nèi)核
輸入make?install
?
【7】生成啟動(dòng)
依次輸入:
sudo?mkinitramfs?-o?/boot/initrd.img-2.6.36
sudo?update-initramfs?-c?-k?2.6.36
sudo?update-grub2??//自動(dòng)修改系統(tǒng)引導(dǎo)配置,產(chǎn)生grub.cfg啟動(dòng)文件。
?
五、實(shí)驗(yàn)結(jié)果和分析
把內(nèi)核源代碼移動(dòng)到目錄/usr/src,如下圖
?
?
?
?
在成功執(zhí)行語(yǔ)句
sudo?mkinitramfs?-o?/boot/initrd.img-2.6.36
sudo?update-initramfs?-c?-k?2.6.36
后的boot目錄,如下圖
?
?
?
在成功執(zhí)行語(yǔ)句
sudo?update-grub2
后grub.cfg文件中增加了新內(nèi)核的啟動(dòng)項(xiàng),如下圖
?
?
?
在所有的實(shí)驗(yàn)步驟成功完成后,重新啟動(dòng),可以發(fā)現(xiàn)在啟動(dòng)項(xiàng)中多了兩項(xiàng),分別為L(zhǎng)inux2.6.36模式和Linux2.6.36?recovery模式,選擇Linux2.6.36模式,進(jìn)入新的內(nèi)核,若在啟動(dòng)過(guò)程中沒(méi)有跳出錯(cuò)誤提示,表示已經(jīng)成功了。
進(jìn)入系統(tǒng)后,打開終端,輸入uname?-a,輸出如下圖,表明現(xiàn)在已經(jīng)是2.6.36的內(nèi)核了
?
?
?
?
六、討論、心得
1、本次實(shí)驗(yàn),共編譯了兩次內(nèi)核,在第一次編譯時(shí),對(duì)內(nèi)核的配置這塊沒(méi)有把ext2和ext3文件系統(tǒng)編譯進(jìn)內(nèi)核,導(dǎo)致了編譯完的內(nèi)核無(wú)法成功啟動(dòng)。在第二次編譯中,經(jīng)過(guò)仔細(xì)的對(duì)內(nèi)核的配置,把ext2和ext3已經(jīng)SCSI編譯進(jìn)內(nèi)核,終于成功了。這讓我覺(jué)得內(nèi)核編譯后能否成功啟動(dòng)的關(guān)鍵是內(nèi)核的配置。
2、編譯后的每一個(gè)步驟執(zhí)行后,可以通過(guò)查看相關(guān)目錄是否生成了預(yù)期的文件來(lái)判斷過(guò)程的正確與否。
3、Linux通過(guò)在系統(tǒng)引導(dǎo)后從/boot?目錄下讀取內(nèi)核映像到內(nèi)存中來(lái)完成啟動(dòng)。
4、initrd.img是Linux啟動(dòng)過(guò)程中很重要的一個(gè)文件,如果你編譯內(nèi)核時(shí)將一部分功能編譯為可加載模塊。如果系統(tǒng)的一些設(shè)備的驅(qū)動(dòng)編譯為可加載模塊,那么啟動(dòng)時(shí)如果沒(méi)有指定INITRD=/path_to_initrd.img,那么系統(tǒng)啟動(dòng)或者會(huì)失敗,或者啟動(dòng)后會(huì)有設(shè)備無(wú)法使用(像網(wǎng)卡或者其?它設(shè)備)。
如果沒(méi)指定initrd.img或者指定的initrd.img中并沒(méi)有包含正確的驅(qū)動(dòng)模塊,則系統(tǒng)啟動(dòng)時(shí)會(huì)掛起,并報(bào)告"kernel?panic:?VFS:?Unable?to?mount?root?fs?on?08:06"的錯(cuò)誤。
5、grub.cfg文件保存著系統(tǒng)引導(dǎo)配置信息,記錄著系統(tǒng)的啟動(dòng)項(xiàng)。新編譯后的內(nèi)核信息必須包含到該文件中,這樣在系統(tǒng)啟動(dòng)時(shí)才會(huì)出現(xiàn)新的啟動(dòng)項(xiàng)的選項(xiàng)。
?
參考了linuxsir和水母的linux版的精華區(qū),本人不保留任何版權(quán)。
經(jīng)過(guò)歸納整理,看看上面的就可以了,包括補(bǔ)丁如何打。具體的一些選項(xiàng)可以往下看,一些一看就懂的白癡選項(xiàng),并沒(méi)有選進(jìn)來(lái),因此適合對(duì)電腦軟硬件都有所了解的人參考。
基本以2.6.5內(nèi)核為例,雖然2.6的內(nèi)核編譯有更為方便的過(guò)程,但這里還是按照最經(jīng)典的方式,這樣最保險(xiǎn)。一些過(guò)程說(shuō)明經(jīng)過(guò)了本人的精簡(jiǎn),相關(guān)的疑問(wèn)請(qǐng)自行用網(wǎng)絡(luò)搜索答案,只保證本人看的懂;)一些設(shè)置按照自己的情況調(diào)整,不要完全照搬。對(duì)于編譯內(nèi)核造成的損失(比如LP跑了,再也不回來(lái)),本人不負(fù)任何責(zé)任:)僅供參考。
1.download linux-2.6.5.tar.gz
2.cp linux-2.6.5.tar.gz /usr/src
3.cd /usr/src
4.mv linux linux_old
5.tar xvzf linux-2.6.5.tar.gz
bzip2 -d linux-2.6.5.tar.bz2
tar -xvf linux-2.6.5.tar
或者tar jxvf linux-2.6.5.tar.bz2
6.cd /usr/include
rm -rf 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
7.cd /usr/src/linux
make mrproper (檢查有無(wú)不正確的.o文件和依賴關(guān)系,使用剛下載的完整的源程序包進(jìn)行編譯,所以本步可以省略。而如果你多次使用了這些源程序編譯內(nèi)核,那么最好要先運(yùn)行一下這個(gè)命令。 )
8.make config 或
make menuconfig (推薦) 或
make xconfig
選擇完返回MainMenu,選擇save and exit,退出配置窗口并關(guān)閉超級(jí)用戶終端。現(xiàn)在可以退出xwindows了,回到文本環(huán)境(這樣做可以加快內(nèi)核編譯速度)執(zhí)行最后操作
9.make dep
10.make zImage
若想做成啟動(dòng)盤的形式可 make zdisk,若kernel大于512K,應(yīng)用make bzImage (推薦)
11.make modules make modules_install depmod -a
12.cp /usr/src/linux/arch/i386/boot/zImage /boot (用的是make zImage) 或cp /usr/src/linux/arch/i386/boot/bzImage /boot (用的是make bzImage)
13.修改lilo.conf 或grub.conf(添加)
image=/boot/zImage(或bzImage)
label=new
root=...
14. lilo & grub
lilo -v 使改動(dòng)生效。建議保留舊內(nèi)核的項(xiàng)目,避免編譯失敗。通常 grub 配置文件在下面三個(gè)地方(根據(jù)發(fā)行版的不同):
/etc/grub.conf
/boot/grub/menu.lst
/boot/grub/grub.conf
15. shutdown -r now
如果你的 kernel 支持內(nèi)存鏡像,就用 mkinitrd 命令制作一個(gè)鏡像文件,然后拷貝到 /boot 路徑下。要這么做,也要記得在 make menu 的時(shí)候記得選擇內(nèi)核鏡像 ram image,并且不能安裝為模塊,否則 initrd 就不會(huì)運(yùn)作。生成映像文件,否則有時(shí)系統(tǒng)啟動(dòng)時(shí)會(huì)找不到/根分區(qū)。
mkinitrd /boot/initrd-.2.4.20-8.img 2.4.20-8
initrd.img就是initrd-2.4.20-8.img文件的鏈接
#ln -s initrd-2.4.20-8.img initrd.img
有的時(shí)候 mkinitrd 失敗,只要加上:--without-scsi-module 就可以通過(guò)了。
把舊內(nèi)核源文件下的.config文件拷貝到新內(nèi)核源文件下,
如cp /usr/src/linux-2.4.22/.config /usr/src/linux-2.6.5/
然后在新內(nèi)核目錄下運(yùn)行make oldconfig,如果想改動(dòng)什么,可以
make menuconfig,但是一定要先make oldconfig。然后就編譯內(nèi)核,很容易:make bzImage make modules make modules_install make install
然后到/boot 看看是不是已經(jīng)有新內(nèi)核文件了,再看/boot/grub/grub.conf是否已經(jīng)加載了新內(nèi)核。shutdown -r now
cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.6.5(新內(nèi)核的bzImage的位置也有可能在/usr/src/linux/i386/下)
cp /usr/src/linux/System.map /boot/System.map-2.6.5
make clean
沒(méi)有 make clean 之前,如果增加了新的模塊,可以直接 make menuconfig && make moduels && make modules_install,不需要全部重新來(lái)過(guò)。如果你以后還要利用這次編譯的成果,也可以省略這一步,如果你想直接刪除源代碼目錄,也可以省略這一步。
一些升級(jí)內(nèi)核前的備份過(guò)程:
cd /boot/
mv System.map System.map.old
mv vmlinuz vmlinuz.old
cd /usr/src/
ln -s linux-2.6.5 linux
進(jìn)入/usr/include目錄下,將asm、scsi、linux三個(gè)目錄改名?
[root@localhost /usr/include]# mv asm asm.OFF?
[root@localhost /usr/include]# mv scsi scsi.OFF?
[root@localhost /usr/include]# mv linux linux.OFF?
建立指向新內(nèi)核的位置到第三步中被改名的原目錄?
[root@localhost /usr/include]# ln -s /usr/src/linux/include/asm-i386 asm?
[root@localhost /usr/include]# ln -s /usr/src/linux/include/scsi scsi?
[root@localhost /usr/include]# ln -s /usr/src/linux/include/linux linux
檢驗(yàn) # ls /boot
如果看到了 vmlinuz-2.6.0 和 System.map-2.6.0 ,那么恭喜你,成功了!
如果你是用 make install 安裝的,還會(huì)看到個(gè) config-2.6.0 文件
cd /boot/
ln -s vmlinuz-2.6.5 vmlinuz
ln -s System.map-2.6.5 System.map
(上面的兩步的作用是保護(hù)真正的內(nèi)核鏡像不受損壞)
vmlinuz是壓縮的內(nèi)核二進(jìn)制可執(zhí)行文件
#du -sh vmlinuz-2.6.5 用來(lái)查看新的內(nèi)核有多大
如果你的Kernel 配置支持Modules的話,解決那些問(wèn)題是比較簡(jiǎn)單的
只要編譯那些.o文件就可以啦.
比如我的聲卡經(jīng)常Irq 和 IO 不對(duì), 我就到 /usr/src/linux/drivers/sound目錄下
gcc -o configure configure.c
./configure
選好IO,IRQ 等等,
make
cp sound.o /lib/modules/2.0.34/misc
rmmod sound
insmod sound init_trace=1
測(cè)試一下.直到成功為止.比在 /usr/src/linux 下, make menuconfig ;
make dep;make clean;make zImage;.... 好多了.
怎么給內(nèi)核打補(bǔ)丁?
# cd /usr/src/linux
# bzip2 -dc patch-xxx.bz2 | patch
PATCH文件拷貝到/usr/src下:?
#patch -p0 < patch-2.2.16
#gzip -cd patch-2.4.x-pre2-ac1.gz|patch -p1 -s -N -E -d 源碼目錄
可以使用這種方式來(lái)安裝任何補(bǔ)丁,而不用管它的文件名了
用lsmod看當(dāng)前裝入的module, insmod/rmmod增刪module. 對(duì)于fs,network方面的module, kernel是可以自動(dòng)動(dòng)態(tài)裝載的(通過(guò)kerneld, 要用時(shí)自動(dòng)insmod) 而對(duì)于與硬件相關(guān)的module(如網(wǎng)卡,SCSI卡等), 則需自己手工加入, 或用RedHat Control Panel中的kernelcfg來(lái)選擇module(寫于/etc/conf.modules(?), 那樣則boot kernel時(shí)會(huì)自動(dòng)加入
自己定制編譯的內(nèi)核運(yùn)行更快(具有更少的代碼)?
系統(tǒng)將擁有更多的內(nèi)存(內(nèi)核部分將不會(huì)被交換到虛擬內(nèi)存中)?
不需要的功能編譯進(jìn)入內(nèi)核可能會(huì)增加被系統(tǒng)攻擊者利用的漏洞?
將某種功能編譯為模塊方式會(huì)比編譯到內(nèi)核內(nèi)的方式速度要慢一些?
查看swap有沒(méi)有打開(用free指令)。此外,最好不要超頻,不然很有可能會(huì)發(fā)生signal 11的錯(cuò)誤,使得編到一半的核心停了下來(lái)
1. Code maturity level options?
代碼成熟等級(jí)。此處只有一項(xiàng):prompt for development and/or incomplete code/drivers,如果你要試驗(yàn)現(xiàn)在仍處于實(shí)驗(yàn)階段的功能,比如khttpd、IPv6等,就必須把該項(xiàng)選擇為Y了;否則可以把它選擇為N。?
2. Loadable module support?
Enable loadable module support:除非你準(zhǔn)備把所有需要的內(nèi)容都編譯到內(nèi)核里面,否則該項(xiàng)應(yīng)該是必選的。?
Set version inFORMation on all module symbols:可以不選它。?
Kernel module loader:讓內(nèi)核在啟動(dòng)時(shí)有自己裝入必需模塊的能力,建議選上。?
3. Processor type and features?
High Memory Support:大容量?jī)?nèi)存的支持。可以支持到4G、64G,一般可以不選。
Math emulation:協(xié)處理器仿真。協(xié)處理器是在386時(shí)代的寵兒,現(xiàn)在早已不用了。?
MTTR (memory type range register)support------選擇該選項(xiàng),系統(tǒng)將生成/proc/mtrr文件對(duì)MTRR進(jìn)行管理,供X server使用。同時(shí)用來(lái)啟動(dòng)pentinum pro和pentinum II 的特殊功能,如果你用的不是這類CPU就選N,否則也僅僅是使內(nèi)核變大而已。
Symmetric multi-processing support:對(duì)稱多處理支持。除非你富到有多個(gè)CPU,否則就不用選了。?
4. General setup?
一般使用缺省設(shè)置就可以了。
Networking support:網(wǎng)絡(luò)支持。必須,沒(méi)有網(wǎng)卡也建議你選上。?
PCI support:PCI支持。如果使用了PCI的卡,當(dāng)然必選。?
PCI access mode:PCI存取模式。可供選擇的有BIOS、Direct和Any,選Any吧。?
Support for hot-pluggabel devices:熱插拔設(shè)備支持。
PCMCIA/CardBus support:PCMCIA/CardBus支持。
System V IPC?
BSD Process Accounting?
Sysctl support:以上三項(xiàng)是有關(guān)進(jìn)程處理/IPC調(diào)用的,主要就是System V和BSD兩種風(fēng)格。如果你不是使用BSD,就按照缺省吧。?
Power Management support:電源管理支持。?
Advanced Power Management BIOS support:高級(jí)電源管理BIOS支持。?
5. Memory Technology Device(MTD)?
MTD設(shè)備支持??刹贿x。?
6. Parallel port support?
并口支持。如果不打算使用串口,就別選了。?
7. Plug and Play configuration?
還是選上吧,可以拔下鼠標(biāo)之類的體驗(yàn)一下Linux下即插即用的感覺(jué)。?
8. Block devices?
Normal PC floppy disk support:普通PC軟盤支持。這個(gè)應(yīng)該必選。?
Mulex DAC960/DAC1100 PCI RAID Controller support:RAID鏡像用的。?
Network block device support:網(wǎng)絡(luò)塊設(shè)備支持。如果想訪問(wèn)網(wǎng)上鄰居的東西,就選上。?
10. Telephony Support?
Linux下可以支持電話卡,這樣你就可以在IP上使用普通的電話提供語(yǔ)音服務(wù)了。記住,電話卡可和modem沒(méi)有任何關(guān)系哦。?
11. ATA/IDE/MFM/RLL support?
這個(gè)是有關(guān)各種接口的硬盤/光驅(qū)/磁帶/軟盤支持的,內(nèi)容太多了,使用缺省的選項(xiàng)吧,如果你使用了比較特殊的設(shè)備,比如PCMCIA等,就到里面自己找相應(yīng)的選項(xiàng)吧。?
12. SCSI support?
13. Fusion MPT device support?
14. I2O device support?
需要I2O接口適配器支持,在智能Input/Output(I2O)體系接口中使用。?
15. Network device support?
網(wǎng)絡(luò)設(shè)備支持。編譯到內(nèi)核里面好了,不選M了,選Y。
16. Amateur Radio support?
配置業(yè)余無(wú)線廣播。?
17. IrDA(infrared)support?
紅外線支持。?
18. ISDN subsystem?
如果你使用ISDN上網(wǎng),這個(gè)就必不可少了。?
19. Old CD-ROM drivers(not SCSI、not IDE)?
做的可真周到,原來(lái)那些非SCSI/IDE口的光驅(qū)誰(shuí)還在用啊,自己選吧,用IDE的CD-ROM不用選。?
20. Character devices?
字符設(shè)備。這個(gè)內(nèi)容又太多了,先使用缺省設(shè)置,需要的話自己就修改。把大類介紹一下吧:?
I2C support:I2C是Philips極力推動(dòng)的微控制應(yīng)用中使用的低速串行總線協(xié)議。如果你要選擇下面的Video For Linux,該項(xiàng)必選。?
Mice:鼠標(biāo)?,F(xiàn)在可以支持總線、串口、PS/2、C&T 82C710 mouse port、PC110 digitizer pad,自己根據(jù)需要選擇。?
Watchdog Cards:雖然稱為Cards,這個(gè)可以用純軟件來(lái)實(shí)現(xiàn),當(dāng)然也有硬件的。如果你把這個(gè)選中,那么就會(huì)在你的/dev下創(chuàng)建一個(gè)名為watchdog的文件,它可以記錄你的系統(tǒng)的運(yùn)行情況,一直到系統(tǒng)重新啟動(dòng)的1分鐘左右。有了這個(gè)文件,你就可以恢復(fù)系統(tǒng)到重啟前的狀態(tài)了。?
21. File systems?
22. Console drivers?
控制臺(tái)驅(qū)動(dòng)。一般使用VGA text console就可以了,標(biāo)準(zhǔn)的80*25的文本控制臺(tái)。?
23. Sound?
聲卡驅(qū)動(dòng)。如果你能在列表中找到聲卡驅(qū)動(dòng)那自然最好,否則就試試OSS了。?
24. USB supprot?
25. Kernel hacking?
配置了這個(gè),即使在系統(tǒng)崩潰時(shí),你也可以進(jìn)行一定的工作了。普通用戶是用不著這個(gè)功能的。 配置完后,存盤退出,當(dāng)然你也可以把現(xiàn)在的配置文件保存起來(lái),這樣下次再配置的時(shí)候就省力氣了。 接下來(lái)是編譯。?
#make dep?
#make clean?
#make bzImage或make zImage?
#make modules?
#make modules_install?
#depmod -a?
make dep實(shí)際上讀取配置過(guò)程生成的配置文件,來(lái)創(chuàng)建對(duì)應(yīng)于配置的依賴關(guān)系樹,從而決定哪些需要編譯而那些不需要;第二命令make clean完成刪除前面步驟留下的文件,以避免出現(xiàn)一些錯(cuò)誤;在回答Enable loadable module support (CONFIG_MODULES)時(shí)選了"Yes"才是必要的,make modules和make modules_install分別生成相應(yīng)的模塊和把模塊拷貝到需要的目錄中。嚴(yán)格說(shuō)來(lái),depmod -a命令和編譯過(guò)程并沒(méi)有關(guān)系,它是生成模塊間的依賴關(guān)系,這樣你啟動(dòng)新內(nèi)核之后,使用modprobe命令加載模塊時(shí)就能正確地定位模塊。?
#cp /usr/src/linux/System.map /boot/System.map-2.4.18?
#cp /usr/src/linux/arch/i386/bzImage /boot/vmlinuz-2.4.18?
#cd /boot;rm -f System.map vmlinuz?
#ln -s vmlinuz-2.4.18 vmlinuz?
#ln -s System.map-2.4.18 System.map?
如果用LILO,修改/etc/lilo.conf,添加以下項(xiàng):?
image=/boot/vmlinuz-2.4.18?
label=linux240?
read-only?
root=/dev/hda2?
其中root=/dev/hda2一行要根據(jù)需要自行加以修改。?
#/sbin/lilo -v?
#shutdown -r now?
用Grub啟動(dòng)管理器,則添加如下幾項(xiàng)即可。?
title Red Hat Linux (2.4.18)?
root (hd0,0)?
kernel /vmlinuz-2.4.18 ro root=/dev/hda2?
裝過(guò)顯卡驅(qū)動(dòng),比如Nvidia的話,你可以這樣辦
rpm -e NVIDIA_GLX_XXX(XXX為你的顯卡驅(qū)動(dòng)對(duì)應(yīng)的版本號(hào),比如我的是NVIDIA_GLX-1.0-3123)
rpm -e NVIDIA_kernel_XXXX(同上)
把以前安裝的驅(qū)動(dòng)刪去。
rpmbuild --rebuild NVIDIA_kernel_XXXX,重新編譯你的顯卡驅(qū)動(dòng)。編譯好的放在/usr/src/redhat/RPMS/i386/下
然后安裝就是了、、、
rpm -Uvh NVIDIA_kernel_XXXX.i386.rpm
rpm -Uvh NVIDIA_GLX_XXXX.i386.rpm
搞定,重起。
將與內(nèi)核其它部分關(guān)系較遠(yuǎn)且不經(jīng)常使用的部分功能代碼編譯成為可加載模塊,有利于減小內(nèi)核的長(zhǎng)度,減小內(nèi)核消耗的內(nèi)存,簡(jiǎn)化該功能相應(yīng)的環(huán)境改變時(shí)對(duì)內(nèi)核的影響;不需要的功能就不要選;與內(nèi)核關(guān)心緊密而且經(jīng)常使用的部分功能代碼直接編譯到內(nèi)核中。
核心在保護(hù)空間運(yùn)行,但模塊并不是。這么說(shuō),并不經(jīng)常使用我的設(shè)備,把它編譯成只支持ext2,ide和elf。而一直使用的網(wǎng)卡,把其它的編譯成模塊:如a.out, java, floppy, iso9960, msdos, minix, vfat,smb,nfs,smcultra(ethernetcard),serial,printer,sound,ppp,等等。它們?cè)S多只是在這或那用上那么幾分鐘。在需要用的時(shí)候才用insmod這個(gè)指令加入核心,不用的時(shí)候也能rmmod把它從核心移除,或是用lsmod察看目前所載入的模塊。這里面有三項(xiàng):
#Set version information on all module symbols------通常,我們更新核心版本之后,模塊耍重新的編譯。這個(gè)選項(xiàng)使您不必更新編譯模塊而能使用以前的模塊。可以不選它。但如果您選y,則按照它的說(shuō)明,您必須有g(shù)enksyms這個(gè)程序(可用whereis指令查看有無(wú)此程序)。
#Kernel module loader------讓內(nèi)核在啟動(dòng)時(shí)有自己裝入必需模塊的能力,建議選上。注意:在開機(jī)就會(huì) mount 上來(lái)的 partition 的 FS 、device driver 記得要 compiler 進(jìn) kernel,不能把它弄成 modules。請(qǐng)不要夸張到為了完全模組化而忘了把ext2fs和IDE dirver compiler 進(jìn) kernel 里。
#System V IPC 如果將來(lái)想編譯dosemu(DOS模擬器),則這個(gè)選項(xiàng)一定要選,它是一個(gè)讓各個(gè)程序(process)同步且能彼此交換數(shù)據(jù)的函數(shù)庫(kù)和一些系統(tǒng)的調(diào)用,沒(méi)它,很多的程序?qū)?huì)無(wú)法執(zhí)行。
#Sysctl support------除非你的內(nèi)存少的可憐,否則你應(yīng)該啟動(dòng)這個(gè)功能,啟用該選項(xiàng)后內(nèi)核會(huì)大8K,但能讓你直接改變內(nèi)核的參數(shù)而不必重新開機(jī)。
#Kernel support for A.OUT binaries ------a.out的執(zhí)行文件是比較古老的可執(zhí)行碼,用在比較早期的UNIX系統(tǒng)上。Linux最初也是使用這種碼來(lái)執(zhí)行程序,一直到ELF格式的可執(zhí)行碼出來(lái)后,有愈來(lái)俞多的程序碼隨著ELF格式的優(yōu)點(diǎn)而變成了ELF的可執(zhí)碼。將來(lái)勢(shì)必完全取代a.out格式的可執(zhí)行碼。但目前由于沿有許多的程序還沒(méi)有取代過(guò)來(lái),所以只好選擇Y,等將來(lái)有一天,全部的程序都變成了ELF的天下時(shí),那時(shí)再disable掉。
#Kernel support for Linux/Intel ELF binaries ------由上所述,這個(gè)當(dāng)然y哩,因?yàn)槟壳癵cc-2.7.0以上的都有支持ELF了,如果沒(méi)有選擇這一項(xiàng),可能會(huì)使用相當(dāng)多的程序因此無(wú)法執(zhí)行。為大多機(jī)器制作一張緊急啟動(dòng)盤,最好在386下編譯,而386并不能運(yùn)行在Pentium下編譯的核心。不能同時(shí)把 a.out 和 ELF 支援編譯成 modules,否則當(dāng)你為了能夠使用 insmod 而用 insmod 來(lái)載入 a.out/ELF modules 時(shí)會(huì)有 Catch/22 狀況發(fā)生。如果你的系統(tǒng)主要是 ELF 而你偶爾會(huì)需要用到a.out,你可以把 a.out 支援編譯為modules,否則你最好把它直接放入 kernel 之中。如果你還沒(méi)進(jìn)入 ELF 的世紀(jì),在 compiler kernel 時(shí)可以直接把 ELF 支援去掉。
##Advanced Power Management BIOS support------高級(jí)電源管理BIOS支持。這通常是用在筆記本電腦上的東西,如果您有APM的BIOS,支持省電的設(shè)備的(有電池的那種),那么您可以選上這項(xiàng),一般人這一項(xiàng)是選n,以避免一些可能會(huì)發(fā)生的問(wèn)題。后有8個(gè)選項(xiàng)。
#CMD640 chipset bugfix/support------ 很多 486和 586的主機(jī)板都是用 CMD640的芯片,它是Neptune芯片和 SIS芯片的結(jié)合。不過(guò),這種芯片有它的缺點(diǎn),在許多的情形下,它會(huì)造成數(shù)據(jù)的流失和錯(cuò)誤。如果您選了這一項(xiàng),則Linux核心會(huì)為您小心的尋找這些 錯(cuò)誤并修正它。而且,它會(huì)打開對(duì)二個(gè)IDE界面的支持。不過(guò),在它的說(shuō)明文件中提到,如果您的主機(jī)板沒(méi)有PCI界面只有VESA總線界面卻希望有這項(xiàng)功能的話,則您必須傳一些 參數(shù)給核心(ideo=cmd640_vlb)。如果不確定上面所說(shuō)的,選擇Y。
#CMD640 enhanced support------一般來(lái)說(shuō),對(duì)于硬盤的存取速度來(lái)說(shuō),有所謂的 PIO MODES值設(shè)定,現(xiàn)今的 IDE界面及 BIOS應(yīng)該都能偵測(cè)到正確的硬盤PIO MODE值了。此值愈高表示硬盤的存取的速度愈快??墒?#xff0c;有些主機(jī)板的B10S還是舊式的,不能抓到比較高的 PIO MODE值,如此一來(lái),便不能發(fā)揮整臺(tái)硬盤的效率。這個(gè)設(shè)定告訴讀者說(shuō):如果您的IDE界面是CMD640為基礎(chǔ)*1*7和586的主機(jī)板都在使用它??梢圆椴橹鳈C(jī)板的說(shuō)明書或是 IDE接口卡的說(shuō)明書做確定。文件上提到,選擇這個(gè)將會(huì)降低一些速度,但是數(shù)據(jù)能百分之百的正確。
#Intel 82371 PIIX(Triton I/II) DMA support------對(duì)于586的Pentium電腦來(lái)說(shuō),有相當(dāng)多的主機(jī)板都是用Intel的Triton芯片,使用這種芯片的最大好處是支持直接內(nèi)存存取DMA,而節(jié)省您的CPU時(shí)間。必須您的硬盤和主機(jī)板有同時(shí)支持 DMA的 IDE界面的芯片,直接與它們做溝通而節(jié)省了大量的 CPU時(shí)間。
#Loopback device support------大部分的人這一個(gè)選項(xiàng)都選N,因?yàn)闆](méi)有必要。但是如果你要mount iso文件的話,你得選上Y。這個(gè)選項(xiàng)的意思是說(shuō),可以將一個(gè)文件掛成一個(gè)文件系統(tǒng)。如果要燒光盤片的,那么您很有可能在把一個(gè)文件燒進(jìn)去之前,看看這個(gè)文件是否符合IS09660的文件系統(tǒng)的內(nèi)容,是否符合您的需求。而且,可以對(duì)這個(gè)文件系統(tǒng)加以保護(hù)。不過(guò),如果您想做到這點(diǎn)的話,您必須有最新的mount程序,版本是在2.5X版以上的。而且如果您希望對(duì)這個(gè)文件系統(tǒng)加上保護(hù),則您必須有des.1.tar.gz這個(gè)程序。注意:此處與網(wǎng)絡(luò)無(wú)關(guān)。?
#Multlnle devices driver support------這個(gè)選項(xiàng)可以讓把整個(gè)硬盤分區(qū)變成一個(gè)單獨(dú)的區(qū)塊設(shè)備,您必須有md035.tgz這個(gè)程序。而且在做這件事之前請(qǐng)將您的硬盤備份,因?yàn)樗性跍y(cè)試階段。一般人對(duì)這個(gè)選項(xiàng)是選N。
#Packet socket ------ 選擇“Y”,一些應(yīng)用程序?qū)⑹褂肞acket協(xié)議直接同網(wǎng)絡(luò)設(shè)備通訊,而不通過(guò)內(nèi)核中的其它中介協(xié)議。
#Kernel/User Network link driver------這個(gè)是在測(cè)試中的程序碼,一般人不需要用。依它的說(shuō)明,它允許在核心、模塊或程序間的某些部分間,彼此做雙向的溝通。如果想使用arpd,則這個(gè)程序碼就要加進(jìn)核心里。
#TCP/IP networking------選擇“Y”,內(nèi)核將支持TCP/IP協(xié)議。這個(gè)選項(xiàng)無(wú)論如何請(qǐng)您選擇Y,即使沒(méi)有網(wǎng)絡(luò)卡,或是沒(méi)有連到網(wǎng)絡(luò)上的設(shè)備,在linux上仍有所謂的lookback設(shè)備而且有些程序需要這個(gè)選項(xiàng)。在說(shuō)明文件中提到,如果您沒(méi)有打開這個(gè)設(shè)定,則X-window system可能會(huì)有問(wèn)題(回為它也需要 TCP/IP)。
#Network firewalls------選擇“Y”,內(nèi)核將支持防火墻。等一下有個(gè)IP firewalling的選項(xiàng)也要選y;但下面的forwarding/gatewaying要選n,如此才能讓它正常動(dòng)作。大部分的人這個(gè)選項(xiàng)選N。
#Network alasing------允許有多個(gè)IP地址。
#IP:forwarding/gatewaying ------ 和 Firewall相反,這個(gè)選項(xiàng)是用來(lái)疏導(dǎo)網(wǎng)絡(luò)的。一個(gè)gateway(也就是router),要幫忙疏導(dǎo)兩個(gè)網(wǎng)絡(luò)間的數(shù)據(jù)傳送。這臺(tái)機(jī)器必須要有兩張網(wǎng)絡(luò)卡,連接兩個(gè)個(gè)同的網(wǎng)絡(luò),做疏導(dǎo)網(wǎng)絡(luò)的工作。如果選擇了這個(gè)選項(xiàng),則表示想讓這臺(tái)負(fù)責(zé)做router。那么,就必須有兩張網(wǎng)絡(luò)卡了。另外有一種情形是,如果您有MODEM(通過(guò)串列界面以 SLIP和 PPP協(xié)議)和網(wǎng)絡(luò)卡,并用它們來(lái)連上Internet。這時(shí)您也一樣可以執(zhí)行IP-routing服務(wù),也需把這個(gè)選項(xiàng)打開。
#IP:multicasting------所謂的multicasting是群組廣播,它是用在視頻會(huì)議上的協(xié)議,如果想送一個(gè)網(wǎng)絡(luò)封包(網(wǎng)絡(luò)的數(shù)據(jù)),同樣的一份數(shù)據(jù)將送往十部機(jī)器上。您可以連續(xù)送十次給十臺(tái)機(jī)器(點(diǎn)對(duì)點(diǎn)的傳送),也可以同時(shí)送一次,然后讓十臺(tái)機(jī)器同時(shí)接收到。當(dāng)然后者比前者好,由于視頻會(huì)議要求是最好每個(gè)人都能同時(shí)收到同一份信息,所以如果您有類似的需要,這個(gè)選項(xiàng)就要打開。同時(shí)您還必須去找相關(guān)的軟件。
#IP: accounting------如果您打開這個(gè)選項(xiàng),您就可以在/proc/net下看到系統(tǒng)對(duì)于整個(gè)網(wǎng)絡(luò)狀況的紀(jì)錄。所以一般的人這個(gè)選項(xiàng)都是選y。而且,如果您設(shè)計(jì)把這臺(tái)Linux機(jī)器當(dāng)router用,那么讀者可以因?yàn)檫@個(gè)選項(xiàng)而獲得許多有關(guān)于網(wǎng)絡(luò)lP控制的信息和它的輸送情形。
#IP:aliasing support------經(jīng)由這個(gè)設(shè)定,您可以擁有數(shù)個(gè)IP地址。假設(shè)您已經(jīng)有一個(gè)lP地址了,您還想再加入其他的IP地址,這時(shí),您可以依下面的程序來(lái)做。
在 shell下鍵入:
#ifconfig eth0:0其他的IP地址(這個(gè)IP地址不能與其他機(jī)器重復(fù))
# route-add-host其他的IP地址 dev eth0:0?
#Probe a11 LUNs on each SCSI device------通常這個(gè)選項(xiàng)大部分的人都不會(huì)選。我們舉個(gè)例子來(lái)說(shuō),如果您的SCSI光驅(qū)是那種多片裝的,就是一臺(tái)光驅(qū),但可以一次放好幾片光盤片的那種。這種我們叫做Lun。?
#Dummy net driver support------如果有SLIP或PPP的傳輸協(xié)議,那么要把這一項(xiàng)打開。因?yàn)橐粊?lái)它不會(huì)讓您的Linux核心增大。二來(lái),對(duì)某些應(yīng)用程序來(lái)說(shuō),它可以讓我們模擬出來(lái)的TCP/IP環(huán)境更像TCP/IP環(huán)境。如果您沒(méi)有SLIP或PPP協(xié)議,就不用打開了。
#EQL(serial line load balancing) support------如果有兩個(gè)MODEM,兩條電話線,而且用SLIP或PPP協(xié)議,可以用這個(gè)Driver以便讓您的MODEM有兩倍的速度。當(dāng)然,在網(wǎng)絡(luò)的另一端也要有同樣的設(shè)備。
#PLIP(parallel port) support------依字面上看,它是一種利用打印機(jī)的接口(平行接口),然后利用點(diǎn)對(duì)點(diǎn)來(lái)模擬TCP/IP的環(huán)境。它和 SLIP/PPP全都屬于點(diǎn)對(duì)點(diǎn)通訊,您可以把兩臺(tái)電腦利用打印機(jī)的連接接口串聯(lián)起來(lái),然后,加入此通訊協(xié)議。如此一來(lái),這兩部電腦就等于一個(gè)小小的網(wǎng)絡(luò)了。不過(guò),如果電腦有提供打印服務(wù)的話,這個(gè)選項(xiàng)最好不要打開,不然可能會(huì)有問(wèn)題(因?yàn)槎际怯闷叫薪涌?#xff09;。
#PPP(point-to-point)support------點(diǎn)對(duì)點(diǎn)協(xié)議,近年來(lái),PPP協(xié)議已經(jīng)慢慢的取代SLIP的規(guī)定了,原因是PPP協(xié)議可以獲取相同的IP地址,而SLIP則一直在改變IP地址,在許多的方面,PPP都勝過(guò)SLIP協(xié)議。
#SLIP(serial line) support------這是MODEM族常用的一種通訊協(xié)議,必須通過(guò)一臺(tái)Server(叫ISP)獲取一個(gè)IP地址,然后利用這個(gè)IP地址,可以模擬以太網(wǎng)絡(luò),使用有關(guān)TCP/IP的程序。
# EISA, VLB, PCI and on board controllers ------選擇網(wǎng)絡(luò)卡,包括直接附在主機(jī)板上的那種。如果選擇y,則底下會(huì)列出其他的網(wǎng)絡(luò)卡讓您做選擇,這些卡對(duì)于一般人來(lái)說(shuō)很少會(huì)去用到。所以大部分的人這項(xiàng)是選N的。?
#Pocket and portable adaptors------通常用在可攜式的電腦上,這類型的網(wǎng)絡(luò)卡(口袋型的),由于體積很小在安裝和取下方面很方便,因此筆記本相關(guān)電腦上便常常采用這種網(wǎng)絡(luò)卡。
#Token Ring driver support------Token Ring是 IBM電腦上的網(wǎng)絡(luò)。它叫令牌環(huán)網(wǎng)絡(luò),和以太網(wǎng)絡(luò)是很類似的東西。如果您希望使用的Token Ring網(wǎng)絡(luò)卡以便連接到這種網(wǎng)絡(luò),那么選Y,一般人都選N。
12. Amateur Radio support 業(yè)余無(wú)線廣播
可以用來(lái)啟動(dòng)無(wú)線網(wǎng)絡(luò)的基本支持,目前的無(wú)線網(wǎng)絡(luò)可以通過(guò)公眾頻率傳輸數(shù)據(jù),如果你有此類設(shè)備就可以啟用,具體請(qǐng)參考AX25和HAM HOWTO 文檔。
#Standard/generic (dumb) serial support-------選擇“y”,內(nèi)核將支持串行口。標(biāo)準(zhǔn)序列接口的選定。如果您是用serial的鼠標(biāo)(大部分的人都是用這個(gè)),或是MODEM的話,則這一項(xiàng)一定要選。大部分的人這一項(xiàng)都選y。
#Support for console on serial port------選擇“y”,內(nèi)核可將一個(gè)串行口用作系統(tǒng)控制臺(tái)。
##I2C support------I2C是Philips極力推動(dòng)的微控制應(yīng)用中使用的低速串行總線協(xié)議。如果你要選擇下面的Video For Linux,該項(xiàng)必選。
#Mice鼠標(biāo)?,F(xiàn)在可以支持總線、串口、PS/2、C&T 82C710 mouse port、PC110 digitizer pad------根據(jù)需要選擇。非串行的鼠標(biāo),支持象PS/2??匆豢茨闶髽?biāo)的鍵。許多雙鍵鼠標(biāo)是PS/2,即使它們的連接看起來(lái)象串行的.。
#Digiboard PC/Xx Support------這是一張叫 Digiboard PC/XX卡的 driver,這種卡上面有很多個(gè) serial port的插槽(一般來(lái)說(shuō)只有兩個(gè)),可以用來(lái)連接很多個(gè)MODEM,在民間的BBS站很常用到,如果您有這樣的東西,您必須選這項(xiàng)為y。有興趣的讀者可以讀讀Documentation/digiboard.txt的內(nèi)容。
#Cyclades async mux support------同上,這也是一種能接很多個(gè)serial port插槽的卡的驅(qū)動(dòng)程序。
#Stallion multlport serial support------同上,這也是其中一種卡。
#SDL RISCom/8 card support------這也是其中的一個(gè)支持muti-serial卡的driver。
#Parallel printer support------有打印機(jī)的或是使用到并行接口的人這一項(xiàng)一定要選。除非是用serial的打印機(jī)。還有如果您有使用PLIP,那么這項(xiàng)也請(qǐng)選上。
#Mouse support------大部分的人這一項(xiàng)并不用選y。因?yàn)榇蟛糠值娜耸怯胹erial的鼠標(biāo),除非有些人是用一種附有接口卡的鼠標(biāo),這時(shí)這個(gè)選項(xiàng)才要選上,如果您選y,則底下會(huì)列出您的BUS鼠標(biāo)所用的接口卡。
#support for user misc device modules------除非您有所謂的觸摸式顯示器或是光筆等東西,否則這一項(xiàng)選n。
#Watchdog Timer support------一般人不需要這個(gè)選項(xiàng),如果您選上這個(gè)選項(xiàng),則您要用mknod在/dev下建一個(gè)watchdog的文件。請(qǐng)看Documentation/watchlog.txt的解釋。
#Enhanced Real Time Clock Support------關(guān)于系統(tǒng)上Clock的東西,您必須自己用mknod在/dev/下建立一個(gè)文件叫rtc。如此一來(lái),在/proc/下將可以看到rtc的信息。有關(guān)于rtc的內(nèi)容請(qǐng)看Documentation/rtc.txt。一般是選n。
#Kernel automounter support------選擇“y”,內(nèi)核將提供對(duì)automounter的支持,使系統(tǒng)在啟動(dòng)時(shí)自動(dòng) mount遠(yuǎn)程文件系統(tǒng)。
#Standard( minix )------新的套件不再建立 minix 文件系統(tǒng),而且很多人不使用它,但是把它配置在核心里仍然是個(gè)好主意。某些″rescue-disk ″ 程序會(huì)用到它,而且仍然有許多磁片可能用 minix 文件系統(tǒng),因?yàn)?minix 文件系統(tǒng)對(duì)于處理磁片方面是最好的。Minix文件系統(tǒng)通常用在磁盤上,有時(shí)會(huì)用到它。
#Extended fs ------ 這是擴(kuò)充文件系統(tǒng)的第一版,現(xiàn)在已經(jīng)不再使用。
#Second extented fs------這是現(xiàn)在新發(fā)行的套件所廣泛采用的文件系統(tǒng),你可能會(huì)有其中一種。這個(gè)是linux文件系統(tǒng),請(qǐng)務(wù)必選y。
#xiafs filesystem-----這個(gè)文件系統(tǒng)曾經(jīng)一度很普遍,但是在寫這份文件時(shí),我已經(jīng)不知道有任何人在使用它了。
#umsdos: UNIX like fs on top of std MSDOS FAT fs ------ 如果把Linux裝進(jìn)DOS的一個(gè)目錄下那么您則要選擇這一項(xiàng)。不建議這樣做,因?yàn)槿绱艘粊?lái),就不能看到長(zhǎng)文件名了。而且效率上,井不是很好。
#ums-dos------相當(dāng) slick 的文件系統(tǒng),它能使 MS-DOS 文件系統(tǒng)擁有更多的特性,像是長(zhǎng)檔名等等。這對(duì)那些不使用 MS-DOS 的人(像我)并不是很有用。
#System V and Coherent------這是為 System V 以及 Coherent 的分割區(qū)而設(shè)的。如果希望支持System V或Xenix的相關(guān)UNIX系統(tǒng)的FS并讀取它們的數(shù)據(jù),那么才有必要選這個(gè),否則一般來(lái)說(shuō)這個(gè)選項(xiàng)是選n的。
#Mandatory lock support------有些很特殊的database應(yīng)用軟件會(huì)用到它,一般人這個(gè)選項(xiàng)是選n。而且,如果選y的話,必須有最新版的NFS軟件,最新版的samba軟件等。
#NCP filesystem support------NCP是一種網(wǎng)絡(luò)的通訊協(xié)議,用在跑IPX協(xié)議上,它可以利用IPX協(xié)議讓兩臺(tái)電腦之間的文件共享,并做溝通。如果您想掛上有關(guān)Novell的Netware文件系統(tǒng),那么這個(gè)選項(xiàng)就選上去吧。
#/dev/dsp and/dev/audio support------ 這個(gè)選項(xiàng)通常是必要的。因此大部分的人選y,如果沒(méi)有這選項(xiàng),則很多的游戲?qū)](méi)有聲音效果。
#MIDI interface support------支持MIDI界面。
#I/O base for SB Check from manual of the card------聲卡的I/O地址。括號(hào)是常用的選項(xiàng)。
#Sound Blaster IRQ Check from manual of the card-----聲卡的IRQ,通常是1或5。
#Sound Blaster DMA 0,1 for 3-----聲卡的DMA,通常是1。
#Sound Blaster 16 bit DMA 5, 6 or 7(usel for 8 bitcards)(SB.DMA2)-----5
##Additional low level drivers------如有其他種類的聲卡,則這項(xiàng)要選上去,以下會(huì)列出其他的聲卡供選擇。
kernel profiling support(v1.3)
這個(gè)選項(xiàng)可以開啟內(nèi)核做效率統(tǒng)計(jì)的功能,并且會(huì)提供其他在為
系統(tǒng)偵錯(cuò)時(shí)有用的信息。這些功能會(huì)需要付出一些代價(jià)并造成系
統(tǒng)執(zhí)行得較為緩慢,除非你正在研究?jī)?nèi)核的某個(gè)問(wèn)題,否則你應(yīng)
該回答N。
21. Kernel hacking安全模式?
通俗的說(shuō),這是windows安全模式,找不到明確解釋,就引用這個(gè)說(shuō)法。>這是從 Linus的README里摘錄的:″kernel hacking ″配置的細(xì)節(jié)通常會(huì)產(chǎn)生一個(gè)更大或是更慢的核心(或者是又大又慢),而且可能因?yàn)閷⒁恍┏J脚渲贸珊芑钴S地去嘗試中斷一些不良的程序碼以便找出核心里的問(wèn)題,而使得核心變得比較不穩(wěn)定。所以要產(chǎn)生一個(gè)核心″產(chǎn)品 ″的話,你在這
#shutdown -r now
不建議使用熱啟動(dòng)或ctrl+Alt+del鍵。在一些情況下,文件系統(tǒng)不完全卸栽會(huì)損壞打開的文件。如果你沒(méi)看見(jiàn)啟動(dòng)提示,你可以試用shift或ctrl鍵,這樣啟動(dòng)提示就出現(xiàn)了。一旦出現(xiàn),按tab看核心標(biāo)簽。輸入標(biāo)簽和可選參數(shù)啟動(dòng)。在機(jī)器重啟后出現(xiàn)LILO時(shí)按TAB鍵,輸入linux2.6.5,新內(nèi)核發(fā)揮作用了。
以太網(wǎng)的默認(rèn)值是PCI的以太網(wǎng)卡,對(duì)ne2000的默認(rèn)支持方式是build-in,即沒(méi)有設(shè)成模塊,所以如果你的網(wǎng)卡是ISA的,那么務(wù)必要選擇其中的other ISA card,最好把PCI intel pro選項(xiàng)去掉,另外把ne2000 support選項(xiàng)改成module。
總結(jié)
以上是生活随笔為你收集整理的linux内核2.6.35编译过程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 2021-01-24
- 下一篇: linux 其他常用命令