内核源码编译 安装

 查询当前内核的版本号和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.此项可选: 重启,选择对应的内核

posted @ 2019-12-12 16:11  Gefish  阅读(1470)  评论(0编辑  收藏  举报