---
title: 编译并安装Kernel
description: "1. 编译内核。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/2400/armnative/kunpengcpskbox_20_0149.html
sourcePath: /source/zh/kunpengboostkithistory/2400/armnative/kunpengcpskbox_20_0149.html
indexId: b35e3ae9eebe11fc1c3e49397709133176786ca6c7bef8d19cdc56a638f06bd476
---
# 编译并安装Kernel

1. 编译内核。
  1 2 cd /usr/src/kernels/kernel-5.10.0-136.12.0 make -j64

  若编译过程中存在如下提示信息，则需要确保服务器系统时间为最新时间。 1 make[2]: warning: Clock skew detected. Your build may be incomplete. 执行tzselect命令，根据实际情况依次输入以下选项对应时区的数字，例如：Asia->Beijing->YES，执行完成后拷贝文件到“/etc/localtime”。 1 2 tzselect cp -f /usr/share/zoneinfo/Asia/Beijing /etc/localtime

2. 检查内核是否编译成功。
  可查看编译路径下是否生成vmlinux文件，有vmlinux文件生成，说明编译执行成功，再继续执行后续步骤；如未生成vmlinux文件，请检查编译是否报错并解决后重新执行1。

  1 ll vmlinux*

  回显如下三个文件时，表示编译成功。

  1 2 3 -rwxr-xr-x 1 root root 363795992 Nov 17 20:00 vmlinux* -rw-r--r-- 1 root root 892957960 Nov 17 20:00 vmlinux.o -rw-r--r-- 1 root root 613485 Nov 17 20:00 vmlinux.symvers

3. 安装内核模块。
  1 make modules_install

4. 安装内核。
  1 make install

  在安装内核前，请确保系统中没有安装dkms，否则可能会导致安装内核时出现报错信息：”Error! Bad return status for module build on kernel: ...”，解决方法如下： 查看系统中是否已安装dkms。 yum list installed | grep dkms 若该指令执行后出现回显，则表明已安装dkms。 删除dkms。 1 yum remove -y dkms 重新安装内核。 1 make install 在安装内核时，可能出现以下报错信息，此时需要重新执行make install以解决该问题。 1 2 dracut-install: Failed to find module 'uds' /lib/modules/5.10.0/kernel/drivers/block/uds.ko dracut-install: Failed to find module 'kvdo' /lib/modules/5.10.0/kernel/drivers/block/kvdo.ko

5. 更新启动项。
  1 grub2-mkconfig -o /boot/efi/EFI/openEuler/grub.cfg

  openEuler 22.03 LTS SP1操作系统和5.10.0-136.12.0版本内核，需设置内核启动项为：openEuler (5.10.0) 22.03 (LTS-SP1)。 openEuler 22.03 LTS SP3操作系统和5.10.0-182.0.0版本内核，需设置内核启动项为：openEuler (5.10.0) 22.03 (LTS-SP3)。

  设置启动内核，例如设置为：openEuler (5.10.0) 22.03 (LTS-SP1)。

  1 grub2-set-default 'openEuler (5.10.0) 22.03 (LTS-SP1)'

  重启操作系统，新内核即可生效。

  1 reboot

6. 使用如下命令检查新内核版本，如果版本号仅显示5.10.0，则说明启动内核正确。
  1 uname -r

  如果重启后未能进入新编译的内核，请在BIOS进入grub启动后选择新编译的内核进入系统，或者联系技术支持工程师协助解决。
