【Linux】内核编译 镜像制作

文章目录

  • 一、Ubuntu内核编译
    • 1.1 为什么自己编译内核
    • 1.2 Ubuntu 内核源码下载
      • 1.21 内核的作用
      • 1.22 Linux内核与ubuntu内核
      • 1.23 Ubuntu内核源码获取
    • 1.3 在Windows系统下编译ubuntu内核
    • 1.4 在Linux系统下编译ubuntu内核
  • 二、镜像制作

一、Ubuntu内核编译

1.1 为什么自己编译内核

自己编译内核通常是为了特定需求或优化系统性能。以下是一些考虑因素:

  1. 定制需求: 如果你有特定的硬件要求、功能需求或者希望移除一些不需要的内核模块,自定义内核可以满足这些需求。一些嵌入式系统或特殊用途的系统可能需要定制化的内核。
  2. 性能优化: 通过自定义编译,你可以选择启用或禁用一些内核选项,以优化系统性能。这对于特定的硬件环境或性能敏感的应用程序可能很有帮助。
  3. 最新特性: 如果你想使用内核的最新特性或修复了最新版本的安全漏洞,自己编译可以确保你使用的是最新版本的内核。
  4. 教育目的: 编译内核是学习Linux系统运作的良好方式。这对于深入了解Linux内核、设备驱动和系统启动过程很有帮助。

对于大多数桌面用户和一般服务器使用,使用发行版提供的预编译内核通常是足够的。预编译的内核经过测试,通常具有广泛的硬件兼容性,而且由发行版的维护团队提供支持。自行编译内核可能会增加系统维护的复杂性,并且如果配置不当,可能导致系统不稳定。

1.2 Ubuntu 内核源码下载

1.21 内核的作用

操作系统内核是计算机系统中的核心,它负责管理系统的资源、提供各种服务,以及实现用户和硬件之间的通信。以下是内核的一些主要作用:

  1. 资源管理: 内核负责管理计算机系统的各种硬件资源,包括CPU、内存、硬盘、网络接口等。它通过调度算法来决定哪个进程(或任务)在某个时刻执行,以及如何分配和释放内存。
  2. 进程管理: 内核负责创建、终止和调度进程。它管理进程的状态转换,分配资源,以及协调不同进程之间的通信和同步。
  3. 文件系统管理: 内核提供文件系统接口,使得应用程序可以通过文件系统进行文件的读取、写入和管理。它还负责处理文件和目录的访问权限、文件锁定等问题。
  4. 设备驱动程序: 内核包含设备驱动程序,用于与硬件设备进行通信。这些驱动程序允许操作系统与硬件之间进行有效的交互,包括输入输出设备、网络接口、磁盘驱动器等。
  5. 系统调用接口: 内核提供了系统调用接口,允许应用程序通过一组标准化的接口与内核进行通信。这些接口包括对文件、进程、网络等的访问。
  6. 内存管理: 内核负责管理系统的物理内存和虚拟内存。它通过分页机制、内存映射等方式来实现进程间的内存隔离和保护。
  7. 中断处理: 内核负责处理硬件和软件产生的中断。硬件中断可以来自于设备的状态变化,而软件中断通常是由系统调用或异常引起的。内核需要适时地响应这些中断以确保系统正常运行。
  8. 安全性和权限控制: 内核实施对系统资源的访问控制,确保只有经过授权的进程才能够执行敏感操作。这包括用户身份验证、访问权限检查等功能。

总体而言,内核是操作系统的核心,它为上层应用程序提供了一个抽象的接口,使得开发者可以专注于应用程序的逻辑而不用直接处理底层硬件和资源管理的细节。内核的设计和性能直接影响整个操作系统的稳定性和效率。

1.22 Linux内核与ubuntu内核

一些注意点:

  1. Linux内核是一个免费、开源、模块化、多任务、类Unix的操作系统内核。
  2. Ubuntu是一种基于Linux内核的操作系统。
  3. Ubuntu的内核源代码非常接近由Linus维护的上游主线内核树。
  4. Ubuntu内核的特性通过与Linus树的git分支进行维护。
  5. 因此,Ubuntu内核是Linux内核的一种变体,它包含了一些特定于Ubuntu的功能和修补程序。

Linux内核官方的源代码仓库:https://www.kernel.org/
在这里插入图片描述

Additional: 查询你的Ubuntu版本信息 uname -a

root@CQUPTLEI:~# uname -a
Linux CQUPTLEI 5.4.0-152-generic #169-Ubuntu SMP Tue Jun 6 22:23:09 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

我服务器Linux内核版本是 5.4.0-152,构建于2023年6.6 日。这个版本是2021年就发布了的,见 git log:https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.4.152

这说明我那天更新了软件,比如apt upgrade命令,这只会更新小版本,不会更新大版本(比如5.10),因为大版本更新可能会引入新特性。

1.23 Ubuntu内核源码获取

Ubuntu Kernel Repositories:https://kernel.ubuntu.com/git/

这是ubuntu内核的git仓库列表。

在这里插入图片描述

近几年Ubuntu版本对应的Linux内核版本及名称(codename):红色是LTS版本(目前)

