- 06/01/2020 02:35:49 PM (3 years ago)
- 10.0, 10.0-rc1, 10.1, 10.1-rc1, 11.0, 11.0-rc1, 11.0-rc2, 11.0-rc3, 11.1, 11.1-rc1, 11.2, 11.2-rc1, 11.3, 11.3-rc1, arm, cross-chap5, ml-11.0, multilib, s6-init, trunk, xry111/arm64, xry111/clfs-ng, xry111/git-transition, xry111/glibc-2.34, xry111/glibc-2.37, xry111/kcfg-revise, xry111/lfs-next, xry111/pip3, xry111/queue-11.3, xry111/rust-wip-20221008, xry111/tester-nohack, xry111/usr-move
- 1 edited
r4f3e4e3 r3a56c9a 53 53 54 54 <para><xref linkend="chapter-temporary-tools"/> also shows you how to 55 build a first pass of the toolchain, including Binutils and GCC (first pass 56 basically means these two core packages will be reinstalled). 55 build a C cross-compiling toolchain as a first step, including binutils 56 and GCC. Cross-compiling is not absolutely needed since the machine we'll 57 run LFS on is the same as the one we build on, but it has the advantage 58 of clearly separating the already installed system and the future LFS one. 57 59 The next step is to build Glibc, the C library. Glibc will be compiled by 58 the toolchain programs built in the first pass. Then, a second pass of the 59 toolchain will be built. This time, the toolchain will be dynamically linked 60 against the newly built Glibc. The remaining <xref 61 linkend="chapter-temporary-tools"/> packages are built using this second 62 pass toolchain. When this is done, the LFS installation process will no 63 longer depend on the host distribution, with the exception of the running 64 kernel. </para> 60 the toolchain programs built previously. Then, the missing bits for a 61 C++ cross-compiling toolchain will be built. It is then possible to build 62 packages that are needed to resolve circular dependencies in such a way 63 that the produced executables and libraries are completely independent 64 from the installed distribution.</para> 65 66 <para>The remainder of <xref linkend="chapter-temporary-tools"/> adds 67 the packages necessary to get a complete build environment. This is done 68 after running the <command>chroot</command> (change root) program to enter 69 a virtual environment and start a new shell whose root directory will be 70 set to the LFS partition. This is very similar to rebooting and instructing 71 the kernel to mount the LFS partition as the root partition. The system 72 does not actually reboot, but instead uses <command>chroot</command> 73 because creating a bootable system requires additional work which is not 74 ecessary just yet. The major advantage is that <quote>chrooting</quote> 75 allows to isolate the build process from the installed distribution, while 76 using the installed kernel.</para> 65 77 66 78 <para>This effort to isolate the new system from the host distribution may … … 68 80 provided in <xref linkend="ch-tools-toolchaintechnotes"/>.</para> 69 81 70 <para><xref linkend="chapter-building-system"/> begins with installing the 71 remaining packages needed to build and test the final toolchain. Then, the 72 full LFS system is built. But first, the <command>chroot</command> (change 73 root) program is used to enter a virtual environment and start a new shell 74 whose root directory will be set to the LFS partition. This is very similar 75 to rebooting and instructing the kernel to mount the LFS partition as the 76 root partition. The system does not actually reboot, but instead uses 77 <command>chroot</command> because creating a bootable system requires 78 additional work which is not necessary just yet. The major advantage is 79 that <quote>chrooting</quote> allows you to continue using the host system 82 <para>In <xref linkend="chapter-building-system"/>, The 83 full LFS system is built. Another advantage provided by the chroot 84 environment is that it allows you to continue using the host system 80 85 while LFS is being built. While waiting for package compilations to 81 86 complete, you can continue using your computer as normal.</para>
Note: See TracChangeset for help on using the changeset viewer.