编译并安装Kernel
- 编译内核。
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
- 检查内核是否编译成功。
可查看编译路径下是否生成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
- 安装内核模块。
1
make modules_install
- 安装内核。
1
make install
执行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
- 更新启动项。
1
grub2-mkconfig -o /boot/efi/EFI/openEuler/grub.cfg
设置启动内核为:openEuler (5.10.0) 22.03 (LTS-SP1)。
1
grub2-set-default 'openEuler (5.10.0) 22.03 (LTS-SP1)'
重启操作系统,新内核即可生效。
1
reboot
- 使用如下命令检查新内核版本,如果版本号仅显示5.10.0,则说明启动内核正确。
uname -r
如果重启后未能进入新编译的内核,请在BIOS进入grub启动后选择新编译的内核进入系统,或者联系技术支持工程师协助解决。
父主题: 编译及安装内核