Linux内核编译和安装

2023-11-01

  1. 下载对应的linux内核源码,

       //The Linux Kernel Archives

2、传输到要安装内核的服务器系统中的对应根目录下“/usr/src”,

        scp –p 端口号 源文件 username@IP地址:~/

        例如:scp –p 8090 linux-5.18.2.tar.xz femu@localhost:~/

3、进入到/usr/src目录下,解压缩:tar xvf linux-5.18.2.tar.xz

4、进入内核文件中,清理之前预编译文件

        make clean

        make mrproper //删除以前的垃圾文件

5、进入内核文件中,从当前机器的启动目录拷贝配置信息到源代码目录。这步操作的意思是我们编译内核的配置采用用当前环境一致的配置

        cp -v /boot/config-$(uname -r) .config

6、进入内核文件夹中,安装需要的依赖库,

        sudo apt-get install libncurses5-dev libssl-dev -y

        sudo apt-get install build-essential openssl -y

        sudo apt-get install zlibc minizip -y

        sudo apt-get install libidn11-dev libdn11 -y

        sudo apt-get install bison -y

        sudo apt-get install flex -y

        sudo apt-get install libelf-dev -y

        sudo apt-get install libelf-devel -y

        sudo apt-get install elfutils-libelf-devel –y

        sudo apt-get install flex –y

        sudo apt-get install bison -y

备注://Ubuntu 编译linux内核依赖:sudo apt install libncurses5-dev openssl libssl-dev build-essential pkg-config libc6-dev bison flex libelf-dev zlibc minizip libidn11-dev libidn11 qttools5-dev liblz4-tool

7、linux提供三种修改配置命令

        // 不建议使用

        sudo make config

        // 建议使用(图形界面,键盘操作)

        sudo make menuconfig

        // 强烈建议使用(图形界面,鼠标操作)

        sudo make gconfig

8、编译内核

          make –j 4/8 //根据机器分配的具体的核心数编译

         //sudo make all  //编译全部,如果采用以上方法,则不用这个命令

9、安装对应的模块

        sudo make modules_install 

10、安装内核

        sudo make install

11、重启

        reboot


经常遇到问题

第一种:make[1]: *** No rule to make target 'debian/canonical-revoked-certs.pem', needed by 'certs/x509_revocation_list'.  Stop.
make: *** [Makefile:1822: certs] Error 2

make[1]: *** No rule to make target 'debian/canonical-revoked-certs.pem', needed by 'certs/x509_revocation_list'.  Stop.
make: *** [Makefile:1822: certs] Error 2

解决方法;

修改 .config中对应的CONFIG_SYSTEM_TRUSTED_KEYS置空(如果是在Ubuntu中,最好也将CONFIG_SYSTEM_REVOCATION_KEYS置空)

查找方法:sudo vim .config, 然后采用"/string"查找具体的条目

第二种,如果是发现缺少对应的依赖库,根据提示去查找.

第三种,编译完成,也安装完成,但是进入的时候碰到  end Kernel panic - not syncing:System is deadlocked on memory问题,

