昨天,經過多次摸索和失敗,終於把Linux內核配置、編譯、更換的流程掌握熟練了。
我的系統是Ubuntu12.04LTS,這次新版本的Ubuntu采用了grub2的啟動方式,在最后更換內核的方式與老版的以及網上很多講的方式有所區別,而且區別比較大,作為資深菜鳥,還是提醒一下,如果你的Linux並不是grub2的啟動方式,請自行去博客園查找其他方法使你編譯好的內核生效。
廢話不多說,開始。一下操作都是root權限,進入root用戶或者是用sudo方式。
1、下載內核,網址:http://www.kernel.org/。建議下載stable的3.4.5,如果你是大神,下載不穩定樹的吧,還可以給Linux內核更新做貢獻。
2、用sudo命令將新內核拷貝到/usr/src目錄下。特別說明:我用的內核是3.4.5的,在一下的說明中出現的linux3.4.5都是我的內核文件,這個要以自己的為准。命令如下
//cp /"yourpath"/"kernel filename" /usr/src
3、解壓縮 //cd /usr/src
//bzip2 -d linux-3.4.5.tar.bz2
//tar -xvf linux-3.4.5.tar
說明:在這里如果你下載的包是tar包,那直接解壓縮就可以,如果是bz2的包就是以上兩條命令。
4、(如果你是第一次編譯內核可以跳過不做)刪除當前內核版本的鏈接,目錄在/usr/src/linux下
//rm -f linux
然后目錄移動到/usr/include
//rm -f asm-generic linux scsi
5、建立鏈接到要編譯內核的鏈接。
# ln -s /usr/src/linux/include/asm-generic asm-generic
# ln -s /usr/src/linux/include/linux linux
# ln -s /usr/src/linux/include/scsi scsi
6、配置要編譯的內核(具體每個配置選項的意義可以在別的地方查找,也許以后我會再寫一篇專門的文章)
#make config(基於文本的最為傳統的配置界面,不推薦使用)
#make menuconfig(基於文本選單的配置界面,字符終端下推薦使用)
#make xconfig(基於圖形窗口模式的配置界面,Xwindow下推薦使用)
#make oldconfig(如果只想在原來內核配置的基礎上修改一些小地方,會省去不少麻煩)
7、(如果你是第一次跳過)清除上一次編譯留下的垃圾。
#make dep
#make clean
8、編譯新的內核:
#make bzImage
#make modules
#make modules_install
9、安裝新的內核,在這一步里如果不是grub2啟動方式的話需要做比較多的工作,可以死自己在博客園中查找博文,比較多的。而grub2方式啟動的Linux只需要一條命令:
#make install
好了,到這里新的內核就被安裝上了。重啟即可看到新的內核。
by Air_Fighter
2012.7.19