前言
linux核心是linux作業系統的核心,也是整個linux功能體現的核心,就如同發動機在汽車中的重要性。核心主要功能包括程序管理、記憶體管理、檔案管理、裝置管理、網路管理等。linux核心是單核心設計,但卻採用了微核心的模組化設計,支援核心執行緒以及動態裝載核心模組的能力。
linux作為乙個自由軟體,在廣大愛好者的支援下,核心版本不斷更新。新的核心修訂了舊核心的bug,並增加了許多新的特性。如果使用者想要使用這些新特性,或想根據自己的系統定製乙個更高效、更穩定的核心,就需要手動編譯linux核心。那麼如何編譯核心呢?本文將講解linux核心編譯的詳細程。
核心編譯之核心獲取
核心編譯之解壓原始碼包
編譯核心時,一般把原始碼解壓到/usr/src目錄下,解壓完成後會在該目錄下生成乙個與原始碼包版本號一致的目錄,為了方便起見,我們可將它做乙個鏈結,鏈結為linux目錄。
核心編譯之配置核心
編譯核心首先需要安裝開發環境(development tools和server platform development),配置核心之前可以檢視當前系統的裝置資訊,了解系統詳細配置。
12345678910
檢視cpu資訊:``cat
/proc/cpuinfo``x86info
#此工具需手動安裝``lscpu``檢視pci:``lspci
#可用選項-v檢視詳細資訊``檢視usb:``lsusb
#可用選項-v檢視詳細資訊``檢視塊裝置:``lsblk
配置核心可選用多種方法
1234567
make
config
#遍歷選擇編譯核心功能``make
allyesconfig
#啟用核心全部功能``make
allnoconfig
#核心功能選項全部為否``make
menuconfig
#開啟文字選單選項,對視窗有限制,盡量調大視窗,否則會出錯``
#使用此命令需安裝gcc和ncurses-devel``make
gconfig
#依賴gnome桌面環境及gnome的圖形開發環境,gtk2``make
kconfig
#依賴kde桌面環境及kde的圖形開發環境,qt
核心功能選項
123[*]
#編譯進核心本體``[m]
#編譯成核心模組``[ ]
#不選擇使用
使用make menuconfig開啟選單選項,手動選擇核心功能
配置完成後,配置資訊會儲存於名為.config的隱藏檔案,如果想方便配置,可複製/boot/config檔案覆蓋.config檔案,直接修改即可。
核心編譯之編譯安裝
編譯時如果是遠端連線,一旦斷開連線,編譯就會出問題。所以我們可使用screen命令(需安裝),啟動多個視窗,即使連線中斷,編譯也不會終止。
1234
screen
#開啟視窗``ctrl+a+d
#隱藏視窗``screen
-
ls
#檢視執行的視窗``screen
-r screen_id
#返回視窗
開始編譯
安裝模組
安裝完成後在/lib/modules/目錄下會生成乙個同核心版本好的目錄,目錄下便是新核心的模組了
安裝核心
安裝完成後會在/boot目錄下生成幾個新核心的檔案
檢視grub.conf配置檔案,會發現新核心的資訊已經寫入了
以新核心啟動
檢視新核心版本
補充:如果前面多次編譯過,在編譯開始之前可進行清理
123make
clean
#清理編譯的檔案,但保留配置檔案``
make
mrproper
#移除所有編譯生成的檔案、配置檔案和備份檔案``
make
distclean
#完全清理
如果想快速編譯,可進行如下操作
1make
-j *
#*為cup核心數
如果想將編譯生成的檔案儲存至別處,可進行如下操作
123mkdir
/path/to/somewhere
#建立存放目錄``cd
/path/to/somewhere
#進入目錄``.
/configure
--ksource=
/usr/src/linux
#指定源目錄
如何只編譯核心的部分**
123456789/usr/src/linux``make
path
/to/dir/``只編譯部分模組:``make
m=path
/to/dir``只編譯乙個模組:``make
path
/to/dir/mod_name
.ko``將編譯生成的檔案儲存至別處:``make
o=
/path/to/somewhere
the end
好了,核心編譯的過程就是這樣了,其中麻煩的地方除了需要消耗大量時間,也就是配置核心選單了(英文傷不起...),想詳細了解每個專案的意思請自行查資料。
以上僅為個人總結,如有錯漏,大神勿噴~
編譯 linux 核心
一 準備工作 tpv te0 首先說明,下面帶 號的行都是要輸入的命令列,且本文提到的所有命令列都在終端裡輸入。ixpub技術部落格 rc0p a6zx j 啟動linux系統,並用根使用者登入,進入終端模式下。6i sb w,a0 ixpub技術部落格c gng,y y ixpub技術部落格 k,...
linux編譯核心
red hat linux版本的核心編譯 make j2 編譯 make modules make modules install make install cd boot mkinitramfs o initrd.img 2.6.30.10 2.6.30.10 此項可能不需要 vim boot g...
Linux核心編譯
經過幾天的努力,本人終於把乙個核心編譯成功了,嘿嘿,現在把編譯過程記下來,以後再接再勵,注意 以下的操作都要有root許可權。linux 2.6.36.tar.bz2。2 解壓縮。cd usr src tar xvf home ibm linux 2.6.36.tar.bz2.usr src下就會多...