Ubuntu版本内核版本代号
16.044.4Xenial Xerus
16.104.8Yakkety Yak
17.044.10Zesty Zapus
17.104.13Artful Aardvark
18.044.15Bionic Beaver
18.104.18Cosmic Cuttlefish
19.045.0Disco Dingo
19.105.3Eoan Ermine
20.045.4Focal Fossa
20.105.8Groovy Gorilla
21.045.11Hirsute Hippo
21.105.13Impish Indri
22.045.15Jammy Jellyfish
22.105.19Karmic Koala
23.046.2Luminous Lorikeet
23.106.5Mystic Mongoose

Ubuntu的版本号命名规则是根据正式版发布的年月命名,其中X表示年份(减去2000),YY表示发布的月份。例如,Ubuntu 16.04意味着2016年4月发布的Ubuntu,Ubuntu 22.10意味着2022年10月发布的Ubuntu1。因此,Ubuntu的版本号通常以.xx.04或.xx.10结尾。

前面的ubuntu内核仓库的source选项下有很多版本,对应不同的平台或特性:

Linux内核版本用途
linux-unstable该内核版本是Linux内核的开发版本,用于测试新功能和修复错误。
linux该内核版本是Linux内核的稳定版本,用于大多数Linux发行版。
linux-lowlatency该内核版本是Linux内核的低延迟版本,用于音频和其他实时应用。
linux-raspi该内核版本是专门为树莓派设计的Linux内核版本。
linux-aws该内核版本是专门为Amazon Web Services(AWS)设计的Linux内核版本。
linux-azure该内核版本是专门为Microsoft Azure云服务设计的Linux内核版本。
linux-gcp该内核版本是专门为Google Cloud Platform(GCP)设计的Linux内核版本。
linux-ibm该内核版本是专门为IBM Power Systems设计的Linux内核版本。
linux-oracle该内核版本是专门为Oracle Linux设计的Linux内核版本。
linux-riscv该内核版本是专门为RISC-V架构设计的Linux内核版本。
linux-starfive该内核版本是专门为StarFive处理器设计的Linux内核版本。
linux-laptop该内核版本是专门为笔记本电脑设计的Linux内核版本。
linux-intel-opt该内核版本是专门为英特尔处理器设计的Linux内核版本。
linux-nvidia该内核版本是专门为NVIDIA GPU设计的Linux内核版本。

我下载22.04的源码。点击 jammy Linux那一行最后面的code

1.3 在Windows系统下编译ubuntu内核

先写到这,明年继续

1.4 在Linux系统下编译ubuntu内核

二、镜像制作

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/282247.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

拓扑排序

目录 拓扑排序 有向图的拓扑排序 拓扑排序 一个有向图,如果图中有入度为 0 的点,就把这个点删掉,同时也删掉这个点所连的边。 一直进行上面出处理,如果所有点都能被删掉,则这个图可以进行拓扑排序。 举例子&#…

【机器学习】人工智能概述

人工智能(Artificial Intelligence,简称AI)是一门研究如何使机器能够像人一样思考、学习和执行任务的学科。它是计算机科学的一个重要分支,涉及机器学习、自然语言处理、计算机视觉等多个领域。 人工智能的概念最早可以追溯到20世…

vue3框架笔记

Vue Vue 是一个渐进式的前端开发框架,很容易上手。Vue 目前的版本是 3.x,但是公司中也有很多使用的是 Vue2。Vue3 的 API 可以向下兼容 2,Vue3 中新增了很多新的写法。我们课程主要以 Vue3 为主 官网 我们学习 Vue 需要转变思想&#xff0…

[YoloV8目标检测与实例分割——目标检测onnx模型推理]

一、模型转换 1.onnxruntime ONNX Runtime(ONNX Runtime或ORT)是一个开源的高性能推理引擎,用于部署和运行机器学习模型。它的设计目标是优化执行使用Open Neural Network Exchange(ONNX)格式定义的模型,ON…

设备健康管理系统助力制造企业实现数字化转型

在当今快速变革的制造业环境中,数字化转型已成为制造企业保持竞争力和实现可持续发展的关键。在这个数字化转型的浪潮中,设备健康管理系统正发挥着重要的作用。设备健康管理系统通过实时监测、预测分析和智能诊断等功能,为制造企业提供了全面…

亚马逊云科技Amazon Q,一款基于生成式人工智能的新型助手

近日,亚马逊云科技宣布推出Amazon Q,这是一款基于生成式人工智能(AI)的新型助手,专为辅助工作而设计,可以根据您的业务量身定制。通过连接到公司的信息存储库、代码、数据和企业系统,可以使用Am…

Redis(认识NoSQL,认识redis,安装redis,redis桌面客户端,redis常见命令,redis的Java客户端)

文章目录 Redis快速入门1.初识Redis1.1.认识NoSQL1.1.1.结构化与非结构化1.1.2.关联和非关联1.1.3.查询方式1.1.4.事务1.1.5.总结 1.2.认识Redis1.3.安装Redis1.3.1.依赖库1.3.2.上传安装包并解压1.3.3.启动1.3.4.默认启动1.3.5.指定配置启动1.3.6.开机自启 1.4.Redis桌面客户端…

