Changeset 673b0d8 for chapter01/how.xml
- Timestamp:
- 05/03/2004 10:59:46 AM (20 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.0, 6.1, 6.1.1, 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, v5_1, v5_1_1, 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:
- 0c43171, 2ec64b3, a4a675f
- Parents:
- 287ea55
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
chapter01/how.xml
r287ea55 r673b0d8 1 <?xml version="1.0" encoding="ISO-8859-1"?> 2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [ 3 <!ENTITY % general-entities SYSTEM "../general.ent"> 4 %general-entities; 5 ]> 1 6 <sect1 id="ch-scatter-how"> 2 7 <title>How things are going to be done</title> 3 <?dbhtml filename="how.html" dir="chapter01"?>8 <?dbhtml filename="how.html"?> 4 9 5 10 <para>You are going to build your LFS system by using a previously installed … … 10 15 as one of the options when you installed your distribution.</para> 11 16 12 <para>In <xref linkend="chapter- making-space"/> you will first create a new17 <para>In <xref linkend="chapter-partitioning"/> you will first create a new Linux native 13 18 partition and file system, the place where your new LFS system will be compiled 14 and installed. Then in <xref linkend="chapter-getting-materials"/> you download 15 all the packages and patches needed to build an LFS system, and store them on 16 the new file system. In <xref linkend="chapter-preparation"/> you set up a good19 and installed. Then in <xref linkend="chapter-getting-materials"/> you download all the 20 packages and patches needed to build an LFS system, and store them on the new 21 file system. In <xref linkend="chapter-final-preps"/> you set up a good 17 22 environment to work in.</para> 18 23 19 <para><xref linkend="chapter-temporary-tools"/> then discusses the installation 20 of a number of packages that form the basic development suite used to build the 21 actual system in <xref linkend="chapter-building-system"/>.</para> 24 <para><xref linkend="chapter-temporary-tools"/> then discusses the installation of a number 25 of packages that will form the basic development suite (or <emphasis>toolchain</emphasis>) which is 26 used to build the actual system in <xref linkend="chapter-building-system"/>. Some of these 27 packages are needed to resolve circular dependencies -- for example, to compile 28 a compiler you need a compiler.</para> 22 29 23 <para>The first thing to be done in <xref linkend="chapter-temporary-tools"/> 24 is build a first pass of the <emphasis>toolchain</emphasis>, consisting of 25 Binutils and GCC. The programs from these packages will be linked statically in 26 order for them to be usable independently of the host system (thus making it 27 in theory possible to skip the second passes). The second thing to do is build 28 Glibc, the C library. Glibc will be compiled by the just-built toolchain 29 programs. The third thing to do is build a second pass of the toolchain, this 30 time linking it dynamically against the newly built Glibc. The remaining <xref 31 linkend="chapter-temporary-tools"/> packages are all built using this second 32 pass toolchain and are dynamically linked against the new host-independent 33 Glibc. When this is done, the LFS installation process will no longer depend on 34 the host distribution, with the exception of the runningkernel.</para>30 <para>The first thing to be done in <xref linkend="chapter-temporary-tools"/> is build a 31 first pass of the toolchain, made up of Binutils and GCC. The programs from 32 these packages will be linked statically in order for them to be usable 33 independently of the host system. The second thing to do is build Glibc, the 34 C library. Glibc will be compiled by the toolchain programs just built in 35 the first pass. The third thing to do is build a second pass of the toolchain. 36 This time the toolchain will be dynamically linked against the newly built 37 Glibc. The remaining <xref linkend="chapter-temporary-tools"/> packages are all built using 38 this second pass toolchain and dynamically linked against the new 39 host-independent Glibc. When this is done, the LFS installation process will no 40 longer depend on the host distribution, with the exception of the running 41 kernel.</para> 35 42 36 43 <para>You may be thinking that <quote>this seems like a lot of work, just to 37 44 get away from my host distribution</quote>. Well, a full technical explanation 38 is provided at the start of <xref linkend="chapter-temporary-tools"/>, 39 including some notes on the differences between statically and dynamically 40 linked programs.</para> 45 is provided at the start of <xref linkend="chapter-temporary-tools"/>, including some notes 46 on the differences between statically and dynamically linked programs.</para> 41 47 42 <para>In <xref linkend="chapter-building-system"/> your real LFS system will be 43 built. The <command>chroot</command> (change root) program is used to enter a 44 virtual environment and start a new shell whose root directory will be set to 45 the LFS partition. This is very similar to rebooting and instructing the kernel 46 t o mount the LFS partition as the root partition. The reason that you don't47 actually reboot, but instead chroot, is that creating a bootable system 48 requires additional work which isn't necessary just yet. But the major 49 advantage is that chrooting allows you to continue using the host while LFS is 50 being built. While waiting for package compilation to complete, you can simply 51 switch to a different VC (Virtual Console) or X desktop and continue using the 52 computer as you normallywould.</para>48 <para>In <xref linkend="chapter-building-system"/> your real LFS system will be built. The 49 chroot (change root) program is used to enter a virtual environment and start 50 a new shell whose root directory will be set to the LFS partition. This is very 51 similar to rebooting and instructing the kernel to mount the LFS partition as 52 the root partition. The reason that you don't actually reboot, but instead 53 chroot, is that creating a bootable system requires additional work which isn't 54 necessary just yet. But the major advantage is that <quote>chrooting</quote> allows you to 55 continue using the host while LFS is being built. While waiting for package 56 compilation to complete, you can simply switch to a different VC (Virtual 57 Console) or X desktop and continue using the computer as you normally 58 would.</para> 53 59 54 60 <para>To finish the installation, the bootscripts are set up in 55 61 <xref linkend="chapter-bootscripts"/>, the kernel and bootloader are set up in 56 <xref linkend="chapter- mixture"/>, and <xref linkend="chapter-finalizing"/>57 contains some pointers to help you after you finish the book. Then, finally, 58 you're ready toreboot your computer into your new LFS system.</para>62 <xref linkend="chapter-bootable"/>, and <xref linkend="chapter-finalizing"/> contains some 63 pointers to help you after you finish the book. Then, finally, you're ready to 64 reboot your computer into your new LFS system.</para> 59 65 60 <para>This is the process in a nutshell. Detailed information on all the steps 61 taken is given in the chapters and sections as you progress through them. If 62 something isn't completely clear now, don't worry, everything will fall into 63 place soon.</para> 66 <para>This is the process in a nutshell. Detailed information on the steps you 67 will take are discussed in the chapters and package descriptions as you 68 progress through them. If something isn't completely clear now, don't worry, 69 everything will fall into place soon.</para> 70 71 <para>Please read <xref linkend="chapter-final-preps"/> carefully as it explains 72 a few important things you should be aware of before you begin to work through 73 <xref linkend="chapter-temporary-tools"/> and beyond.</para> 64 74 65 75 </sect1>
Note:
See TracChangeset
for help on using the changeset viewer.