Changeset c6b5ddb for chapter01/how.xml
- Timestamp:
- 03/07/2004 12:09:31 PM (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:
- 5b7293a
- Parents:
- 4f4b4e84
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
chapter01/how.xml
r4f4b4e84 rc6b5ddb 10 10 as one of the options when you installed your distribution.</para> 11 11 12 <para>In <xref linkend="chapter-making-space"/> you will first create a new Linux native12 <para>In <xref linkend="chapter-making-space"/> you will first create a new 13 13 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 all the 15 packages and patches required to build an LFS system, and store them on the new 16 file system.</para> 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 good 17 environment to work in.</para> 17 18 18 <para><xref linkend="chapter-temporary-tools"/> then discusses the installation of a number 19 of packages that will form the basic development suite (or toolchain) which is 20 used to build the actual system in <xref linkend="chapter-building-system"/>. Some of these 21 packages are needed to resolve circular dependencies -- for example, to compile 22 a compiler you need a compiler.</para> 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> 23 22 24 <para>The first thing to be done in <xref linkend="chapter-temporary-tools"/> is build a25 first pass of the toolchain, made up of Binutils and GCC. The programs from 26 these packages will be linked statically in order for them to be usable 27 independently of the host system. The second thing to do is build Glibc, the 28 C library. Glibc will be compiled by the toolchain programs we just built in 29 the first pass. The third thing to do is build a second pass of the toolchain. 30 This time the toolchain will be dynamically linked against the newly built 31 Glibc. The remaining <xref linkend="chapter-temporary-tools"/> packages are all built using 32 this second pass toolchain and dynamically linked against the new 33 host-independent Glibc. When this is done, the LFS installation process will no 34 longer depend on the host distribution, with the exception of the running 35 kernel.</para>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 running kernel.</para> 36 35 37 36 <para>You may be thinking that <quote>this seems like a lot of work, just to 38 37 get away from my host distribution</quote>. Well, a full technical explanation 39 is provided at the start of <xref linkend="chapter-temporary-tools"/>, including some notes 40 on the differences between statically and dynamically linked programs.</para> 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> 41 41 42 <para>In <xref linkend="chapter-building-system"/> your real LFS system will be built. The43 chroot (change root) program is used to enter a virtual environment and start 44 a new shell whose root directory will be set to the LFS partition. This is very 45 similar to rebooting and instructing the kernel to mount the LFS partition as 46 t he root partition. The reason that you don't actually reboot, but instead47 chroot, is that creating a bootable system requires additional work which isn't 48 necessary just yet. But the major advantage is that chrooting allows you to 49 continue using the host while LFS is being built. While waiting for package 50 compilation to complete, you can simply switch to a different VC (Virtual 51 Console) or X desktop and continue using the computer as you normally 52 would.</para>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 to mount the LFS partition as the root partition. The reason that you don't 47 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 normally would.</para> 53 53 54 54 <para>To finish the installation, the bootscripts are set up in 55 55 <xref linkend="chapter-bootscripts"/>, the kernel and bootloader are set up in 56 <xref linkend="chapter-mixture"/>, and <xref linkend="chapter-finalizing"/> contains some57 pointers to help you after you finish the book. Then, finally, you're ready to 58 reboot your computer into your new LFS system.</para>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 to reboot your computer into your new LFS system.</para> 59 59 60 <para>This is the process in a nutshell. Detailed information on the steps you 61 will take are discussed in the chapters and package descriptions as you 62 progress through them. If something isn't completely clear now, don't worry, 63 everything will fall into place soon.</para> 64 65 <para>Please read <xref linkend="chapter-preparation"/> carefully as it explains a few 66 important things you should be aware of before you begin to work through 67 <xref linkend="chapter-temporary-tools"/> and beyond.</para> 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> 68 64 69 65 </sect1> 70
Note:
See TracChangeset
for help on using the changeset viewer.