第5章 在$LFS/tools下构造临时系统
一般来说,在宿主系统里编译出来的程序,需要依赖/lib下的动态库,为了隔开目标系统对宿主系统的依赖,也需要得重新制作这些动态库。
可以说,没有gcc就没有linux。首先,用宿主系统编译一个只支持静态链接的gcc,放在/tools下,再用这个gcc编译glibc放在/tools下,然后,回过头来,用/tools下的gcc和glibc编译出一个常规的、可支持动态链接的gcc,以后用第二次得到的gcc编译的程序,将改用/tools下的库等运行环境,摆脱了对宿主系统的依赖,实现了宿主系统和目标系统的隔离。
/tools是一个指向/home/lfs/build/tools/的一个符号链接,当在/tools下积累了足量的软件后,就chroot到/home/lfs/build里,它变成了新的文件系统的根,而这里,原先的/tools就是现在的/tools,实现了乾坤大挪移。
具体的细节,在后续的步骤里细说。