首页 > 系统相关 >手动下载和安装linux内核

手动下载和安装linux内核

时间:2024-09-25 09:54:26浏览次数:3  
标签:10 x86 devtoolset 手动 64 内核 linux CONFIG


手动下载和安装内核是一个高级操作,需要从官方源或其他可信源手动下载和安装内核
(1)选择合适的内核版本,可以访问官方操作系统网站或内核开发者网站,以获取可用的内核版本信息。

(2)下载内核源代码: 一旦确定了要安装的内核版本,可以通过以下方式之一获取内核源代码:

官方操作系统网站提供的下载链接
       内核开发者网站的代码仓库或下载链接

wget https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.x.x.tar.gz

1.解压源码包
tar -xzvf linux-5.x.x.tar.gz
2.配置内核运行
进入解压后的内核源代码目录,并使用现有的内核配置文件作为基础配置。可以复制系统中 /boot/config-$(uname -r) 文件到内核源代码目录,并命名为 .config(可选)
cp /boot/config-$(uname -r) /path/to/linux-5.x.x/.config
3.在内核源代码目录下执行
make menuconfig


 

点击一下load ,再exit

4.编辑内核
make -j 8
5.安装内核模块
make modules_install
6.安装内核
make -j 8 install
7.重启验证
reeboot
uname -r

运行make -j 时,可能会出现版本过低的错误
解决办法:安装更高版本GCC
[root@localhost ~]#wget http://buildlogs-seed.centos.org/c7-devtoolset-10.x86_64/cbs/devtoolset-10-runtime-10.0-0.el7.x86_64.rpm --no-check-certificate
[root@localhost ~]#yum install devtoolset-10-runtime-10.0-0.el7.x86_64.rpm -y

[root@localhost ~]#wget http://buildlogs-seed.centos.org/c7-devtoolset-10.x86_64/cbs/devtoolset-10-binutils-2.35-5.el7.2.x86_64.rpm --no-check-certificate
[root@localhost ~]#yum install devtoolset-10-binutils-2.35-5.el7.2.x86_64.rpm -y

[root@localhost ~]#wget http://buildlogs-seed.centos.org/c7-devtoolset-10.x86_64/cbs/devtoolset-10-gcc-10.2.1-11.1.el7.x86_64.rpm --no-check-certificate
[root@localhost ~]#yum install devtoolset-10-gcc-10.2.1-11.1.el7.x86_64.rpm -y

[root@localhost ~]#wget http://buildlogs-seed.centos.org/c7-devtoolset-10.x86_64/cbs/devtoolset-10-libstdc++-devel-10.2.1-11.1.el7.x86_64.rpm --no-check-certificate
[root@localhost ~]#yum install devtoolset-10-libstdc++-devel-10.2.1-11.1.el7.x86_64.rpm -y

[root@localhost ~]#wget http://buildlogs-seed.centos.org/c7-devtoolset-10.x86_64/cbs/devtoolset-10-gcc-c++-10.2.1-11.1.el7.x86_64.rpm --no-check-certificate
[root@localhost ~]#yum install devtoolset-10-gcc-c++-10.2.1-11.1.el7.x86_64.rpm -y
[root@localhost localhost-6.0.16]#scl enable devtoolset-10 bash


make modules_install

报错1:
arch/x86/Makefile:142: CONFIG_X86_X32 enabled but no binutils support
sed: can't read modules.order: No such file or directory
make: *** [Makefile:1479: __modinst_pre] Error 2


解决方案:

这个报错原因是 `CONFIG_X86_X32 enabled but no binutils support`,选择重新编译binutils或者禁用CONFIG_X86_X32,我选择禁用,编辑.config文件,将CONFIG_X86_X32=y改为CONFIG_X86_X32=n。重新运行`make -j4`,不再报此处错误。


报错2:
  
make[1]: *** No rule to make target 'debian/canonical-certs.pem', needed by 'certs/x509_certificate_list'. Stop.

解决方案:

编辑.config文件,修改CONFIG_SYSTEM_TRUSTED_KEYS
修改CONFIG_SYSTEM_TRUSTED_KEYS,将其赋空值。

修改前:原变量有值
CONFIG_SYSTEM_TRUSTED_KEYS="debian/canonical-certs.pem"
修改后:将该变量赋空值,将该项原有内容删掉即可,如下:
CONFIG_SYSTEM_TRUSTED_KEYS=""

修改CONFIG_SYSTEM_REVOCATION_KEYS(可选),如果CONFIG_SYSTEM_REVOCATION_KEYS的值不为空的话,也将其赋空值。
修改前:原变量有值
CONFIG_SYSTEM_REVOCATION_KEYS="debian/canonical-revoked-certs.pem"
修改后:将该变量赋空值
CONFIG_SYSTEM_REVOCATION_KEYS=""
 

