Changeset 8f2279f in clfs-sysroot for BOOK/introduction/common/how.xml

Jun 9, 2006, 8:58:15 PM (16 years ago)
Jim Gifford <clfs@…>

r3908@server (orig r1759): jciccone | 2006-06-09 17:33:27 -0700
Updated the how page for sysroot builds

1 edited


  • BOOK/introduction/common/how.xml

    r2ad9b71 r8f2279f  
    2828  LFS LiveCD or to download a copy, visit <ulink url="&livecd-root;"/></para>
    30   <!-- -->
    3330  <para><xref linkend="chapter-partitioning"/> of this book describes how
    3431  to create a new Linux native partition and file system, the place
    4037  <xref linkend="chapter-final-preps"/> carefully as it explains several
    4138  important issues the developer should be aware of before beginning to
    42   work through <xref linkend="chapter-cross-tools"/> and
    43   beyond.</para>
     39  work through <xref linkend="chapter-cross-tools"/> and beyond.</para>
    4541  <para><xref linkend="chapter-cross-tools"/> explains the installation of
    4642  cross-compile tools which will be built on the host but be able to compile
    4743  programs that run on the target machine. These cross-compile tools will
    48   be used to create a temporary, minimal system that will be the basis for
    49   building the final CLFS system. Some of these packages are needed to resolve
    50   circular dependencies&mdash;for example, to compile a compiler, you need a
    51   compiler.</para>
     44  be used to create the final-system.</para>
    5346  <para>The process of building cross-compile tools first involves installing
    54   binutils into ${LFS}/cross-tools, so that the linker can be used with the building
    55   of everything else in the temp-system. GCC is then compiled statically and
    56   installed into ${LFS}/cross-tools, and this cross-compiler is used to build glibc
    57   into /tools for the temp-system. The GCC cross-compiler is then rebuilt
    58   dynamically - this final cross-compiler is what will be used to build the
    59   rest of the temporary system. When this is done, the CLFS installation
    60   process will no longer depend on the host distribution, with the exception
    61   of the running kernel.
    62   <!-- still needs some work - needs to provide a better technical
    63 explanation, especially the reasoning for compiling gcc statically then dynamically... --></para>
    65   <para>The packages in <!-- <xref linkend="chapter-temp-system"/> --> are then built
    66   using the cross-compiled tools in ${LFS}/cross-tools, and linked against the
    67   C library that was installed during the building of the cross-tools.</para>
    69   <para>This effort to isolate the new system from the host distribution
    70   may seem excessive, but a full technical explanation is provided at the
    71   beginning of <!-- <xref linkend="chapter-temp-system"/> -->.</para>
     47  binutils into ${LFS}/cross-tools, so that we have an asembler and a linker
     48  for our target architecture. GCC is then compiled statically and installed
     49  into ${LFS}/cross-tools, this cross-compiler is used to build glibc for the
     50  final-system. The GCC cross-compiler is then rebuilt dynamically - this final
     51  cross-compiler is what will be used to build the final-system.</para>
    7353  <para>In <xref linkend="chapter-building-system"/>, the full CLFS system is
    74   built. Depending on the system you are cross-compiling for, either you will
    75   boot the minimal temp-system on the target machine, or chroot into it.</para>
    77   <para>The <command>chroot</command> (change root) program is used to enter
    78   a virtual environment and start a new shell whose root directory will be set
    79   to the CLFS partition. This is very similar to rebooting and instructing the
    80   kernel to mount the CLFS partition as the root partition.
    81   The major advantage is that <quote>chrooting</quote> allows the builder to
    82   continue using the host while CLFS is being built. While waiting for package
    83   compilation to complete, a user can switch to a different virtual console
    84   (VC) or X desktop and continue using the computer as normal.</para>
    86   <para>Some systems cannot be built by chrooting so they must be
    87   booted instead. Generally, if you building for a different arch than
    88   the host system, you must reboot because the kernel will likely not
    89   support the target machine. Booting involves installing a few
    90   additional packages that are needed for bootup, installing
    91   bootscripts, and building a miminal kernel.</para>
     54  cross-compiled. The system is built using a sysroot. Sysroot is a parameter
     55  passed to binutils and gcc that modifies its default search paths.</para>
    9357  <para>To finish the installation, the CLFS-Bootscripts are set up in <xref
Note: See TracChangeset for help on using the changeset viewer.