前言
linux核心是linux操作2347系統的核心,也是整個linux功能體現的核心,就如同發動機在汽車中的重要性。核心主要功能包括程序管理、記憶體管理、檔案管理、裝置管理、網路管理等。linux核心是單核心設計,但卻採用了微核心的模組化設計,支援核心執行緒以及動態裝載核心模組的能力。
linux作為乙個自由軟體,在廣大愛好者的支援下,核心版本不斷更新。新的核心修訂了舊核心的bug,並增加了許多新的特性。如果使用者想要使用這些新特性,或想根據自己的系統定製乙個更高效、更穩定的核心,就需要手動編譯linux核心。那麼如何編譯核心呢?本文將講解linux核心編譯的詳細程。
核心獲取
解壓原始碼包
編譯核心時,一般把原始碼解壓到/usr/src目錄下,解壓完成後會在該目錄下生成乙個與原始碼包版本號一致的目錄,為了方便起見,我們可將它做乙個鏈結,鏈結為linux目錄。
配置核心
編譯核心首先需要安裝開發環境(development tools和server platform development),配置核心之前可以檢視當前系統的裝置資訊,了解系統詳細配置。
檢視主機資訊:
檢視cpu:
cat /proc/cpuinfo
x86info #此工具需手動安裝
lscpu
檢視pci:
lspci #可用選項-v檢視詳細資訊
檢視usb:
lsusb #可用選項-v檢視詳細資訊
檢視塊裝置:
lsblk
配置核心可選用多種方法
make config #遍歷選擇編譯核心功能
make allyesconfig #啟用核心全部功能
make allnoconfig #核心功能選項全部為否
make menuconfig #開啟文字選單選項,對視窗有限制,盡量調大視窗,否則會出錯
#使用此命令需安裝gcc和ncurses-devel
make gconfig #依賴gnome桌面環境及gnome的圖形開發環境,gtk2
make kconfig #依賴kde桌面環境及kde的圖形開發環境,qt
核心功能選項
[*] #編譯進核心本體
[m] #編譯成核心模組
[ ] #不選擇使用
使用make menuconfig開啟選單選項,手動選擇核心功能
配置完成後,配置資訊會儲存於名為.config的隱藏檔案,如果想方便配置,可複製/boot/config檔案覆蓋.config檔案,直接修改即可。
編譯安裝
編譯時如果是遠端連線,一旦斷開連線,編譯就會出問題。所以我們可使用screen命令(需安裝),啟動多個視窗,即使連線中斷,編譯也不會終止。
screen #開啟視窗
ctrl+a+d #隱藏視窗
screen -ls #檢視執行的視窗
screen -r screen_id #返回視窗
開始編譯
安裝模組
安裝完成後在/lib/modules/目錄下會生成乙個同核心版本好的目錄,目錄下便是新核心的模組了
安裝核心
安裝完成後會在/boot目錄下生成幾個新核心的檔案
檢視grub.conf配置檔案,會發現新核心的資訊已經寫入了
以新核心啟動
檢視新核心版本
uname -r
補充:
如果前面多次編譯過,在編譯開始之前可進行清理
make clean #清理編譯的檔案,但保留配置檔案
make mrproper #移除所有編譯生成的檔案、配置檔案和備份檔案
make distclean #完全清理
如果想快速編譯,可進行如下操作
make -j * #*為cup核心數
如果想將編譯生成的檔案儲存至別處,可進行如下操作
mkdir /path/to/somewhere #建立存放目錄
cd /path/to/somewhere #進入目錄
./configure --ksource=/usr/src/linux #指定源目錄
如何只編譯核心的部分**cd /usr/src/linux
make path/to/dir/
只編譯部分模組:
make m=path/to/dir
只編譯乙個模組:
make path/to/dir/mod_name.ko
將編譯生成的檔案儲存至別處:
make o=/path/to/somewhere
來自為知筆記(wiz)
suse 核心編譯安裝 Linux核心編譯與安裝
操作環境 rhel 5.1 一 準備工作 2 解壓縮核心檔案,進入解壓後核心源 目錄,切換至root使用者 tar xzvf linux 2.6.39.4.tar.bz2 cd mnt hgfs linux 2.6.39.4 su root 二 核心編譯 make distclean 4 核心配置 ...
Linux核心編譯與安裝
操作環境 rhel 5.1 一 準備工作 1 獲取核心 2 解壓縮核心檔案,進入解壓後核心源 目錄,切換至root使用者 tar xzvf linux 2.6.39.4.tar.bz2 cd mnt hgfs linux 2.6.39.4 su root 二 核心編譯 make distclean ...
Linux核心編譯與安裝
操作環境 rhel 5.1 一 準備工作 1 獲取核心 2 解壓縮核心檔案,進入解壓後核心源 目錄,切換至root使用者 tar xzvf linux 2.6.39.4.tar.bz2 cd mnt hgfs linux 2.6.39.4 su root 二 核心編譯 make distclean ...