openeuler linux内核4.19安装(centos 同理)

时间:2023-08-26
本文章向大家介绍openeuler linux内核4.19安装(centos 同理),主要内容包括linux内核安装:、安装内核步骤、 、内核相关指令、使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

linux内核安装:

安装内核步骤

  1. 下载相应内核版本【我这里用的是linux-4.19.90.tar.gz】

    下载网址:https://mirrors.edge.kernel.org/pub/linux/kernel/v4.x/

  2. 解压缩到自定位置【我这里是/root/桌面/send/】

  3. 安装内核图像界面依赖【已安装则跳过】

 yum install ncurses-devel

注意事项:如果不安装这个,会引发内核make menuconfig错误

  1. 使用图形化界面对内核配置的更改

 make menuconfig

成功后如图所示:

可能遇到的问题

4-1 以前编译过内核【清理过去内核编译产生的文件】

  • 解决方案

 make mrproper

4-2 出现如下错误:

 /bin/sh: flex:未找到命令
 make[1]: *** [scripts/Makefile.lib:188:scripts/kconfig/zconf.lex.c] 错误 127
 make: *** [Makefile:534:x86_64_defconfig] 错误 2
  • 解决方案:

    安装 bisonflex 软件依赖

     yum install flex bison
  1. 内核配置细节参考:

    •  general setup // 基础设置
       processor type and features   //处理器类型和特征设置
       power management and ACPI options //电源管理和APCI选项
       bus options //总线(bus)设置
       binary emulations //二进制仿真
       firmware drivers //固件驱动设置
       
       virtualization //虚拟化设置
       General architecture-dependent options //一般架构的依赖选项
       enable loadable module support //启用可加载模块支持
       enable the block layer //启用 块 层级
       executable file formats //可执行文件(exe)文件格式
       memory management options //内存管理选项
       
       networking support //网络支持选项
       device drivers //设备驱动程序
       file systems //文件系统
       security options //安全选项
       
       Cryptographic API //加密API
       library routines //库习惯【默认设置?】

      扩充选项阅读 linux 内核配置选项

  2. 自定义选择完成后save退出

    • 内核选项中: y为选中此内核配置

      n为不选中此内核配置

    • esc为退出

    • 方向键为选取下方选项

    • / 为搜索

  3. 退出后安装所需依赖:

     yum install elfutils-libelf-devel openssl-devel bc
  4. make 编译

    编译完如图所示:

  5. 安装内核模块

     make modules_install

  6. 安装内核

    make install

    报错的话可能是make编译的过程中提前中断了,重来吧TAT

  7. 安装成功后在boot里面能看到对应的内核

    cd boot

    ll

  8. 更新引导:

    下面的命令会根据 /boot/ 目录下的内核文件自动更新启动引导文件。

    grub2-mkconfig -o /boot/grub2/grub.cfg

  9. 点亮了之后就大致成功了,后续的是优化体验:

    备注:我自己内核头文件存放位置为:/usr/src/kernels/4.19.90-2204.4.0.0146.oe1.x86_64/include/linux/

  10. 修改默认启动内核:

    查看当前系统所有可用内核

    cat /boot/grub2/grub.cfg |grep "menuentry "

  11. 查看当前默认启动内核

    grub2-editenv list

  12. 修改默认启动内核,grub2-set-default后的参数即要默认启动的版本,就是之前查看当前系统所有可用内核结果里面系统名称后的括号里的内容。

    grub2-set-default 4.19.90-2106.3.0.0095.oe1.x86_64
  13. 再次查看默认启动内核(15)

  14. 删除旧内核:

    cd /boot
    ll

    删除旧内核相关文件

    rm -rf System.map-4.19.90.old vmlinuz-4.19.90.old

    更新引导文件:

    grub2-mkconfig -o /boot/grub2/grub.cfg
  15. 参考资料,引用:

    OpenEuler内核编译及替换

    Make Menuconfig详解 (配置内核选择)

 

内核相关指令

验证内核模块是否成功成功加载

  1. 当你运行了某个.ko文件

    设:insmod kernel_name

  2. 可使用如下指令来验证是否成功加载

lsmod | grep kernel_name
  • kernel_name为加载的模块

载入内核模块(install module)

  • 示例:加载kernel_name模块

    insmod kernel_name

卸载内核模块

  • 示例:删除kernel_name模块

    rmmod kernel_name

    进阶参数可用

    • -a  删除所有目前不需要的模块。

    • -s  把信息输出至syslog常驻服务,而非终端机界面。

检查内核日志:

dmesg
 

原文地址:https://www.cnblogs.com/io-T-T/p/17658572.html