閱讀730 返回首頁    go 京東網上商城


編譯、裁剪、安裝、刪除 Ubuntu內核和模塊管理

一、下載最新內核文件
地址:https://www.kernel.org,一般下載Full Source版本。
下載完畢後,放到任意文件夾中,使用命令:

tar jxvf linux-x.x.x.tar.bz2     //版本號自行填寫

二、安裝必要的編譯工具

sudo apt-get install build-essential kernel-package libncurses5-dev

三、裁剪內核的方法
目前有三種流行的配置方式:
  1. make menuconfig:文本界麵,配置高效
  2. make xconfig:Qt編寫,GUI配置,建議初學者使用
  3. make oldconfig:互動性的腳本,用當前內核的配置作為配置標準,重新編譯新內核,使用與隻是為了升級的選擇
四、編譯內核最簡單方法
編譯內核最快的方法就是用當前內核設置標準來編譯最新版本的內核,具體操作如下:

cd linux內核解壓目錄

sudo make oldconfig

sudo make-kpkg clean

sudo make-kpkg -initrd --initrd --append-to-version=xxx kernel_image kernel-headers

//xxx用自己喜歡的名字

注意:如果不是第一次編譯Linux內核,一定執行清理命令,對源代碼目錄進行徹底清理,否則編譯會出現問題。

sudo make mrproper

這種方法最適合用於更新內核係統版本
五、編譯和裁剪內核
進入係統內核文件夾,輸入如下命令以文本方式裁剪和配置內核。

sudo make menuconfig

每個選項前麵又[],空的選項表示不選擇[N],有的選項表示要編譯進內核[Y],有M標誌的表示編譯成動態的模塊(M)。
桌麵應用環境的內核配置過程為:
  1. 常規設置
  2. 模塊支持
  3. 計算機硬件支持
服務器的內核配置過程主要對內核進行性能優化。

1.定製內核參數:
桌麵應用環境的內核配置過程:
A.常規設置(General setup)
Prompt for development and/or incomplete code/drivers:選中用於支持新的硬件
POSIX Message  Queues 和 Kenel->user space:多數用戶用不到
裁剪Ubuntu內核和模塊管理 - conanswp - 不混出個人樣來,你對得起誰?
 
B.模塊支持(Enable loadable module support)
模塊的設計可以實現內核在運行時的功能擴展,linux的內核其實就是Kernel加模塊,這樣的好處就是減小內核體積並提高了Linux內核的靈活性。配置工具中凡是可以選擇成圓點的項目,就可以被編譯成模塊;如果可以選擇成對對勾,則是編譯進內核。
裁剪Ubuntu內核和模塊管理 - conanswp - 不混出個人樣來,你對得起誰?
 
C.對硬件設備的支持
在終端中安裝Hardinfo或者lshw,可以徹底了解硬件。

sudo apt-get install hard info

安裝完成後終端輸入:

hardinfo

啟動軟件檢測計算機硬件

 D.文件係統支持
定製LInux支持的文件係統,通常又fat,ext2/3/4,ntfs等。

2.編譯和安裝內核
A.編譯內核

sudo make-kpkg clean

sudo make-kpkg -initrd --initrd --append-to-version=xxx kernel_image kernel-headers

//xxx可以用自己使用的字符替換,不能大寫

B.安裝裁剪好的內核
編譯好的內核在內核文件的上一層目錄,包括linux-headers....和linux-image...兩個文件。
安裝操作如下:

cd..

sudo dpkg -i linux-image....deb

//桌麵用戶隻需安裝這個image文件即可

具體的卸載方法為:

uname -a  #使用這個命令可以查看當前係統使用的內核。
dpkg --get-selections|grep linux #列出當前內核。

sudo apt-get remove linux-image-2.6.15-23-386
這樣就可以實現自動刪除內核文件了,還可以釋放磁盤空間。
另外還要記錄一個命令。
uname -a
使用這個命令可以查看當前係統使用的內核。

最後更新:2017-04-03 16:48:40

  上一篇:go 裁剪Ubuntu內核和模塊管理2
  下一篇:go ubuntu下動態鏈接庫的編譯和使用實例