Changeset 13a9dc2 for chapter01/how.xml
- Timestamp:
- 01/11/2006 12:02:10 PM (18 years ago)
- Branches:
- 10.0, 10.0-rc1, 10.1, 10.1-rc1, 11.0, 11.0-rc1, 11.0-rc2, 11.0-rc3, 11.1, 11.1-rc1, 11.2, 11.2-rc1, 11.3, 11.3-rc1, 12.0, 12.0-rc1, 12.1, 12.1-rc1, 6.3, 6.4, 6.5, 6.6, 6.7, 6.8, 7.0, 7.1, 7.2, 7.3, 7.4, 7.5, 7.5-systemd, 7.6, 7.6-systemd, 7.7, 7.7-systemd, 7.8, 7.8-systemd, 7.9, 7.9-systemd, 8.0, 8.1, 8.2, 8.3, 8.4, 9.0, 9.1, arm, bdubbs/gcc13, ml-11.0, multilib, renodr/libudev-from-systemd, s6-init, trunk, xry111/arm64, xry111/arm64-12.0, xry111/clfs-ng, xry111/lfs-next, xry111/loongarch, xry111/loongarch-12.0, xry111/loongarch-12.1, xry111/mips64el, xry111/pip3, xry111/rust-wip-20221008, xry111/update-glibc
- Children:
- 1f3e44f
- Parents:
- 895a637
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
chapter01/how.xml
r895a637 r13a9dc2 1 1 <?xml version="1.0" encoding="ISO-8859-1"?> 2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ 2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" 3 "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ 3 4 <!ENTITY % general-entities SYSTEM "../general.ent"> 4 5 %general-entities; 5 6 ]> 6 <sect1 id="ch-scatter-how">7 <title>How to Build an LFS System</title>8 <?dbhtml filename="how.html"?>9 7 10 <para>The LFS system will be built by using a previously installed 11 Linux distribution (such as Debian, Mandrake, Red Hat, or SuSE). This 12 existing Linux system (the host) will be used as a starting point to 13 provide necessary programs, including a compiler, linker, and shell, 14 to build the new system. Select the <quote>development</quote> option 15 during the distribution installation to be able to access these 16 tools.</para> 8 <sect1 id="ch-intro-how"> 9 <?dbhtml filename="how.html"?> 17 10 18 <para>As an alternative to installing an entire separate distribution onto your 19 machine, you may wish to use the Linux From Scratch LiveCD. The CD works well as 20 a host system, providing all the tools you need to successfully follow the 21 instructions in this book. Additionally, it contains all the source packages, 22 patches and a copy of this book. So once you have the CD, no network connection 23 or additional downloads are necessary. For more information about the LFS LiveCD 24 or to download a copy, visit <ulink url="&livecd-root;"/>.</para> 11 <title>How to Build an LFS System</title> 25 12 26 <para><xref linkend="chapter-partitioning"/> of this book describes how 27 to create a new Linux native partition and file system, the place 28 where the new LFS system will be compiled and installed. <xref 29 linkend="chapter-getting-materials"/> explains which packages and 30 patches need to be downloaded to build an LFS system and how to store 31 them on the new file system. <xref linkend="chapter-final-preps"/> 32 discusses the setup for an appropriate working environment. Please read 33 <xref linkend="chapter-final-preps"/> carefully as it explains several 34 important issues the developer should be aware of before beginning to 35 work through <xref linkend="chapter-temporary-tools"/> and 36 beyond.</para> 13 <para>The LFS system will be built by using a previously installed 14 Linux distribution (such as Debian, Mandrake, Red Hat, or SuSE). This 15 existing Linux system (the host) will be used as a starting point to 16 provide necessary programs, including a compiler, linker, and shell, 17 to build the new system. Select the <quote>development</quote> option 18 during the distribution installation to be able to access these 19 tools.</para> 37 20 38 <para><xref linkend="chapter-temporary-tools"/> explains the 39 installation of a number of packages that will form the basic 40 development suite (or toolchain) which is used to build the actual 41 system in <xref linkend="chapter-building-system"/>. Some of these 42 packages are needed to resolve circular dependencies—for example, 43 to compile a compiler, you need a compiler.</para> 21 <para>As an alternative to installing an entire separate distribution 22 onto your machine, you may wish to use the Linux From Scratch LiveCD. 23 The CD works well as a host system, providing all the tools you need 24 to successfully follow the instructions in this book. Additionally, 25 it contains all the source packages, patches and a copy of this book. 26 So once you have the CD, no network connection or additional downloads 27 are necessary. For more information about the LFS LiveCD or to download 28 a copy, visit <ulink url="&livecd-root;"/>.</para> 44 29 45 <para><xref linkend="chapter-temporary-tools"/> also shows the user how 46 to build a first pass of the toolchain, including Binutils and GCC 47 (first pass basically means these two core packages will be 48 re-installed a second time). The next step is to build Glibc, the C library. 49 Glibc will be compiled by the toolchain programs built in the first pass. Then, 50 a second pass of the toolchain will be built. This time, the toolchain will be 51 dynamically linked against the newly built Glibc. The remaining 52 <xref linkend="chapter-temporary-tools"/> packages are built using this second 53 pass toolchain. When this is done, the LFS installation process will no longer 54 depend on the host distribution, with the exception of the running kernel. 55 </para> 30 <para><xref linkend="chapter-partitioning"/> of this book describes how 31 to create a new Linux native partition and file system, the place 32 where the new LFS system will be compiled and installed. <xref 33 linkend="chapter-getting-materials"/> explains which packages and 34 patches need to be downloaded to build an LFS system and how to store 35 them on the new file system. <xref linkend="chapter-final-preps"/> 36 discusses the setup for an appropriate working environment. Please read 37 <xref linkend="chapter-final-preps"/> carefully as it explains several 38 important issues the developer should be aware of before beginning to 39 work through <xref linkend="chapter-temporary-tools"/> and beyond.</para> 56 40 57 <para>This effort to isolate the new system from the host distribution may seem 58 excessive, but a full technical explanation is provided in 59 <xref linkend="ch-tools-toolchaintechnotes"/>.</para> 41 <para><xref linkend="chapter-temporary-tools"/> explains the 42 installation of a number of packages that will form the basic 43 development suite (or toolchain) which is used to build the actual 44 system in <xref linkend="chapter-building-system"/>. Some of these 45 packages are needed to resolve circular dependencies—for example, 46 to compile a compiler, you need a compiler.</para> 60 47 61 <para>In <xref linkend="chapter-building-system"/>, the full LFS system is 62 built. The <command>chroot</command> (change root) program is used to enter a virtual 63 environment and start a new shell whose root directory will be set to 64 the LFS partition. This is very similar to rebooting and instructing 65 the kernel to mount the LFS partition as the root partition. The 66 system does not actually reboot, but instead <command>chroot</command>'s because creating a 67 bootable system requires additional work which is not necessary just 68 yet. The major advantage is that <quote>chrooting</quote> allows the 69 builder to continue using the host while LFS is being built. While 70 waiting for package compilation to complete, a user can switch to a 71 different virtual console (VC) or X desktop and continue using the 72 computer as normal.</para> 48 <para><xref linkend="chapter-temporary-tools"/> also shows the user how to 49 build a first pass of the toolchain, including Binutils and GCC (first pass 50 basically means these two core packages will be re-installed a second time). 51 The next step is to build Glibc, the C library. Glibc will be compiled by 52 the toolchain programs built in the first pass. Then, a second pass of the 53 toolchain will be built. This time, the toolchain will be dynamically linked 54 against the newly built Glibc. The remaining <xref 55 linkend="chapter-temporary-tools"/> packages are built using this second 56 pass toolchain. When this is done, the LFS installation process will no 57 longer depend on the host distribution, with the exception of the running 58 kernel. </para> 73 59 74 <para>To finish the installation, the LFS-Bootscripts are set up in <xref 75 linkend="chapter-bootscripts"/>, and the kernel and boot loader are set 76 up in <xref linkend="chapter-bootable"/>. <xref 77 linkend="chapter-finalizing"/> contains information on furthering the 78 LFS experience beyond this book. After the steps in this book have 79 been implemented, the computer will be ready to reboot into the new 80 LFS system.</para> 60 <para>This effort to isolate the new system from the host distribution may 61 seem excessive, but a full technical explanation is provided in 62 <xref linkend="ch-tools-toolchaintechnotes"/>.</para> 81 63 82 <para>This is the process in a nutshell. Detailed information on each 83 step is discussed in the following chapters and package descriptions. 84 Items that may seem complicated will be clarified, and everything will 85 fall into place as the reader embarks on the LFS adventure.</para> 64 <para>In <xref linkend="chapter-building-system"/>, the full LFS system is 65 built. The <command>chroot</command> (change root) program is used to enter 66 a virtual environment and start a new shell whose root directory will be 67 set to the LFS partition. This is very similar to rebooting and instructing 68 the kernel to mount the LFS partition as the root partition. The system 69 does not actually reboot, but instead <command>chroot</command>'s because 70 creating a bootable system requires additional work which is not necessary 71 just yet. The major advantage is that <quote>chrooting</quote> allows the 72 builder to continue using the host while LFS is being built. While waiting 73 for package compilation to complete, a user can switch to a different 74 virtual console (VC) or X desktop and continue using the computer as 75 normal.</para> 76 77 <para>To finish the installation, the LFS-Bootscripts are set up in 78 <xref linkend="chapter-bootscripts"/>, and the kernel and boot loader are set 79 up in <xref linkend="chapter-bootable"/>. <xref linkend="chapter-finalizing"/> 80 contains information on furthering the LFS experience beyond this book. 81 After the steps in this book have been implemented, the computer will be 82 ready to reboot into the new LFS system.</para> 83 84 <para>This is the process in a nutshell. Detailed information on each 85 step is discussed in the following chapters and package descriptions. 86 Items that may seem complicated will be clarified, and everything will 87 fall into place as the reader embarks on the LFS adventure.</para> 86 88 87 89 </sect1> 88
Note:
See TracChangeset
for help on using the changeset viewer.