标签:10,x86,devtoolset,手动,64,内核,linux,CONFIG
From: https://blog.csdn.net/2302_76605737/article/details/142492912

相关文章

  • OPENLDAP部署完整版(Linux)附一键式脚本
    (一)环境信息1,系统环境2,域信息(本章节使用)(二)应用部署1,ladp部署1、yum方式安装OpenLDAP服务2、拷贝数据库配置配置文件,并启动服务3、slappasswd生成OpenLDAP管理员密码4、导入基本的模式5、在OpenLDAPDB上配置域信息2,安装phpLDAPadmin实现通过Web管理LDAP服务1,部署httpd2,部署php应......
  • Linux信号学习三步走及知识脉络
    Linux信号学习三步走及知识脉络在Linux系统中,信号(Signal)是一个非常重要的概念,它作为一种异步通知机制,用于通知进程发生了某些事件。信号的本质是软件层次上对中断机制的一种模拟,是进程间通信机制中唯一的异步通信方式。学习Linux信号,可以通过以下三步走,并打通相关的知识脉......
  • ArgoWorkflow教程(五)---Workflow 的多种触发模式:手动、定时任务与事件触发
    上一篇我们分析了argo-workflow中的archive,包括流水线GC、流水线归档、日志归档等功能。本篇主要分析Workflow中的几种触发方式,包括手动触发、定时触发、Event事件触发等。1.概述ArgoWorkflows的流水线有多种触发方式:手动触发:手动提交一个Workflow,就会触发一次构建......
  • 【Linux】多线程:线程池的创建、日志类、RAII互斥锁、单例模式:饿汉方式与懒汉方式
    目录一、线程池概念二、线程的封装及线程池类成员变量的介绍 三、单例模式饿汉方式(EagerInitialization)懒汉方式(LazyInitialization)四、RAII类型的互斥锁 五、日志类的实现六、简单的任务类创建七、线程池的创建 一、线程池概念线程池(ThreadPool)是一种基于......
  • Let‘s Encrypt基于阿里云Linux服务器搭建自动更新免费的SSL证书
    前言:‌SSL免费证书的有效期从2024年4月底开始从12个月缩短至3个月。对于使用免费SSL证书的中小企业或者个人开发者而言,每三个月去手动部署一次证书文件很容易遗忘,从而导致服务器接口或者网站访问异常,今天把基于阿里云一套自动更新的流程详细写出来。本系统环境基于阿里云......
  • Linux6.8最新版本x86路径下分页管理源码详解
    x86路径下分页管理源码详解pgtable_64.h分析:pgtable-2level.h分析pgtable-3level.h分析x86的asm文件夹路径为/usr/src/linux-headers-6.8.0-45-generic/arch/x86/include/asm,是x86体系架构下的文件,本次分析了pgtable_64.h,pgtable-2level.h和pgtable-3level.h......
  • 项目实战:Qt+OSG爆破动力学仿真三维引擎测试工具v1.1.0(加载.K模型,子弹轨迹模拟动画,支持
    需求  1.使用osg三维引擎进行动力学模型仿真性能测试;  2.打开动力学仿真模型文件,.k后缀的模型文件,测试加载解析过程;  3.解决第三方company的opengl制作的三维引擎,绘制面较多与弹丸路径模拟较卡顿的问题;  4.测试时,使用的模型为公开模型,基础面数量达到160多万个;  5.测......
  • 【Linux】超时重传机制
    超时重传机制超时重传机制是一种常见的网络协议设计策略,用于确保数据包在不可靠网络中的可靠传输。它特别适用于UDP等不提供内建可靠性保障的协议。以下是超时重传机制的基本概念和实现方法。1.基本概念在数据传输过程中,发送方在发送数据包后启动一个定时器。如果在预设......
  • 【Linux】快速上手shell脚本(适合初学者)
    Shell脚本快速上手什么是Shell脚本?Shell脚本是一种通过命令行界面执行的一系列命令的文本文件,主要用于自动化任务。创建Shell脚本使用文本编辑器(如nano或vim)创建一个以.sh结尾的文件:nanomyscript.sh脚本头部在脚本的第一行指定解释器:#!/bin/bash基本命令ec......
  • linux操作系统和文件系统,命令(上)
    Linux是一个类似于windows的操作系统Linux操作系统的一种主要使用方式是通过终端软件;终端软件里只能使用键盘不能使用鼠标,在终端软件里通过输入命令完成各种任务clear命令可以删除终端窗口里的所有文字信息操作系统里用来管理文件的部分叫文件系统所有文件系统都采用分组方式......