ubuntu 升級內核

首先是準備條件:

①、有一臺裝有ubuntu的機器

②、先移步到http://www.kernel.org/下載linux穩定版內核

③、擁有root權限

④、並將下載好的內核解壓到/usr/src下

好,如今一切都準備好了,接下來就開始配置,編譯,安裝新內核吧!

1, 進入剛纔的文件夾 /usr/src/linux-須要升級的內核,輸入命令:

$ make mrproper

該命令的功能在於清除當前目錄下殘留的.config和.o文件,這些文件通常是之前編譯時未清理而殘留的。而對於第一次編譯的代碼來講,不存在這些殘留文件,因此能夠略過此步,可是若是該源代碼之前被編譯過,那麼強烈建議執行此命令,不然後面可能會出現未知的問題。 

2, 配置編譯選項

做爲操做系統的內核,其內容和功能必然很是繁雜,包括處理器調度,內存管理,文件系統管理,進程通信以及設備管理等等,而對於不一樣的硬件,其配置選項也不相同,因此在編譯源代碼以前必須設置編譯選項。其實我以爲這一步是升級內核整個過程當中最有技術含量的,由於要根據本身的須要正確選擇yes or no須要對計算機方方面面的知識都有所瞭解。可是這裏的選項實在是太多了,大概有幾百項之多,我之前曾嘗試着一項一項的選,可是最後仍是放棄了,由於有不少選項不是很明白。

既然這樣,難道沒有什麼簡便的方法麼? 固然有!那就是make menuconfig 或者make xconfig。我使用的是make menuconfig,可是前提條件是要裝ncurses。

ncurses 到http://ftp.gnu.org/pub/gnu/ncurses/下載,能夠放到任何目錄進行安裝:

tar zxvf ncurses<version>.tar.gz #解壓縮而且釋放 文件包

cd ncurses<version> #進入解壓縮的目錄(注意版本)
./configure #按照你的系統環境製做安裝配置文件
make #編譯源代碼而且編譯NCURSES庫
su root #切換到root用戶環境
make install #安裝編譯好的NCURSES庫

另外,在make menuconfig過程當中也會有一些選項須要你來設置*, y, n 或者m,選擇*表示選項中的內容被直接編入內核中,選擇m表示選項中的內容不編入內核,而只是編成獨立的module,用到時才調用。

ok, 在當前文件路徑下,輸入命令:

make menuconfig(或者用 make xconfig,我沒有啓用成功)

根據菜單提示,選擇編譯配置選項,並保存配置文件爲.config(也能夠直接複製現有的.config文件,我是這樣作的!!!)

3,肯定依賴性 

根據以往的經驗,這一步是必須的,可是此次編譯的時候,系統提醒我沒必需要執行這個命令:

make dep

若是用現有的.config文件,這裏會有不少內核新增長的驅動和功能讓你確認是否編入內核中,這個你就本身看着輸入y/n/m/?吧!

4,清除編譯中間文件

輸入命令:make clean

5,生成新內核(這是我用的時間07:38-07:57,19分鐘。這裏時間的長短都取決於你機器的性能)

就是把配置過程當中,咱們選中編入內核中的程序編譯連接生產linux內核,輸入命令:

make bzImage

6,生成modules(這是我用的時間07:58-09:28)

和上步差很少,就是把配置過程當中,咱們選中編成modules的程序編譯連接成modules,輸入命令:

make modules

7,安裝modules

就是把剛纔編譯生產的modules拷到系統文件夾下,以供新內核調用。輸入命令:

make modules_install

一切都自動作好了。

8,創建要載入ramdisk的映像文件

若是linux系統安裝在scsi磁盤上,這步是必須的,不然能夠跳過。個人linux是裝在vmware上的,用的是虛擬的scsi磁盤,因此必須 要這一步。輸入命令:

mkinitramfs -o /boot/initrd-linux3.3.4.img 3.3.4

若是你的linux不是ubuntu,而是其餘的發行版本,那麼使用的命令可能不是mkinitramfs,而是mkinitrd,但功能和用法相似。

9,按裝內核

輸入命令:make install

此時系統會把linux內核的鏡像文件還有System.map考入到/boot下,而後會自動生成引導菜單。linux

相關文章
相關標籤/搜索