Linux核心的編譯安裝

2022-03-22 16:45:52 字數 3200 閱讀 3524

前言

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 ...