r1759 - branches/clfs-2.0/BOOK/introduction/common

jciccone at linuxfromscratch.org jciccone at linuxfromscratch.org
Fri Jun 9 17:33:28 PDT 2006

Author: jciccone
Date: 2006-06-09 18:33:27 -0600 (Fri, 09 Jun 2006)
New Revision: 1759

Updated the how page for sysroot builds

Modified: branches/clfs-2.0/BOOK/introduction/common/how.xml
--- branches/clfs-2.0/BOOK/introduction/common/how.xml	2006-06-10 00:17:08 UTC (rev 1758)
+++ branches/clfs-2.0/BOOK/introduction/common/how.xml	2006-06-10 00:33:27 UTC (rev 1759)
@@ -27,9 +27,6 @@
   or additional downloads are necessary. For more information about the
   LFS LiveCD or to download a copy, visit <ulink url="&livecd-root;"/></para>
-  <!-- -->
   <para><xref linkend="chapter-partitioning"/> of this book describes how
   to create a new Linux native partition and file system, the place
   where the new CLFS system will be compiled and installed. <xref
@@ -39,57 +36,24 @@
   discusses the setup for an appropriate working environment. Please read
   <xref linkend="chapter-final-preps"/> carefully as it explains several
   important issues the developer should be aware of before beginning to
-  work through <xref linkend="chapter-cross-tools"/> and
-  beyond.</para>
+  work through <xref linkend="chapter-cross-tools"/> and beyond.</para>
   <para><xref linkend="chapter-cross-tools"/> explains the installation of
   cross-compile tools which will be built on the host but be able to compile
   programs that run on the target machine. These cross-compile tools will
-  be used to create a temporary, minimal system that will be the basis for
-  building the final CLFS system. Some of these packages are needed to resolve
-  circular dependencies—for example, to compile a compiler, you need a
-  compiler.</para>
+  be used to create the final-system.</para>
   <para>The process of building cross-compile tools first involves installing
-  binutils into ${LFS}/cross-tools, so that the linker can be used with the building
-  of everything else in the temp-system. GCC is then compiled statically and
-  installed into ${LFS}/cross-tools, and this cross-compiler is used to build glibc
-  into /tools for the temp-system. The GCC cross-compiler is then rebuilt
-  dynamically - this final cross-compiler is what will be used to build the
-  rest of the temporary system. When this is done, the CLFS installation
-  process will no longer depend on the host distribution, with the exception
-  of the running kernel.
-  <!-- still needs some work - needs to provide a better technical
-explanation, especially the reasoning for compiling gcc statically then dynamically... --></para>
+  binutils into ${LFS}/cross-tools, so that we have an asembler and a linker
+  for our target architecture. GCC is then compiled statically and installed
+  into ${LFS}/cross-tools, this cross-compiler is used to build glibc for the
+  final-system. The GCC cross-compiler is then rebuilt dynamically - this final
+  cross-compiler is what will be used to build the final-system.</para>
-  <para>The packages in <!-- <xref linkend="chapter-temp-system"/> --> are then built
-  using the cross-compiled tools in ${LFS}/cross-tools, and linked against the
-  C library that was installed during the building of the cross-tools.</para>
-  <para>This effort to isolate the new system from the host distribution
-  may seem excessive, but a full technical explanation is provided at the
-  beginning of <!-- <xref linkend="chapter-temp-system"/> -->.</para>
   <para>In <xref linkend="chapter-building-system"/>, the full CLFS system is
-  built. Depending on the system you are cross-compiling for, either you will
-  boot the minimal temp-system on the target machine, or chroot into it.</para>
+  cross-compiled. The system is built using a sysroot. Sysroot is a parameter
+  passed to binutils and gcc that modifies its default search paths.</para>
-  <para>The <command>chroot</command> (change root) program is used to enter
-  a virtual environment and start a new shell whose root directory will be set
-  to the CLFS partition. This is very similar to rebooting and instructing the
-  kernel to mount the CLFS partition as the root partition.
-  The major advantage is that <quote>chrooting</quote> allows the builder to
-  continue using the host while CLFS is being built. While waiting for package
-  compilation to complete, a user can switch to a different virtual console
-  (VC) or X desktop and continue using the computer as normal.</para>
-  <para>Some systems cannot be built by chrooting so they must be
-  booted instead. Generally, if you building for a different arch than
-  the host system, you must reboot because the kernel will likely not
-  support the target machine. Booting involves installing a few
-  additional packages that are needed for bootup, installing
-  bootscripts, and building a miminal kernel.</para>
   <para>To finish the installation, the CLFS-Bootscripts are set up in <xref
   linkend="chapter-bootscripts"/>, and the kernel and boot loader are set
   up in <xref linkend="chapter-bootable"/>. <xref

More information about the cross-lfs mailing list