从头构建Linux系统之一 —— 前言

一、概述

有很多原因会促使你阅读本系列教程。很多人会提出一个问题:“既然你可以下载和安装某个已有的Linux发行版系统,为什么还要历经各种困难,手动地从头构建一个Linux系统?”

本系列教程存在的一个重要原因便是帮助你学习Linux系统由内而外是如何工作的。构建LFS系统能够说明Linux系统是如何工作的、系统组件之间是如何协作的,以及组件之间的相互依赖关系。这些学习经验能够带给你的最大收获便是能够自定义一个Linux系统的能力,这种定制系统才能真正满足你的独特的需求。

构建LFS系统带来的另一个关键好处便是,你能够更好地控制操作系统,而不用依赖于其他人的Linux实现版本。通过构建LFS系统,你就可以坐在驾驶席位上,决定系统的方方面面。

LFS系统使得你能够创建非常紧凑的Linux系统。当安装常规的发行版时,你经常会被迫安装大量的程序,你很有可能从来不会使用这些程序,也不会理解这些程序的用处。这些无用的程序会浪费大量的资源。你可能会争辩说,现今的硬盘和CPU都非常强悍,这些资源消耗并不足以为虑。但是,有时候你没有其他的选择,还是会受制于有限的资源规模。请考虑一下可引导光盘、可引导U盘和嵌入式系统,这些领域都可以受益于LFS系统。

定制构建Linux系统的另一个好处便是安全性。通过从源码编译整个系统,你就能够审核系统的方方面面,然后使用符合自身需求的各种安全补丁。你不再需要等待其他人编译用于修复某个安全漏洞的二进制包。除非你有能力分析补丁,并且有能力自己实现补丁,否则你就不能保证其他人提供的二进制包是编译正确的,也就不能保证能够修复系统的漏洞问题。

从头编译Linux系统的目标是构建一个完整可用的基础水平系统。如果你不想从头编译属于自己的Linux系统,那么你就很难深入理解Linux的工作原理。

构建属于你自己的LFS系统还有很多其他的好处,此处就不一一列出了。总之,学习Linux的工作原理才是本系列教程的最重要的目的。随着你深入实践编译LFS系统的过程,你将会逐渐理解学到的知识和信息的有用之处。

二、环境描述

本系列教程将会在一个VMware的虚拟机中编译LFS系统,这个虚拟机的宿主物理机是一台Surface Pro 3专业版平板/笔记本电脑。

1. 宿主机配置

  • CPU:Intel Core i5 4300U(双核心/四线程)
  • 内存:DDR3LP 8GB
  • 硬盘:SSD 256GB
  • 操作系统:Windows 10 Professional 64位
  • 虚拟化工具:VMware Workstation 12 Pro
  • 终端模拟器:Xshell 5
  • IP地址:192.168.1.105

2. 虚拟机配置

  • CPU:单核
  • 内存:4GB
  • 硬盘:两块120GB虚拟磁盘(动态分配)
  • 操作系统:CentOS 6.6 x86_64 Minimal
  • 联网方式:Bridged
  • 主机名:CentOS.6.6-LFS
  • MAC地址:00-50-56-28-E9-0D
  • IP地址:192.168.1.113
  • iptables:关闭
  • selinux:禁用

三、章节安排

从头构建Linux系统是一个比较漫长和繁琐的过程,本系列教程将整个操作过程分解为8个章节:

  • 第一章:介绍为何要从头构建Linux系统,以及软硬件环境配置。
  • 第二章:搭建宿主机系统,使其满足构建LFS系统的前提条件。
  • 第三章:下载LFS系统需要的各类软件包和补丁。
  • 第四章:创建必要的目录和用户,配置宿主机环境,最后介绍SBU的概念。
  • 第五章:构建一个用于编译LFS的最小化Linux系统。
  • 第六章:安装基本的LFS系统软件。
  • 第七章:配置LFS系统。
  • 第八章:将LFS系统配置为可启动的。

除了上述的章节之外,本系列教程还会安排以下4个附录:

  • 附录-1:缩略语和术语
  • 附录-2:依赖关系
  • 附录-3:启动和系统配置脚本
  • 附录-4:udev配置规则