关于安装系统的问题(如何将 lfs 生成的系统改造成可以用以安装的.iso 文件)

2016-06-08 11:31:07 +08:00
 dexterlei

前些日子在 linux 下练习了安装 LFS 系统的方法。 想将这个 lfs 系统改造成像发行版一样的.iso 格式的安装文件,没有找到脉络比较清楚的指导(早前版本的 lfs 是提供关于制作 liveCD 的指导的,但现在没有了)。 在安装 lfs 的过程中,第一部分的主要工作就是构建一个相对独立于自身操作系统的工具链,可以理解为给下面的编译安装提供一个基础工具平台。然而,再在这个平台的基础上编译安装新的 linux 的主体。

那么,一般的 linux 发行版的系统安装盘(非 liveCD )是否也是这个原理呢? 先在内存中载入一个基础的工具链,然后,通过这个工具链将用户选择的工具和环境编译安装放入硬盘中,修改启动方式。 我现在的问题是:

  1. 不知道我对这个的理解是否正确,错在哪里?
  2. 如果这个理解是正确的,那么,这个首先载入内存的安装引导程序如何制作,或者在哪里可以下载使用?
  3. 在这个安装引导程序中,是否是将 lfs 系统的安装过程制作成脚本,放入其中?
  4. 如果我的理解是对的,我还是有疑惑,一般的系统安装过程感觉普遍比 lfs 的脚本执行一遍的速度快呀,是快在了哪里?是否是他们已经预先编译了一部分软件?
2133 次点击
所在节点    问与答
3 条回复
fcicq
2016-06-08 14:10:23 +08:00
普通的系统安装是通过包管理器直接把现成编译好的结果在目标分区上展开, 然后执行安装后脚本就完成了啊. 安装中不依赖编译器.
gentoo 这样的也是准备好了现成的 stage3, 在那个基础上再往下编译装别的, 极少有人再折腾 stage1 了.
dexterlei
2016-06-08 14:56:58 +08:00
@fcicq 嗯,这样啊,要搜这一类的参考资料,应该用什么样的关键字呢?总是搜出些边边角角不成系统的信息,感觉老是抓不到关键。
就是怎样制作一个包管理器的启动程序,这一类的参考资料。
fcicq
2016-06-08 15:19:06 +08:00
@dexterlei 包是有格式的, 所以完全可以自己提取文件, 这样就有可能不安装包管理器的执行文件本身去安装某个包. 不过一般情况下包管理器会支持写在指定路径下.

拿 debootstrap 作为例子. dpkg 解压之后可以选择不做 configure 操作并把这个操作写到脚本里以便延迟执行, 这样可以实现跨体系结构的系统自举.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/284336

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX