立即注册

ekn

2019人工智能创新平台招新仅注册用户才可以浏览全站
查看: 1589|回复: 0

LinuxFromScratch - 从源代码开始构建自己的Linux发行版本

[复制链接]

12

主题

16

帖子

133

积分

版主

Rank: 7Rank: 7Rank: 7

积分
133
发表于 2020-5-5 23:03:45 | 显示全部楼层 |阅读模式
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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

游客
回复
您需要登录后才可以回帖 登录 | 立即注册

Archiver|手机版|小黑屋|ekn

GMT+8, 2024-5-19 02:31 , Processed in 0.013918 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表