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
 

openeuler linux内核4.19安装(centos 同理)的更多相关文章

  1. Linux Centos7部署环境安装-CentOS

    Linux Centos7部署环境安装-CentOS Centos7部署环境安装及Linux常用命令 centos系统下各文件夹的作用 centos7修改系统默认语言 centos7安装rz/sz命令 ...

  2. Linux内核4.19.1编译

    linux内核编译 1.1 大致步骤 下载linux内核4.19.1 官网链接: https://www.kernel.org/ 官网下载经常速度太慢,无法下载,提供另一个链接: http://ftp ...

  3. 在CentOS上编译最新版linux内核(linux-5.19.9)

    从官网下载最新版的Linux内核源码,本教程使用linux-5.19.9进行编译. 实验环境(CentOS-Stream-8) $ uname -a Linux localhost.localdoma ...

  4. Linux内核编译、安装流程

    原文链接:https://blog.csdn.net/qq_28437139/article/details/83692907 此处只讲linux内核编译步骤至于安装虚拟机,安装ubuntu操作系统请 ...

  5. Linux内核编译与安装

    2013-04-16    Linux内核介绍  Linux内核是一个用C语言写成的,符合POSIX标准的类Unix操作系统.内核是操作系统中最基本的一部分,提供了众多应用程序访问计算机硬件的机制.L ...

  6. Linux内核的编译安装

    前言 Linux内核是Linux操作2347系统的核心,也是整个Linux功能体现的核心,就如同发动机在汽车中的重要性.内核主要功能包括进程管理.内存管理.文件管理.设备管理.网络管理等.Linux内 ...

  7. 初涉定制linux系统之——自动化安装Centos系统镜像制作

    最近碰到个需求:要在内网环境安装centos6.5系统并搭建服务,但由于自动部署脚本里安装依赖包使用的是yum安装,而服务器无法连接外网,实施人员也不会本地yum源搭建O__O "….. 本 ...

  8. 【Linux】个人笔记本安装Centos并开放22端口供外网连接

    〇.参考资料 一.配置及安装内容 (一)配置 [today]低配笔记本(装centos):4+500G 个人电脑(装三个节点的虚拟机集群环境):8+628G (二)所装软件 Linux系统(可选cen ...

  9. Percona MySQL 5.7 Linux通用二进制包安装(CentOS 6)

    Linux 安装 Percona http://blog.itpub.net/26506993/viewspace-2136501/ https://www.cnblogs.com/snowwhite ...

  10. LINUX Mysql5.6.19 安装

    1.需要扩展安装 yum -y install make bison gcc-c++ cmake ncurses ncurses-devel 2.下载Mysql5.6.19 wget ftp://mi ...

随机推荐

  1. 解决 Https 站点请求 Http 接口服务后报 the content must be served over HTTPS 错误的问题

    问题分析 之前将自己所有的 Http 站点全部更新为 Https 站点,但是在请求后台接口服务的时候还是 Http 请求,导致部署之后,直接在控制台报 This request has been bl ...

  2. webpack externals忽略不打入的包

    例如项目中使用从 CDN 引入 jQuery,而不是把它打包进来使用 import $ from 'jquery' webpack.config.js externals: { jquery: 'jQ ...

  3. 程序员面试金典-面试题 16.20. T9键盘

    题目: 在老式手机上,用户通过数字键盘输入,手机将提供与这些数字相匹配的单词列表.每个数字映射到0至4个字母.给定一个数字序列,实现一个算法来返回匹配单词的列表.你会得到一张含有有效单词的列表.映射如 ...

  4. java读取txt文件行的两种方式对比

    import java.io.BufferedReader; import java.io.FileInputStream; import java.io.IOException; import ja ...

  5. 微服务引入swagger生成接口的json导入到yapi配置方法 数据管理 开启url导入

    微服务引入swagger生成接口的json导入到yapi配置方法 数据管理 开启url导入 yapi安装参考window10 yapi安装 swagger配置 及 Error: getaddrinfo ...

  6. 谁是Po主?

    Tips:当你看到这个提示的时候,说明当前的文章是由原emlog博客系统搬迁至此的,文章发布时间已过于久远,编排和内容不一定完整,还请谅解` 谁是Po主? 日期:2018-6-25 阿珏 教程 浏览: ...

  7. HBCK2修复hbase2的常见场景

    上一文章已经把HBCK2 怎么在小于hbase2.0.3版本的编译与用法介绍了,解决主要场景 查看hbase存在的问题 一.使用hbase hbck命令 hbase hbck命令是对hbase的元数据 ...

  8. recastnavigation.Sample_TempObstacles代码注解 - rcBuildHeightfieldLayers

    烘培代码在 rcBuildHeightfieldLayers 本质上是为每个tile生成高度上的不同layer 算法的关键是三层循环: for z 轴循环 for x 轴循环 for 高度span 循 ...

  9. 19-Docker数据持久化

    什么是Docker数据持久化 容器在运行时会在镜像层上加上一层:可写层. 当删除容器时,可写层就会一起被删除,数据丢失. 数据持久化就是就是将数据持久化保存,删除容器之后,数据仍然存在. 方法1-挂载 ...

  10. ACPI Table 与 Device Tree

    背景 在分析Linux内核驱动的时候,有时候会看到一些acpi字样的接口. 之前一直没搞明白ACPI是什么,现在知道了. Reference : https://www.cnblogs.com/jun ...