source: chapter01/how.xml@ 287ea55

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
Last change on this file since 287ea55 was c6b5ddb, checked in by Alex Gronenwoud <alex@…>, 20 years ago

Shifting chapter contents, and moving preparational sections of chapter 5 to a separate chapter.

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@3284 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

  • Property mode set to 100644
File size: 3.8 KB
Line 
1<sect1 id="ch-scatter-how">
2<title>How things are going to be done</title>
3<?dbhtml filename="how.html" dir="chapter01"?>
4
5<para>You are going to build your LFS system by using a previously installed
6Linux distribution (such as Debian, Mandrake, Red Hat, or SuSE). This existing
7Linux system (the host) will be used as a starting point, because you will need
8programs like a compiler, linker and shell to build the new system. Normally
9all the required tools are available if you selected <quote>development</quote>
10as one of the options when you installed your distribution.</para>
11
12<para>In <xref linkend="chapter-making-space"/> you will first create a new
13partition and file system, the place where your new LFS system will be compiled
14and installed. Then in <xref linkend="chapter-getting-materials"/> you download
15all the packages and patches needed to build an LFS system, and store them on
16the new file system. In <xref linkend="chapter-preparation"/> you set up a good
17environment to work in.</para>
18
19<para><xref linkend="chapter-temporary-tools"/> then discusses the installation
20of a number of packages that form the basic development suite used to build the
21actual system in <xref linkend="chapter-building-system"/>.</para>
22
23<para>The first thing to be done in <xref linkend="chapter-temporary-tools"/>
24is build a first pass of the <emphasis>toolchain</emphasis>, consisting of
25Binutils and GCC. The programs from these packages will be linked statically in
26order for them to be usable independently of the host system (thus making it
27in theory possible to skip the second passes). The second thing to do is build
28Glibc, the C library. Glibc will be compiled by the just-built toolchain
29programs. The third thing to do is build a second pass of the toolchain, this
30time linking it dynamically against the newly built Glibc. The remaining <xref
31linkend="chapter-temporary-tools"/> packages are all built using this second
32pass toolchain and are dynamically linked against the new host-independent
33Glibc. When this is done, the LFS installation process will no longer depend on
34the host distribution, with the exception of the running kernel.</para>
35
36<para>You may be thinking that <quote>this seems like a lot of work, just to
37get away from my host distribution</quote>. Well, a full technical explanation
38is provided at the start of <xref linkend="chapter-temporary-tools"/>,
39including some notes on the differences between statically and dynamically
40linked programs.</para>
41
42<para>In <xref linkend="chapter-building-system"/> your real LFS system will be
43built. The <command>chroot</command> (change root) program is used to enter a
44virtual environment and start a new shell whose root directory will be set to
45the LFS partition. This is very similar to rebooting and instructing the kernel
46to mount the LFS partition as the root partition. The reason that you don't
47actually reboot, but instead chroot, is that creating a bootable system
48requires additional work which isn't necessary just yet. But the major
49advantage is that chrooting allows you to continue using the host while LFS is
50being built. While waiting for package compilation to complete, you can simply
51switch to a different VC (Virtual Console) or X desktop and continue using the
52computer as you normally would.</para>
53
54<para>To finish the installation, the bootscripts are set up in
55<xref linkend="chapter-bootscripts"/>, the kernel and bootloader are set up in
56<xref linkend="chapter-mixture"/>, and <xref linkend="chapter-finalizing"/>
57contains some pointers to help you after you finish the book. Then, finally,
58you're ready to reboot your computer into your new LFS system.</para>
59
60<para>This is the process in a nutshell. Detailed information on all the steps
61taken is given in the chapters and sections as you progress through them. If
62something isn't completely clear now, don't worry, everything will fall into
63place soon.</para>
64
65</sect1>
Note: See TracBrowser for help on using the repository browser.