內核源碼編譯 安裝


 查詢當前內核的版本號和OS 鏡像來源

[root@localhost ~]# uname -a

Linux localhost.localdomain 4.14.0-115.el7a.0.1.aarch64 #1 SMP Sun Nov 25 20:54:21 UTC 2018 aarch64 aarch64 aarch64 GNU/Linux

[root@localhost ~]# cat /etc/os-release

NAME="CentOS Linux"

VERSION="7 (AltArch)"

ID="centos"

ID_LIKE="rhel fedora"

VERSION_ID="7"

PRETTY_NAME="CentOS Linux 7 (AltArch)"

ANSI_COLOR="0;31"

CPE_NAME="cpe:/o:centos:centos:7"

HOME_URL="https://www.centos.org/"

BUG_REPORT_URL="https://bugs.centos.org/"

 

CENTOS_MANTISBT_PROJECT="CentOS-7"

CENTOS_MANTISBT_PROJECT_VERSION="7"

REDHAT_SUPPORT_PRODUCT="centos"

REDHAT_SUPPORT_PRODUCT_VERSION="7"

 

當前操作系統發行廠商為:CentOS-7。內核版本號: 4.14.0-115.el7a.0.1

 

2. 從官方

http://vault.centos.org/7.6.1810/os/Source/SPackages/ 下載部分源碼rpm 包kernel-alt-4.14.0-115.el7a.0.1.src.rpm

 

3. 編譯內核之前,必須安裝編譯內核基本工具鏈。

筆者碰到問題:

error: Failed build dependencies:

        xmlto is needed by kernel-alt-4.14.0-115.el7.0.1.aarch64

        asciidoc is needed by kernel-alt-4.14.0-115.el7.0.1.aarch64

        newt-devel is needed by kernel-alt-4.14.0-115.el7.0.1.aarch64

        pciutils-devel is needed by kernel-alt-4.14.0-115.el7.0.1.aarch64

 

使用命令解決筆者的問題:

yum install –y xmlto  asciidoc newt-devel pciutils-devel

 

通常要求的工具鏈:

sudo yum install rpm-build redhat-rpm-config asciidoc hmaccalc perl-ExtUtils-Embed pesign xmlto

sudo yum install audit-libs-devel binutils-devel elfutils-devel elfutils-libelf-devel

sudo yum install ncurses-devel newt-devel numactl-devel pciutils-devel python-devel zlib-devel

 

4. 編譯之前確保mockbuild用戶和mockbuild所屬的組有效。

 

groupadd mockbuild

useradd mockbuild -g mockbuild

 

5. 安裝rpm 包。此rpm 包實際為rpmbuild 構建工程

rpm -ivh kernel-alt-4.14.0-115.el7a.0.1.src.rpm

 

安裝完成,rpm構建工程自動部署在

/root/rpmbuild/SPECS

/root/rpmbuild/SOURCES

 

6.rpmbuild 構建,會自動下載全量內核代碼(包括補丁合入)

cd /root/rpmbuild/SPECS

rpmbuild -bp --target=$(uname -m) kernel-alt.spec

 

7. 構建完成后,可以獲取到全量內核源碼,路徑為:

cd  /root/rpmbuild/BUILD/kernel-alt-4.14.0-115.el7a/linux-4.14.0-115.el7.0.1.aarch64

 

8.內核編譯

make -j 64

 

9. 此項可選:驅動安裝

make modules_install

 

10. 此項可選:內核安裝:

make install

 

11.此項可選: 重啟,選擇對應的內核


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM