标签:运行环境 挂载 pat chroot 官方 systemd 删掉 失效 文件
做了一个自己的DIY Linux系统。从编译每一行代码,建立每一个文件系统结构开始。
创造自己的Linux系统,不同于任何发行版。按照的教程是来自 linuxfromscratch.org 来的。我选用的是systemd lfs 8.0 稳定版的教程。
说说这里面遇到的一些问题和自己解决的方法。
用的ubuntu16.04 64位的处理器环境。这个叫host system(gcc5.4.0)。需要给这个host system安装很多编译需要的环境。用这个机器来编译下一个机器的所有运行环境。
有个version
还需要一个额外的硬盘。这个可以在virtualbox里面挂载一个。由于编译完的空间占用很大,比如说编译一个gcc产生的文件就高达2.5G,所以,需要一个大一点的硬盘。官方说至少6G。我做过多次的LFS,经验告诉我至少12G,更好是20G。
这个额外的硬盘是用来专门容纳制作好的系统的。当然你也可以用一个大一点的文件系统挂载成一个硬盘。
有很多包需要编译的。这里着重说一下。期间有多个包要多次编译。例如binutils、gcc、glibc。为什么要多次编译呢?
第一次用host system的 gcc 5.4.0 编译binutils, gcc (6.3.0),是为了后来用已经编译好的gcc 6.3.0再去编译剩下部分的binutils、gcc、glibc。这样下面新系统上的软件都是同一个编译器6.3.0编译的软件了。
每次不同的设定,编译 例如binutils、gcc的时候,都要将之前的 源代码 文件夹删掉,重新解压,重新 configure,重新编译,重新安装。否则会出现不可逆转的错误。(例如chroot 新LFS系统后,gcc失效)
其他的编译后的源代码也可以删掉,留着也没什么用。如果下次用的话,可以留着。省点空间是好的。
其中有一些patch,例如glibc2.5 有一些patch需要打。可以用patch -p3 < ../somewhere.patch 打补丁。-p3 的意思是同目录下横跨三个 \ 斜杠目录,进行打补丁。打完补丁,再configure,再make,make install。
LFS Linux From Scratch 笔记(经验非教程)
标签:运行环境 挂载 pat chroot 官方 systemd 删掉 失效 文件
原文地址:http://www.cnblogs.com/spaceship9/p/6526887.html