Apollo自动驾驶:改变交通运输的游戏规则

前言 「作者主页」:雪碧有白泡泡 「个人网站」:雪碧的个人网站 ChatGPT体验地址 文章目录 前言1. Apollo缓存层2. 本地状态管理库3. 离线同步和冲突解决4. 离线数据同步和离线优先策略结论 📲🔌 构建离线应用:Apollo…

【微服务】springboot整合skywalking使用详解

目录 一、前言 二、SkyWalking介绍 2.1 SkyWalking是什么 2.2 SkyWalking核心功能 2.3 SkyWalking整体架构 2.4 SkyWalking主要工作流程 三、为什么选择SkyWalking 3.1 业务背景 3.2 常见监控工具对比 3.3 为什么选择SkyWalking 3.3.1 代码侵入性极低 3.3.2 功能丰…

Vue 自定义网站logo

效果如下&#xff1a; static目录下增加一个图标文件ico格式 修改index.html文件 代码如下&#xff1a; <link rel"shortcut icon" type"image/x-icon" href"static/lzwd.ico" > 按以上方法设置一下&#xff0c;就可以实现在浏览器显示自…

[Verilog] 加法器实现

1. 4位的加法器 先来一个最基本的的Verilog加法器 设计代码 module adder_4bit (input [3:0] a, b, output [3:0] sum, output carry);assign

【HR非技术问题面试篇】你怎么看待加班?

你对加班怎么看待? &#x1f60a;老油条经典回答系列 &#x1f60a;老油条经典回答系列 这种问题&#xff0c;怎么回答都可以&#xff0c;我觉得重要的实时表达你自己。如果你就不想加班&#xff0c;也没必要勉强说自己爱加班&#xff0c;结果入职之后干的不开心。 不过&…

云卷云舒:面向业务的智能运维(下)

云卷云舒&#xff1a;面向业务的智能运维&#xff08;上&#xff09;-CSDN博客 接着聊&#xff1a; 5、业务智能运维典型应用场景和关键设计 5.1 数据的采集 &#xff08;1&#xff09; 业务层数据的采集 包括接口响应时间、调用次数、服务间调用关系、时延、慢SQL、JVM内…

万字盘点 Android 领域在 2023 年的重要技术:AI, 14, Compose, 鸿蒙...

AICore 2022 年底横空出世的 GPT-3.5 引发了全球的大模型 LLM 狂潮。作为在 AI 领域耕耘多年的巨头&#xff0c;Google 自然不会坐视不管&#xff0c;于 2023 年底之际发布了超越 GPT-4 的 Gemini 系列模型&#xff0c;其在多模态领域的表现令无数人震撼。 而对于 Android 开发…

蓝桥杯C/C++程序设计——成绩统计

题目描述 小蓝给学生们组织了一场考试&#xff0c;卷面总分为 100 分&#xff0c;每个学生的得分都是一个 0 到 100 的整数。 如果得分至少是 60 分&#xff0c;则称为及格。如果得分至少为 85 分&#xff0c;则称为优秀。 请计算及格率和优秀率&#xff0c;用百分数表示&am…

SpringSecurity登录逻辑快速集成及原理探查

框架简介 Spring 是非常流行和成功的 Java 应用开发框架&#xff0c;Spring Security 正是 Spring 家族中的成员。Spring Security 基于 Spring 框架&#xff0c;提供了一套 Web 应用安全性的完整解决方案。 一般来说&#xff0c;Web应用的安全性包括用户认证&#xff08;Authe…

Java学习——设计模式——介绍

文章目录 设计模式介绍UML的类图表示类与类之间关系的表示关联关系聚合关系组合关系依赖关系继承关系实现关系 设计模式介绍 设计模式design patterns&#xff0c;指在软件设计中&#xff0c;被反复使用的一种代码设计经验。使用设计模式的目的是为了可重用代码&#xff0c;提…

Python序列之集合

系列文章目录 Python序列之列表Python序列之元组Python序列之字典Python序列之集合&#xff08;本篇文章&#xff09; Python序列之集合 系列文章目录前言一、集合是什么&#xff1f;二、集合的操作1.集合的创建&#xff08;1&#xff09;使用{}创建&#xff08;2&#xff09;…

电商大数据商品采集:阿里巴巴1688电商网站货源产品信息采集

商品详情大数据采集:阿里巴巴1688电商网站货源产品信息采集 ------------- 数据采集满足多种业务场景&#xff1a;适合产品、运营、销售、数据分析、政府机关、电商从业者、学术研究等多种身份 职业。 舆情监控&#xff1a;全方位监测公开信息&#xff0c;抢先获取舆论趋势。 市…

计算机组成原理复习4

习题 练习题 下列不属于系统总线的为&#xff08;&#xff09; a.数据总线 b.地址总线 c.控制总线 d.片内总线 D 系统总线中地址总线的功能是&#xff08;&#xff09; a.选择主存单元地址 b.选择进行信息传输的设备 c.选择外存地址 d.指定主存和I/O设备接口电路的地址 D 解…