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
<xref linkend="chapter-final-preps"/> carefully as it explains several
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
a number of packages that are needed to resolve circular
dependencies&mdash;for example, to compile a compiler, you need a compiler.
or to unpack the tar package, you need tar.</para>
<para><xref linkend="chapter-cross-tools"/>, explains the installation of
the initial tool chain, (binutils, gcc, and glibc) using cross compilation
techniques to isolate the new tools from the host system.</para>
<para><xref linkend="chapter-temporary-tools"/> also shows you how to
build a C cross-compiling toolchain as a first step, including binutils
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><xref linkend="chapter-temporary-tools"/> shows you how to
cross-compile basic utilities using the just built cross-toolchain.</para>
<para>The remainder of <xref linkend="chapter-temporary-tools"/> adds
the packages necessary to get a complete build environment. This is done
after running the <command>chroot</command> (change root) program to enter
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><xref linkend="chapter-chroot-temporary-tools"/> then enters a
"chroot" environment and uses the previously built tools to build
the additional tools needed to build and test the final system.</para>
<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

View File

@ -11,6 +11,10 @@
<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
release of the book.</para>