升级与编译内核
新的內核,對舊的內核來,所帶來的不僅僅只是新的功能。而且還能做到:
一、修訂舊內核中的Bug,增加許多的特性。
二、新的內核更加高效、更加穩定、速度更快。
三、新的內核會支持更多的硬件。
那么升級和編譯內核所要做的幾步是:
一、下載新的內核資源。
二、解壓并進入到內核代碼目錄中,所要做的是:
[root@sunky/]# tar zxvf linux*.tar.gz
[root@sunky/]#cd linux*
[root@sunky/]#make mrproper(確保代碼目錄下沒有不正確的.o文件以及文件的互相依賴)
確保/usr/include目錄下的asm、linux和scsi等鏈接是指向要升級的內核目錄源代碼的,如果沒有這些鏈接,就需要手工創建:
[root@sunky/]#cd /usr/include
[root@sunky/]#rm -r asm linux scsi
[root@sunky/]#ln -s /usr/linux/include/asm-i386 asm
[root@sunky/]#ln -s /usr/linux/include/linux linux
[root@sunky/]#ln -s /usr/scr/linux/include/scsi scsi
三、使用下面的命令配置內核:
[root@sunky/]#make menuconfig
四、配置好內核后,后面的工作是編譯,與編譯有關的命令是:
[root@sunky/]#make dep(在2.6內核中,不用執行這一步)
[root@sunky/]#make clean
[root@sunky/]#make zImage(這個命令與下面一個命令是相同的,在編譯時,用一個就可以了,它們的區別是,make zImage可以生成大一點的內核。)
[root@sunky/]#make bzImage
[root@sunky/]#make modules
[root@sunky/]#make modules_install
[root@sunky/]#depmod -a
五、更新內核,到現在為止,已經得到了新的內核,為了使用新的內核,還需要做以下的改動。
[root@sunky/]#cp /usr/src/linux/System.map /boot/System.map-2.6.11
[root@sunky/]#cp /usr/src/linux/arch/i386/bzImage /boot/vmlinuz-2.6.11
以上這二個文件是剛才編譯時新生成的,下面修改/boot下面的二個鏈接System.map和vmlinv,使其指向新內核的文件:
[root@sunky/]#cd /boot;rm -f System.map vmlinuz
[root@sunky/]#ln -s vmlinuz-2.6.00 vmlinuz
[root@sunky/]#ln -s System.map-2.6.11 System.map
這就完成了內核的升級與編譯。我所寫的知識來源于《Linux應用開發技術詳解》,是由人民郵電出版社出版的。
總結
- 上一篇: VM上安装Linux找不到硬盘
- 下一篇: 51系列中data,idata,xdat