Changeset 5da8aa0 for BOOK/introduction/common
- Timestamp:
- Feb 21, 2006, 2:04:25 AM (19 years ago)
- Branches:
- clfs-1.2, clfs-2.1, clfs-3.0.0-systemd, clfs-3.0.0-sysvinit, master, systemd, sysvinit
- Children:
- f8f27bf9
- Parents:
- 9860952
- Location:
- BOOK/introduction/common
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
BOOK/introduction/common/changelog.xml
r9860952 r5da8aa0 38 38 39 39 <listitem> 40 <para>January 8, 2006</para> 41 <itemizedlist> 42 <listitem> 43 <para>[Chris] - Rewrote much of the description of the build 44 process and test suite information.</para> 45 </listitem> 46 </itemizedlist> 47 </listitem> 48 49 50 <listitem> 40 51 <para>January 3, 2006</para> 41 52 <itemizedlist> -
BOOK/introduction/common/how.xml
r9860952 r5da8aa0 43 43 beyond.</para> 44 44 45 <para><xref linkend="chapter-temp-system"/> explains the 46 installation of a number of packages that will form the basic 47 development suite (or toolchain) which is used to build the actual 48 system in <xref linkend="chapter-building-system"/>. Some of these 49 packages are needed to resolve circular dependencies—for example, 50 to compile a compiler, you need a compiler.</para> 45 <para><xref linkend="chapter-cross-tools"/> explains the installation of 46 cross-compile tools which will be built on the host but be able to compile 47 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 LFS system. Some of these packages are needed to resolve 50 circular dependencies—for example, to compile a compiler, you need a 51 compiler.</para> 51 52 52 <para><xref linkend="chapter-temp-system"/> also shows the user 53 how to build a first pass of the toolchain, including Binutils and GCC 54 (first pass basically means these two core packages will be re-installed 55 a second time). The next step is to build Glibc, the C library. Glibc 56 will be compiled by the toolchain programs built in the first pass. Then, 57 a second pass of the toolchain will be built. This time, the toolchain 58 will be dynamically linked against the newly built Glibc. The remaining 59 <xref linkend="chapter-temp-system"/> packages are built using this 60 second pass toolchain. When this is done, the LFS installation process 61 will no longer depend on the host distribution, with the exception of the 62 running kernel. </para> 53 <para>The process of building cross-compile tools first involves installing 54 binutils into /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 /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> 64 65 <para>The packages in <xref linkend="chapter-temp-system"/> are then built 66 using the cross-compiled tools in /cross-tools, and linked against the 67 C library that was installed during the building of the cross-tools.</para> 63 68 64 69 <para>This effort to isolate the new system from the host distribution … … 67 72 68 73 <para>In <xref linkend="chapter-building-system"/>, the full LFS system is 69 built. The <command>chroot</command> (change root) program is used to enter 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> 76 77 <para>The <command>chroot</command> (change root) program is used to enter 70 78 a virtual environment and start a new shell whose root directory will be set 71 79 to the LFS partition. This is very similar to rebooting and instructing the 72 kernel to mount the LFS partition as the root partition. The system does not 73 actually reboot, but instead <command>chroot</command>'s because creating a 74 bootable system requires additional work which is not necessary just yet. 80 kernel to mount the LFS partition as the root partition. 75 81 The major advantage is that <quote>chrooting</quote> allows the builder to 76 82 continue using the host while LFS is being built. While waiting for package 77 83 compilation to complete, a user can switch to a different virtual console 78 84 (VC) or X desktop and continue using the computer as normal.</para> 85 86 <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> 79 87 80 88 <para>To finish the installation, the LFS-Bootscripts are set up in <xref
Note:
See TracChangeset
for help on using the changeset viewer.