Updates to cross2 Chapter 1

git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/cross2@11911 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
This commit is contained in:
Bruce Dubbs 2020-06-09 15:57:09 +00:00
parent ce335792fe
commit 3369724788
2 changed files with 13 additions and 27 deletions

View File

@ -44,36 +44,18 @@
discusses the setup of an appropriate working environment. Please read discusses the setup of an appropriate working environment. Please read
<xref linkend="chapter-final-preps"/> carefully as it explains several <xref linkend="chapter-final-preps"/> carefully as it explains several
important issues you need be aware of before beginning to important issues you need be aware of before beginning to
work your way through <xref linkend="chapter-temporary-tools"/> and beyond.</para> work your way through <xref linkend="chapter-cross-tools"/> and beyond.</para>
<para><xref linkend="chapter-temporary-tools"/> explains the installation of <para><xref linkend="chapter-cross-tools"/>, explains the installation of
a number of packages that are needed to resolve circular the initial tool chain, (binutils, gcc, and glibc) using cross compilation
dependencies&mdash;for example, to compile a compiler, you need a compiler. techniques to isolate the new tools from the host system.</para>
or to unpack the tar package, you need tar.</para>
<para><xref linkend="chapter-temporary-tools"/> also shows you how to <para><xref linkend="chapter-temporary-tools"/> shows you how to
build a C cross-compiling toolchain as a first step, including binutils cross-compile basic utilities using the just built cross-toolchain.</para>
and GCC. Cross-compiling is not absolutely needed since the machine we'll
run LFS on is the same as the one we build on, but it has the advantage
of clearly separating the already installed system and the future LFS one.
The next step is to build Glibc, the C library. Glibc will be compiled by
the toolchain programs built previously. Then, the missing bits for a
C++ cross-compiling toolchain will be built. It is then possible to build
packages that are needed to resolve circular dependencies in such a way
that the produced executables and libraries are completely independent
from the installed distribution.</para>
<para>The remainder of <xref linkend="chapter-temporary-tools"/> adds <para><xref linkend="chapter-chroot-temporary-tools"/> then enters a
the packages necessary to get a complete build environment. This is done "chroot" environment and uses the previously built tools to build
after running the <command>chroot</command> (change root) program to enter the additional tools needed to build and test the final system.</para>
a virtual environment and start a new shell whose root directory will be
set to the LFS partition. This is very similar to rebooting and instructing
the kernel to mount the LFS partition as the root partition. The system
does not actually reboot, but instead uses <command>chroot</command>
because creating a bootable system requires additional work which is not
ecessary just yet. The major advantage is that <quote>chrooting</quote>
allows to isolate the build process from the installed distribution, while
using the installed kernel.</para>
<para>This effort to isolate the new system from the host distribution may <para>This effort to isolate the new system from the host distribution may
seem excessive. A full technical explanation as to why this is done is seem excessive. A full technical explanation as to why this is done is

View File

@ -11,6 +11,10 @@
<title>What's new since the last release</title> <title>What's new since the last release</title>
<para>In this version of LFS, there has been a major reorganization
of the book using techniques that avoid changing the host system
and provides a more straight forward build process.</para>
<para>Below is a list of package updates made since the previous <para>Below is a list of package updates made since the previous
release of the book.</para> release of the book.</para>