openeuler linux内核4.19安装(centos 同理)
linux内核安装:
安装内核步骤
下载相应内核版本【我这里用的是linux-4.19.90.tar.gz】
解压缩到自定位置【我这里是/root/桌面/send/】
安装内核图像界面依赖【已安装则跳过】
yum install ncurses-devel

注意事项:如果不安装这个,会引发内核make menuconfig错误
使用图形化界面对内核配置的更改
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
解决方案:
安装
bison和flex软件依赖yum install flex bison
内核配置细节参考:
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 内核配置选项
自定义选择完成后
save退出内核选项中:
y为选中此内核配置n为不选中此内核配置esc为退出方向键为选取下方选项/为搜索

退出后安装所需依赖:
yum install elfutils-libelf-devel openssl-devel bc
make 编译
编译完如图所示:

安装内核模块
make modules_install

安装内核
make install
报错的话可能是make编译的过程中提前中断了,重来吧TAT
安装成功后在boot里面能看到对应的内核
cd bootll
更新引导:
下面的命令会根据 /boot/ 目录下的内核文件自动更新启动引导文件。
grub2-mkconfig -o /boot/grub2/grub.cfg


点亮了之后就大致成功了,后续的是优化体验:
备注:我自己内核头文件存放位置为:
/usr/src/kernels/4.19.90-2204.4.0.0146.oe1.x86_64/include/linux/修改默认启动内核:
查看当前系统所有可用内核
cat /boot/grub2/grub.cfg |grep "menuentry "

查看当前默认启动内核
grub2-editenv list

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

删除旧内核:
cd /boot
ll
删除旧内核相关文件
rm -rf System.map-4.19.90.old vmlinuz-4.19.90.old
更新引导文件:
grub2-mkconfig -o /boot/grub2/grub.cfg
参考资料,引用:
内核相关指令
验证内核模块是否成功成功加载
当你运行了某个
.ko文件设:
insmod kernel_name可使用如下指令来验证是否成功加载
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 同理)的更多相关文章
- Linux Centos7部署环境安装-CentOS
Linux Centos7部署环境安装-CentOS Centos7部署环境安装及Linux常用命令 centos系统下各文件夹的作用 centos7修改系统默认语言 centos7安装rz/sz命令 ...
- Linux内核4.19.1编译
linux内核编译 1.1 大致步骤 下载linux内核4.19.1 官网链接: https://www.kernel.org/ 官网下载经常速度太慢,无法下载,提供另一个链接: http://ftp ...
- 在CentOS上编译最新版linux内核(linux-5.19.9)
从官网下载最新版的Linux内核源码,本教程使用linux-5.19.9进行编译. 实验环境(CentOS-Stream-8) $ uname -a Linux localhost.localdoma ...
- Linux内核编译、安装流程
原文链接:https://blog.csdn.net/qq_28437139/article/details/83692907 此处只讲linux内核编译步骤至于安装虚拟机,安装ubuntu操作系统请 ...
- Linux内核编译与安装
2013-04-16 Linux内核介绍 Linux内核是一个用C语言写成的,符合POSIX标准的类Unix操作系统.内核是操作系统中最基本的一部分,提供了众多应用程序访问计算机硬件的机制.L ...
- Linux内核的编译安装
前言 Linux内核是Linux操作2347系统的核心,也是整个Linux功能体现的核心,就如同发动机在汽车中的重要性.内核主要功能包括进程管理.内存管理.文件管理.设备管理.网络管理等.Linux内 ...
- 初涉定制linux系统之——自动化安装Centos系统镜像制作
最近碰到个需求:要在内网环境安装centos6.5系统并搭建服务,但由于自动部署脚本里安装依赖包使用的是yum安装,而服务器无法连接外网,实施人员也不会本地yum源搭建O__O "….. 本 ...
- 【Linux】个人笔记本安装Centos并开放22端口供外网连接
〇.参考资料 一.配置及安装内容 (一)配置 [today]低配笔记本(装centos):4+500G 个人电脑(装三个节点的虚拟机集群环境):8+628G (二)所装软件 Linux系统(可选cen ...
- Percona MySQL 5.7 Linux通用二进制包安装(CentOS 6)
Linux 安装 Percona http://blog.itpub.net/26506993/viewspace-2136501/ https://www.cnblogs.com/snowwhite ...
- LINUX Mysql5.6.19 安装
1.需要扩展安装 yum -y install make bison gcc-c++ cmake ncurses ncurses-devel 2.下载Mysql5.6.19 wget ftp://mi ...
随机推荐
- vue3 elementui plus Select 选择器不选择下拉框里面的数据得到的value值
我们先来看 我点击弹框出现什么都不做 直接点击确定 看传参 tableId,timeColumnId,userColumnId直接是名称而没有获取value值 看下下拉框里面的数据 而我想直接点击获取 ...
- React jsx中js表达式
嵌入JS表达式 在jsx语法中,要把JS代码写到{ }中,所有标签必须要闭合. let num = 100 let bool = false; // JSX 语法 var myh1 = ( <d ...
- 告别Word,用Python打造你的专业简历!
今天给大家介绍下一个在纯 python 中构建简历的实用工具,工具的连接地址https://github.com/koek67/resume-builder/blob/main/readme.md 用 ...
- MySQL入门到实战详细教程
MySQL介绍 MySQL是一个开源的关系型数据库管理系统(RDBMS),由瑞典 MySQL AB 公司开发,属于 Oracle 旗下产品,它广泛应用于各种Web应用程序和网站,MySQL使用结构化查 ...
- c++ 线程使用
C++中的线程可以通过标准库提供的thread类实现.该类提供了创建和管理线程的方法和函数. 创建线程的方法: #include <thread> ... // 创建一个线程,其执行函数为 ...
- uniapp ios推送 离线推送收不到消息
突然之间收不到离线推送消息了,角标也不显示了. 查了很长时间发现是ios的推送证书过期了. 我用的是appuploader登陆上以后在证书管理中新创建证书就可以了.
- Vue聊天框自动滚动底部
原理:通过监听数据更新,将滚动的最大高度赋值给滚动条的最大高度,并等待页面更新完成后再将页面滚动到底部. 容器代码 watch监听 scrollTop: 距离最顶部高度 scrollHeight:滚动 ...
- 忘记Linux密码这样破解
忘记了Linux的密码该怎么办呢?有人想到重装系统.我想说除非你不想干了! 在这里使用CentOS7来教大家怎么 破解Linux的密码 (不能知道原来的密码,但是可以强行修改) 1.在grub引导界面 ...
- Ubuntu 安装 gitweb + Apache2
背景 之前已经使用了gerrit进行代码管理,但是在有些代码由于内部技术管理不当而丢失了Review记录. 因此找到了通过gitweb弥补的问题. 做法 安装 sudo apt-get install ...
- 3568F-Linux系统启动卡制作及系统固化