使用 Linux 从头开始创建您自己的操作系统
并不是每个人都知道这一点,但您可以从头开始创建自己的基于 Linux 的操作系统。以下是如何开始。
有无数不同的 Linux 发行版可供使用。他们中的许多人都试图满足您的具体需求和品味。
但也许您不想花时间查看和测试每个发行版,尤其是当发行版数量远远超过 1,000 个时。要找到天作之合,这可能是一种耗时的方法,而且没有任何保证。还有什么比自己制作操作系统更好的方法来了解您手中是否有完美的匹配呢?
这就是 Linux From Scratch 的用武之地。
什么是从头开始的 Linux?
Linux From Scratch (LFS) 项目是专门为让您能够制作自己的 Linux 操作系统来满足您的需求而创建的,无论是特殊的硬件调整、最大限度地提高性能、保持领先地位还是学习 Linux 的内部结构。
Linux From Scratch 不仅仅是另一个附带最少必需工具的发行版。 LFS 实际上只是文档的集合,因此您所做的一切实际上都来自每个项目的源代码。
换句话说,借助 LFS 文档,您可以直接从其站点下载 Linux 内核的源代码并进行编译。然后,您可以继续进行下一个组件,并从那里继续工作,直到最终构建出一个完整的操作系统,或者至少构建出您需要的操作系统。
如何制作自己的 Linux 操作系统
创建自己的 Linux 操作系统时,您需要了解必须使用 Linux 发行版来创建另一个操作系统。这是因为,当您直接从源代码创建所有内容时,您将需要大多数 Linux 发行版提供的通用工具来编译和安装 LFS 系统。
也就是说,您不必安装临时发行版。您可以从 USB 记忆棒启动 Linux,并用它来完成您需要做的所有事情。
准备好后,打开最新的 Linux From Scratch 文档以获取有关如何入门的指导。该文档将包含有关如何完成所需步骤的链接和详细信息,这是本文不会完整介绍的内容。
步骤一:磁盘分区
打开文档后第一个真正的步骤是创建一个新分区,您将在其中安装新的 LFS 操作系统。您可以坚持平常所做的事情,无论是将所有内容存储在单个分区上、分离根分区和主分区,还是加密磁盘。
欢迎您使用您最喜欢的分区工具(例如 GParted)创建这些分区。如果您使用的是标准版本的 Ubuntu 或 Fedora,那么您很可能已经安装了 GNOME 磁盘。或者您可以选择使用命令行工具,例如 fdisk,无论您选择哪种发行版,该工具都可用。
您可以选择在现有操作系统旁边创建一个系统,但要知道双引导会带来风险。 Linux From Scratch 已经足够复杂了。您可能不想为增加的复杂性而烦恼。
第 2 步:编译并安装您的基本系统
准备好分区后,您将需要前往第 3 章下载所有必要的软件包和补丁的源代码。然后,在进行文档第 4 章中定义的更多更改后,您将开始构建 LFS 系统的基本框架。
通过遵循该指南,您将编译构成工具链的工具,然后使用该工具链来构建其余的基础知识。
请注意,Linux From Scratch 与标准发行版具有不同的“必需品”概念,标准发行版附带大量后台服务,例如打印、音频服务器和防火墙。您可以随意安装任意数量的内容,但这会在稍后进行。
您的基础系统是创建可独立运行的可启动系统所需的,而无需继续从单独的发行版继续工作。
完成基础编译后,您将“chroot”到新系统中。这相当于重新启动进入新操作系统,只不过您并不是真正重新启动,并且更改仅适用于您的终端窗口。此时,您可以开始编译构成新操作系统的所有其他内容。
第 3 步:安装桌面、应用程序和所有其他组件
一旦完成简单的配置,您就可以开始安装其他软件,使您的系统真正属于您。您应该安装哪些其他软件完全取决于您、您的愿望和需求。
请记住,没有包管理器。要安装任何东西,您需要知道如何从源代码编译和构建软件。这就是为什么 LFS 经常被描述为掌握 Gentoo 的人的下一个水平的原因之一。如果构建这么多软件令人反感,您可能想尝试一下 Arch Linux。
至于安装哪个软件,您有完全的自由。如果您想继续本着从头开始尽可能多地构建的精神,您可以决定构建自己的桌面环境,但没有什么可以阻止您选择众多预先存在的选项之一。
无论哪种方式,您都可以从最好的 Linux 应用程序中进行选择。如果您已经做到了这一步,那么您很可能知道您希望建立什么样的系统。享受打造属于自己的计算机的乐趣。
从头开始制作 Linux 值得吗?
创建一个 LFS 操作系统肯定需要一些时间,因为编译软件并不是一个快速的过程。尚未尝试过 Linux 或对终端不熟悉的人可能希望在深入了解之前从其他地方开始。
如果您无论如何都想尝试 Linux From Scratch,您可以在安全、隔离的位置(例如虚拟机或太空机器)进行尝试,这样您就不会意外损坏有价值的数据。然后,无论如何,学习。有很多无价的知识只有通过实践才能获得。