解决方法:将虚拟机分的内存划分的大一点,比如2G调为4G大小就可以了,

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux内核编译和安装 的相关文章

  • 如何从“git log”中查看 Git 中的特定版本?

    My git log显示为 enter code here git trial git log commit 4c5bc66ae50780cf8dcaf032da98422aea6e2cf7 Author king lt email pro
  • 编写多个mysql脚本

    是否可以在复合脚本中包含其他 mysql 脚本 理想情况下 我不想为包含的脚本创建存储过程 对于较大的项目 我想分层维护几个较小的脚本 然后根据需要组合它们 但现在 我很乐意学习如何包含其他脚本 source是一个内置命令 您可以在 MyS
  • gdb 错误 - 文件不是可执行格式:无法识别文件格式

    我正在尝试使用 gdb 调试某个名为 xdf 的程序 但是当我运行 gdb xdf 时 出现以下错误 home nealtitusthomas X ray astronomy heasoft 6 24 x86 64 pc linux gnu
  • 远程linux服务器到远程linux服务器大型稀疏文件复制 - 如何?

    我有两台 CentOS 5 4 服务器 每台服务器上都安装了 VMware Server 假设我始终对 vmware 虚拟机使用稀疏文件 将虚拟机文件从一台服务器复制到另一台服务器的最可靠 最快速的方法是什么 虚拟机的文件复制起来很痛苦 因
  • Xenomai 中的周期性线程实时失败

    我正在创建一个周期性线程 它在模拟输出上输出方波信号 我正在使用 Xenomai API 中的 Posix Skin 和 Analogy 我使用示波器测试了代码的实时性能 并查看了方波信号 频率为 1kHz 的延迟 我应该实现 250us
  • Linux 文本文件操作

    我有一个格式的文件 a href a href a href a href 我需要选择 之后但 之前的文本 并将其打印在行尾 添加后 例如 a href http www wowhead com search Su a a a a a
  • grails 上的同步块在 Windows 上有效,但在 Linux 上无效

    我有一个 grails 应用程序 它依赖于服务中的同步块 当我在 Windows 上运行它时 同步按预期工作 但当我在 ams linux 上运行时 会出现 StaleObjectStateException 该问题在以下示例中重现 cla
  • sqlite 插入需要很长时间

    我正在将不到 200 000 行插入到 sqlite 数据库表中 我只是在终端中通过 sqlite3 使用一个非常简单的 sql 文件 我打赌它已经运行了至少 30 分钟 这是正常现象还是我应该关闭该过程并尝试不同的方法 sqlite中的插
  • Gradle 1.3:build.gradle 不构建类

    这里有一个新问题 我有一个 build gradle 文件apply plugin java在其中 并与 java 项目 包关联 当我跑步时gradle build从命令行我得到 compileJava UP TO DATE process
  • Bash 脚本 - 迭代 find 的输出

    我有一个 bash 脚本 其中需要迭代 find 命令输出的每一行 但似乎我正在迭代 find 命令中的每个单词 以空格分隔 到目前为止我的脚本看起来像这样 folders find maxdepth 1 type d for i in f
  • 进程名称长度的最大允许限制是多少?

    进程名称允许的最大长度是多少 我正在读取进程名称 proc pid stat文件 我想知道我需要的最大缓冲区 我很确定有一个可配置的限制 但就是找不到它在哪里 根据man 2 prctl http man7 org linux man pa
  • 怎样才能使 Windows 成为一个开箱即用的 POSIX 兼容操作系统?

    这个问题的动机是我的一个牵强的梦想 即 nix 平台上可用的许多优秀软件可以轻松移植到 Windows 微软最近对开源和开放性采取了不同的方法 所以我真的很想知道如果微软有这样的倾向 这样的事情会有多可行 我很好奇的一些更具体的事情是 是否
  • 如何在我的 AWS EC2 实例上安装特定字体?

    我有一个在 AWS EC2 Amazon Linux Elastic Beanstalk 实例上运行的 Python 应用程序 该实例需要某些特定字体才能生成输出 并且想知道如何在部署或实例启动过程中安装它们 我的代码在本地计算机 OS X
  • 如何让 clangd 转向 c++20

    当没有其他信息时 如何让 clangd 回退到 c 20 例如 在第一次构建之前 cmake 可以生成一个 这是在带有最新 LLVM 的 Arch Linux 上 这是通过 Emacs LSP 运行的 但这应该没有什么区别 你可以加 Com
  • gentoo crontab:为什么这个简单的 crontab 不起作用?

    我使用 GENTOO 发行版 crontab e 35 12 root php5 home www cron php 当我手动运行时 php5 php5 home www cron php 这有效 它向我发送了一封电子邮件 然后我检查日期
  • 在 LINUX 上使用 Python 连接到 OLAP 多维数据集

    我知道如何在 Windows 上使用 Python 连接到 MS OLAP 多维数据集 嗯 至少有一种方法 通常我使用 win32py 包并调用 COM 对象进行连接 import win32com client connection wi
  • 无法安装 WWW::Curl::Easy: SZBALINT/WWW-Curl-4.17.tar.gz : make NO

    我正在尝试在我的 Fedora 26 机器上安装 WWW Curl Easy gcc c I usr include D REENTRANT D GNU SOURCE O2 g pipe Wall Werror format securit
  • 为什么在 Linux 上字符串文字的内存地址与其他字符串文字的内存地址如此不同?

    我注意到字符串文字在内存中的地址与其他常量和变量 Linux 操作系统 非常不同 它们有许多前导零 未打印 Example const char h Hi int i 1 printf p n void h printf p n void
  • Bash 方法的返回值总是模 256

    我有一个 bash 脚本方法 它返回输入值 然而 返回值始终是模 256 的值 我用 google 搜索了一段时间 发现this http www tldp org LDP abs html exitcodes html文章说它总是以 25
  • 无需 cron 在后台发送邮件

    我想知道是否有一种方法可以运行 PHP 循环 以便在后台向订阅者发送几百封电子邮件 我的目标是格式化新闻通讯 单击发送 然后关闭浏览器或更改页面 当然 发送电子邮件的实际过程将在后台运行 不会因浏览器关闭而中断 我知道这可以通过 cron

