LinuxFromScratch - 从源代码开始构建自己的Linux发行版本
LFS简介借用其官网上的一句话:
Linux From Scratch (LFS) is a project that provides you with step-by-step instructions for building your own custom Linux system, entirely from source code.同时LFS还衍生出了BLFS、ALFS、CFLS等几个子项目,更多详细的内容可以参考LFS的官网:http://linuxfromscratch.org/。
LFS构建的主要过程
1、环境准备。下载指导书和软件包的源代码,准备一台Linux主机,并为LFS分配一个分区,设置好环境变量。
2、构建Temporary System。利用主机上已有的工具链,构建出一个临时的系统。这一步需要编译29个软件包。
3、chroot到临时系统,开始正式构建Linux系统,并构建更多的软件包,这一步需要编译72个软件包(包括上一步的29个包)。
4、对系统进行一些基本的设置,并添加引导。最后重启系统,进入LFS。
2/3两步非常消耗时间,主要消耗在输入编译指令。大部分的软件很快就可以编译完成,极少数需要编译比较久的时间。例如gcc,make -j8 && make check -j8 花费了40min。
第4步在启动kernel的时候,遇到了一些问题。最终查明的原因是,kernel的编译配置与硬件不匹配。
最终完成的效果图:
收获
1、接触到了两个新东西:chroot 与 Linux kernel 编译,需要再找资料深入的学习。
2、比以前更加会配置grub了。遇到引导失效,也知道如何使用liveCD修复。
3、shell脚本是写的越来越好了。
4、学习了Linux系统是如何组装起来了,了解了各个基础软件包的功能(指令 & 动态库)。
后续待填的坑:
1、chroot
2、kernel 编译
3、grub
4、逐一深入了解LFS使用到的各个软件包,最好简单阅读一下源代码。
5、BLFS/ALFS/CLFS也可以都玩一玩。
构建过程的详细步骤,编写的一些脚本,遇到的问题及其解决方法,会更新到GitHub上面:https://github.com/pkemb/LinuxFromScratch。
页:
[1]