LFS 学习记录
  • Shell 97%
  • Python 3%
Find a file
Teddy Ma 967a9f8435 9
2025-03-11 14:39:20 +08:00
chapters 9 2025-03-11 14:39:20 +08:00
linuxfromscratch-scripts init 2025-03-10 11:33:56 +08:00
boot.org init 2025-03-10 11:33:56 +08:00
note.org init 2025-03-10 11:33:56 +08:00
README.org init 2025-03-10 11:33:56 +08:00

Linux From Scratch(LFS)

  • 什么是Linux
  • 介绍一下这个系列视频
  • 公路片, 以 LFS 为主线, 闲聊, 很水, 但是毕竟有主线,也不会烂尾(因为自己已经实现了)
  • 通过 LFS 串联起关于 Linux 的各方面知识

缘起

很早很早以前就知道 LFS 这个东西了, 那时候刚接触 UBUNTU, 然后第一次用命令行安装了 ARCHLINUX 之后

我觉得自己又行了, 是个 Linux 高手了, 就开始找更难安装的发行版, 然后就找到了 LFS

然后看了一眼项目主页, 完全蒙了, 这完全超出了我当时的认知, 根本理解不了这是什么东西, (SAN 值归零)

所以今天, 我们先聊一下它到底是什么?

LFS 是一个 Linux 发行版, 与大多数发行版不同的是, 它, 是一份文档(书), 那么什么是发行版TODO LFS 是否符合一个发行版

LINUX 是什么? TODO 内核 GNU 那些

技术上看

首先我们使用虚拟机, 好处: 哪怕你有闲置的机器, 也推荐虚拟机

  • 不怕破坏真实硬件(主要是磁盘)这个太多翻车的了, b 站上我就看到过, 不小心把自己宿主机磁盘格掉的
  • 可以即时存档 (就像游戏主机模拟器一样) 有这玩意, 可以说体验完全不同了。 可以按照步骤, 或者按照时间(哪怕操作到一半也可以暂停) 去玩游戏什么的

一旦断了就很麻烦 ,所以要可以存档的。

  • 不用担心硬件驱动的问题 (毕竟如果家里翻出来一个闲置的老爷机, 搞不好硬件驱动就不行了, 毕竟 LFS 用的软件都是很新的)

顺便说下, 不要觉得有 SCRATCH 这个单词就和粗糙,简陋联系在一起, 实际上 LFS 对硬件的要求不低的, 毕竟都要自己编译

很耗时, 要有耐心,

大纲

TODO 首先是架构图

LFS 这个文档, 它就像菜谱一样, 它只负责 HOW 的部分, 不包含 WHAT 和 why, 就比如说, 菜谱里只会说加蒜加姜, 但不会解释 蒜和姜是什么, 也不会解释为什么要加这些佐料(是用来去腥还是怎么样)。

所以作为补充, 这里必须先从整体上说明一下 WHAT 和 WHY

WHAT 前面说过了。 下面说下 WHY, 整个文档很长,很容易陷于到细节中, 所以我先把整个过程分为几个部分。

首先看一下, 按下开机键之后到操作系统启动发生了什么。

BIOS 启动, 寻找可以 BOOT 的磁盘, 选定磁盘后, 启动特定位置的程序 (一般为 GRUB 之类的软件)

然后加载操作系统。 那么操作系统(LINUX为例)又需要什么才能启动,

需要文件系统, 和必备的软件。

因此我们要做的,就是准备好文件系统,再把所需的软件安装到合适的位置(安装的意思就是编译,并把编译好的二进制文件(和一些文本)放到对应的地方)

整个过程很漫长, 大概分一下步骤:

  • 宿主机安装必备的软件
  • 分区 和 文件系统