linux核心編譯

2021-10-18 02:35:36 字數 3538 閱讀 4316

前言

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

makeconfig#遍歷選擇編譯核心功能``makeallyesconfig#啟用核心全部功能``makeallnoconfig#核心功能選項全部為否``makemenuconfig#開啟文字選單選項,對視窗有限制,盡量調大視窗,否則會出錯``#使用此命令需安裝gcc和ncurses-devel``makegconfig#依賴gnome桌面環境及gnome的圖形開發環境,gtk2``makekconfig#依賴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配置檔案,會發現新核心的資訊已經寫入了

以新核心啟動

檢視新核心版本

補充:如果前面多次編譯過,在編譯開始之前可進行清理

123makeclean#清理編譯的檔案,但保留配置檔案``makemrproper#移除所有編譯生成的檔案、配置檔案和備份檔案``makedistclean#完全清理

如果想快速編譯,可進行如下操作

1make-j *#*為cup核心數

如果想將編譯生成的檔案儲存至別處,可進行如下操作

123mkdir/path/to/somewhere#建立存放目錄``cd/path/to/somewhere#進入目錄``./configure--ksource=/usr/src/linux#指定源目錄

如何只編譯核心的部分**

123456789/usr/src/linux``makepath/to/dir/``只編譯部分模組:``makem=path/to/dir``只編譯乙個模組:``makepath/to/dir/mod_name.ko``將編譯生成的檔案儲存至別處:``makeo=/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下就會多...