詳解Debian系統(tǒng)中安裝Linux新內(nèi)核的流程

一直對(duì)Linux內(nèi)核很有興趣,但苦于入門不易,認(rèn)真看了ldd前5章突然就來感覺了,光看不練不頂用,首先就需要環(huán)境搭建。
使用的是Debian 5.0,內(nèi)核2.6.26,欲安裝的新內(nèi)核為2.6.28,這里有一點(diǎn)需要注意,安裝的內(nèi)核版本最好要大于使用編譯的版本,不然gcc等有些會(huì)報(bào)錯(cuò)。
下載https://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.28.tar.bz2,解壓到任意目錄,不需要一定要在/usr/src目錄下。
由于我只需要一個(gè)內(nèi)核源碼樹,所以生成配置文件使用簡(jiǎn)單的make oldconfig
1.生成config文件
make oldconfig
make oldconfig會(huì)以你已有的配置文件進(jìn)行增量提示,這里最后都采用系統(tǒng)默認(rèn)值,也就是一路“回車”,不然可能導(dǎo)致有些模塊依賴關(guān)系,導(dǎo)致編譯失敗。
2.生成內(nèi)核壓縮鏡像
make bzImage
這會(huì)在你對(duì)應(yīng)平臺(tái)的boot目錄下生成bzImage,如我的linux-2.6.28/arch/x86/boot/bzImage
3.編譯模塊
make modules
這步是很花時(shí)間的,慢慢等待
4.安裝內(nèi)核模塊
make modules_install
這會(huì)在你的/lib/modules/目錄下創(chuàng)建對(duì)應(yīng)的內(nèi)核版本模塊
5.安裝內(nèi)核
make install
這會(huì)把我們編譯的內(nèi)核安裝到/boot目錄下
6.創(chuàng)建initramfs文件
update-initramfs -c -k 2.6.28
c代表創(chuàng)建一個(gè)新的initramfs,k指定內(nèi)核版本
7.更新grub
update-grub
如果不行還可以手動(dòng)通過修復(fù)/boot/grub/menu.lst,可以參考之前的配置文件,只需要增加"title","root","kernel","initrd"字段就可以了。注意:update-grub新加的內(nèi)核版本將出現(xiàn)在老版本的前面。
8.reboot,enjoy it。
相關(guān)文章
Linux系統(tǒng)中查詢發(fā)型版本號(hào)以及內(nèi)核版本的命令總結(jié)
這篇文章主要介紹了Linux系統(tǒng)中查詢發(fā)型版本號(hào)以及內(nèi)核版本的命令總結(jié),文中羅列了Ubuntu、CentOS以及Debian等常用的發(fā)行版的查詢示例,需要的朋友可以參考下2015-12-28深入解析Linux內(nèi)核及其相關(guān)架構(gòu)的依賴關(guān)系
這篇文章主要介紹了Linux內(nèi)核及其相關(guān)架構(gòu)的依賴關(guān)系,分析了kernel和模塊之間的調(diào)用等內(nèi)容,需要的朋友可以參考下2015-12-10- 內(nèi)核編程常常看起來像是黑魔法,而在亞瑟 C 克拉克的眼中,它八成就是了。Linux內(nèi)核和它的用戶空間是大不相同的:拋開漫不經(jīng)心,你必須小心翼翼,因?yàn)槟憔幊讨械囊粋€(gè)bug就2015-11-02
linux系統(tǒng)不同對(duì)象升級(jí)方法詳細(xì)介紹
在Linux環(huán)境下,升級(jí)的對(duì)象可以是一般的軟件,可以是編譯器,也可以是系統(tǒng)的內(nèi)核,甚至是系統(tǒng)本身。下文就分別講講對(duì)不同對(duì)象的升級(jí)方法,需要的朋友可以參考一下2015-10-22詳解Linux系統(tǒng)中的內(nèi)核搶占機(jī)制
這篇文章主要介紹了Linux系統(tǒng)中的內(nèi)核搶占機(jī)制,包括內(nèi)核搶占的時(shí)機(jī)和如何避免內(nèi)核搶占等方面的問題,需要的朋友可以參考下2015-10-08獲知Linux的進(jìn)程運(yùn)行在哪個(gè)CPU內(nèi)核上的方法
這篇文章主要介紹了獲知Linux的進(jìn)程運(yùn)行在哪個(gè)CPU內(nèi)核上的方法,在服務(wù)器維護(hù)方面有時(shí)候會(huì)用得到,需要的朋友可以參考下2015-10-07在Ubuntu系統(tǒng)下刪除無用的Linux內(nèi)核的方法
這篇文章主要介紹了在Ubuntu系統(tǒng)下刪除無用的Linux內(nèi)核的方法,畢竟Linux更新內(nèi)核以后沒有CCleaner這樣的工具來清理,需要的朋友可以參考下2015-09-24Ubuntu系統(tǒng)中升級(jí)Linux內(nèi)核的一般步驟
這篇文章主要介紹了Ubuntu系統(tǒng)中升級(jí)Linux內(nèi)核的一般步驟,文中以4.2內(nèi)核的更新作為示例,需要的朋友可以參考下2015-09-14Linux系統(tǒng)中一些內(nèi)核管理命令總結(jié)
這篇文章主要介紹了Linux系統(tǒng)中一些內(nèi)核管理命令,主要為lsmod和modinfo以及modprobe相關(guān)的一些命令,需要的朋友可以參考下2015-07-07命令行查看Linux的系統(tǒng)版本和內(nèi)核版本以及機(jī)器字長(zhǎng)
這篇文章主要介紹了命令行查看Linux的系統(tǒng)版本和內(nèi)核版本以及機(jī)器字長(zhǎng),是一些Linux入門學(xué)習(xí)中的基礎(chǔ)命令,需要的朋友可以參考下2015-07-07