随机推荐

  • 什么是HTTP协议和HTTPS协议,以及两者的区别

    HTTP协议 超文本传输协议 Hyper Text Transfer Protocol 是一个简单的请求 响应协议 它通常运行在TCP之上 它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应 请求和响应消息的头以形式给出 而消息
  • STM32 Flash详解

    本文将根据ST官方Flashprogramming manual 文档编号 PM0059 讲解STM32F207内部Flash编程 01 概述 这里的flash是指STM32F207内部集成的Flash Flash存储器有以下特点 最大1M
  • opencv入门Vec3f

    Vec3f表示的是3通道float类型的 Vect 就相当于3通道float类型的图像 这是其中一个具体化 解释可以从源代码中看出来 下面给出一个具体的例子 Vec3f point Vec3f 10 10 3 2 Float 3 compo
  • Fiddler+夜神模拟器对安卓app进行抓包,安卓9,安装Magisk和LSPosed

    效果图 安装教程 1 下载夜神模拟器 国际版 2 下载Fiddler 1 配置fiddler允许监听到https Tools gt Options gt HTTPS 2 配置fiddler允许远程连接 Tools gt Options gt
  • 超级好用的思维导图软件XMind

    超级好用的思维导图软件XMind 今天和大家分享一款我一直使用的思维导图制作软件XMind 关于 思维导图制作的软件和网站是非常非常多的 可以说上网一搜的话一大把 我推荐这款 XMind是我自己搜集整理各种信息以及自己的实际使用后感觉特别喜
  • PyCharm配置anaconda环境

    PyCharm配置anaconda环境 PyCharm是一款很好用很流行的python编辑器 Anaconda是专注于数据分析的Python发行版本 包含了conda Python等190多个科学包及其依赖项 Anaconda通过管理工具包
  • coherence

    coherence Coherence是 Oracle为了建立一种高可靠和高扩展 集群计算的一个关键部件 集群指的是多于一个应用服务器参与到运算里 Coherence的主要用途是共享一个应用的对象 主要是java对象 比如Web应用的一个会
  • MAC电脑出现 .bin/webpack-dev-server permission denied 错误解决方法

    以前同事 新买的mac电脑 拉取项目后 npm i 安装了所有依赖 但是执行npm run dev 报错 MAC电脑出现 bin webpack dev server permission denied 提示权限问题 这样解决 sudo n
  • DeepSpeed Chat: 一键式RLHF训练,让你的类ChatGPT千亿大模型提速省钱15倍

    目录 1 概述 2 简洁高效且经济的 ChatGPT 训练与推理体验 使用 DeepSpeed Chat 的 RLHF 示例轻松训练你的第一个 类ChatGPT 模型 想尝试不同的模型大小和配置 轻松实现 利用 DeepSpeed Chat
  • 静态代码检查工具 - SourceInsight_Scan 使用指南

    静态代码检查工具 SourceInsight Scan 使用指南 静态代码检查是软件开发过程中非常重要的一环 它可以帮助开发人员发现潜在的代码问题 提高代码质量和可维护性 本文将介绍一款名为SourceInsight Scan的静态代码检查
  • 【100天精通python】Day22:字符串常用操作大全

    目录 专栏导读 一 字符串常用操作 1 拼接字符串 2 计算字符串长度 3 截取字符串 4 分割合并字符串 5 检索字符串 6 字母的大小写转换 7 去除字符串的空格和特殊字符 8 格式化字符串 二 字符串编码转换 2 1 使用encode
  • 管理与维护samba服务器,配置与管理samba服务器

    安装Samba服务器 环境 CentOS 8 boot 64 位 window 10 64 位 samba软件包 检查是否安装了samba软件包 rpm qa grep samba 没有安装软件包 则使用yum命令安装 yum clean
  • 怎样在VMware Workstation中安装Linux系统

    安装步骤 一 创建虚拟机 1 新建虚拟机 典型 下一步 2 稍后安装操作系统 下一步 3 Linux 下一步 4 客户机命名 必须是英文名 自定义浏览存放的位置 下一步 5 设置磁盘大小 拆分多个文件 下一步
  • 公链分层要怎么设计?

    比特币把人类在密码学和计算机工程中的应用融合到了一起 全球矿工 开发者们对比特币有着十分浓厚的兴趣 他们都在比特币提供的结构思考中完成创新和应用 比特币网络的改良的一个最好例子就是以太坊 而EOS等其余公链的出现则在更多的途径上为区块链技术
  • 基于PiggyMetrics微服务搭建的分布式系统

    1环境 2工具安装 3docker运行 1 docker安装完成后桌面出现Docker Quickstart Terminal和Kitematic Alpha两个快捷方式 2 修改VirtualBox中docker虚拟机的内存和处理器核数
  • Linux运维常用工具软件

    1 远程桌面连接 TigerVNC Xshell 2 FTP服务和客户端 FileZilla 将客户端的文件上传到服务器上 客户端可以使用免费的FileZilla Client 支持多线程上传文件 3 硬件检测 CPU Z CPU Z是一款
  • 2022-12-11 leetcode与蓝桥刷题情况

    一 leetcode题目 今天的leetcode是写的周赛题目 昨天状态不好 摸鱼一天 1 数组中最长的方波 题目描述 给你一个整数数组 nums 如果 nums 的子序列满足下述条件 则认为该子序列是一个 方波 子序列的长度至少为 2 并
  • fullcalendar v6的使用记录

    翻了翻百度 教程很多都过时了 方法都废弃了 这次是以V6版本CDN方式使用说明 文档地址 配置 var calendarConfig 加载 loading function load 可以控制页面的加载状态 app instance dat
  • ctfshow-萌新-web3( 利用intval函数的特性配合联合注入获取网站敏感信息)

    ctf show 萌新模块 web3关 此关卡考察的是 intval 函数的特性 以及SQL注入漏洞的利用 首先需要利用 intval 转换字符串的特性绕过校验 而后利用联合注入获取数据库中的敏感信息 从而获取flag 源码中过滤了or 加
  • Linux内核编译和安装

    下载对应的linux内核源码 The Linux Kernel Archives 2 传输到要安装内核的服务器系统中的对应根目录下 usr src scp p 端口号 源文件 username IP地址 例如 scp p 8090 linu