如何获取 Ubuntu 的源代码?

bab*_*dev 2 compiling kernel source-code

我听说 Ubuntu 是一个开源项目。

因此,假设此时我已经安装了 Windows 8,并且我想自己构建 Ubuntu 操作系统 - 通过编译每个包,并构建一个自定义内核。

我将如何编译并将其转换为 ISO?我很困惑。

我怎样才能实现这个过程。这有什么之间的区别Ubuntu Kernel sourceUbuntu Source

我听说 Ubuntu 被分成几个包 -Ubuntu kernel source code作为一个包有什么作用?

laz*_*wer 9

您已被正确告知 Ubuntu 确实是一个开源项目。

虽然完全可以编译每个包 - 并花费几个小时来执行这样的任务 - 它并不真正推荐给第一次使用的用户。从这里不同级别的问题来看 - 这对您来说在虚拟机中进行探索似乎是一件好事,这样您就不会在探索和学习构建自己的操作系统的奇妙世界时破坏正在运行的 PC系统。

您不仅可以使用 ubuntu 编译和创建自己的 ISO,还可以使用任何向公众提供其源代码的 linux 发行版。此过程背后的主要方法是选择您的基本系统包(来自基于 debian 的发行版 - 可能更多)并开始使用 remastersys 构建它。

完成此过程后,您可以选择要构建的 ISO 格式,从而安装您自己的发行版。但是 - 如果您不知道自己在做什么,它可能会给您带来问题。再次 - 我强烈建议您在尝试安装到您的主工作站之前,使用虚拟机来测试您使用 remastersys 手工构建的任何内容。

关于 Remastersys 的信息

Remastersys 是一种从正在运行的 Ubuntu 或 Debian 安装中提取配置的工具,然后将其转换为可安装的 ISO 映像。这意味着您可以使用您通常使用的标准工具执行自定义,例如包管理系统和 GUI 配置工具。当您按照您想要的方式设置好所有内容后,您可以克隆系统并部署它。此外,您可以使用 Remastersys 克隆一个工作系统。

教程链接在这里

如果您想通过从源代码构建所有内容开始 - 正如其他用户所指出的那样,有一些发行版旨在提供这种体验。例如第 1 阶段的 Gentoo 安装 - 您实际上从 ram 中的最小 linux 实例开始 - 并一次构建您的基本操作系统。如果这是您第一次运行,整个过程可能需要长达一天的时间 - 遇到奇怪和神秘的错误消息的情况并不少见,这需要对您正在进行的过程进行更深入的了解。

Kernel Source 和 Ubuntu Source 有什么区别?

这可能意味着三件事之一,我将尝试涵盖所有路径。

  1. 内核源代码是由以 Linus Torvalds 为首的核心内核团队分发的官方 linux 内核源代码。这通常被称为“香草内核”。

  2. “Ubuntu 源代码”可能指的是内核的 Canonicals 分支,我们通过补丁、供应商硬件堆栈(称为 HWE - Hardware Enablement 的简写)以及其他帮助 Ubuntu 以您想要的方式执行和行为的定制保持最新期待 Ubuntu 的表现。

  3. 或者“Ubuntu 源代码”可能意味着我们可用的数千个包——从 Dash(或 Bash)等基本系统实用程序到 Unity 等完整的 GUI 桌面环境——实际上是一个元包,由几个组成组成 Ubuntu 交互式桌面的微服务和组件。

作为包的内核源代码有什么作用?

您在 Ubuntu 中遇到的大多数软件包都是二进制发行版。这意味着它们是为您的 CPU 架构预编译的,并且可以在您的机器所需的零编译的情况下随时运行。这会加快安装速度,并为您提供一组合理的默认值以供使用。

某些软件包,例如 linux-headers - 分发用于编译其他软件包的源代码。这可能需要安装内核模块、构建开发人员级别的软件包或从需要linux 头文件的项目中安装最新的软件包,作为其他代码包含的内容。(如果您需要有关此主题的更多信息,我鼓励您查找编程入门指南,并通读一遍)

希望这已经回答了您的一系列问题 - 您会觉得自己掌握了足够的信息来开始行动。再次 - 如果您选择构建自己的操作系统风格,请谨慎使用此建议。团队成员花费了不同的时间来构建强大的操作系统,例如 Ubuntu。虽然这是一次很棒的学习体验 - 它当然不适合所有人。