简介
LFS 项目不用太多介绍,前面已经有很多的内容描述了。我基于前面的内容考虑实现一个简化版本的支持 docker 的 LFS 环境。从前面实现的 LFS 项目来看需要解决以下几个问题
- 系统服务管理需要与时俱进采用 systemd 的管理方式而不是传统的 Sysvint 的模式
- 系统的内核需要支持容器环境
- 容器服务同时还依赖 git 和 iptables 组件
容器环境要求
官网上有专门的二进制安装方法,安装步骤很简洁,就是下载解压即可使用,但是对系统的依赖说法比较简洁
- A 64-bit installation 64位操作系统(这个都满足)
- Version 3.10 or higher of the Linux kernel. (3.1版本以上的内核,缺乏细致的内核配置要求说明)
- iptables version 1.4 or higher (iptables 版本 1.4 以上,但是该组件相关的依赖非常多,官网没有更详细的说明)
- git version 1.7 or higher (git 版本容易满足)
- A ps executable, usually provided by procps or a similar package. (ps 工具)
- XZ Utils 4.9 or higher (xz 压缩工具及对应的版本)
- A properly mounted cgroupfs hierarchy; a single, all-encompassing cgroup mount point is not sufficient. (cggoup 相关的支持)
最麻烦的其实时内核编译所需的组件配置,因为内核编译相关的组件太多了,容器环境涉及存储、网络、cggroup、服务等多方面的内容。
LFS 相关
LFS 直接参照之前的步骤,除了在创建系统文件(passwd 和 group )及 systemd 组件及后续配置有不同外,其他的步骤可以沿用。
调整的部分主要包括
- /etc/passwd
- /etc/group
- 网络配置文件
- systemd 组件
- 内核配置