source: chapter01/how.xml@ 17476c5

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 17476c5 was 17476c5, checked in by Alex Gronenwoud <alex@…>, 20 years ago

Removing some excess white space.

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

  • Property mode set to 100644
File size: 3.9 KB
Line 
1<sect1 id="ch01-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="chapter03"/> you will first create a new Linux native
13partition and file system, the place where your new LFS system will be compiled
14and installed. Then in <xref linkend="chapter04"/> you download all the
15packages and patches required to build an LFS system, and store them on the new
16file system.</para>
17
18<para><xref linkend="chapter05"/> then discusses the installation of a number
19of packages that will form the basic development suite (or toolchain) which is
20used to build the actual system in <xref linkend="chapter06"/>. Some of these
21packages are needed to resolve circular dependencies -- for example, to compile
22a compiler you need a compiler.</para>
23
24<para>The first thing to be done in <xref linkend="chapter05"/> is build a
25first pass of the toolchain, made up of Binutils and GCC. The programs from
26these packages will be linked statically in order for them to be usable
27independently of the host system. The second thing to do is build Glibc, the
28C library. Glibc will be compiled by the toolchain programs we just built in
29the first pass. The third thing to do is build a second pass of the toolchain.
30This time the toolchain will be dynamically linked against the newly built
31Glibc. The remaining <xref linkend="chapter05"/> packages are all built using
32this second pass toolchain and dynamically linked against the new
33host-independent Glibc. When this is done, the LFS installation process will no
34longer depend on the host distribution, with the exception of the running
35kernel.</para>
36
37<para>You may be thinking that <quote>this seems like a lot of work, just to
38get away from my host distribution</quote>. Well, a full technical explanation
39is provided at the start of <xref linkend="chapter05"/>, including some notes
40on the differences between statically and dynamically linked programs.</para>
41
42<para>In <xref linkend="chapter06"/> your real LFS system will be built. The
43chroot (change root) program is used to enter a virtual environment and start
44a new shell whose root directory will be set to the LFS partition. This is very
45similar to rebooting and instructing the kernel to mount the LFS partition as
46the root partition. The reason that you don't actually reboot, but instead
47chroot, is that creating a bootable system requires additional work which isn't
48necessary just yet. But the major advantage is that chrooting allows you to
49continue using the host while LFS is being built. While waiting for package
50compilation to complete, you can simply switch to a different VC (Virtual
51Console) or X desktop and continue using the computer as you normally
52would.</para>
53
54<para>To finish the installation, the bootscripts are set up in
55<xref linkend="chapter07"/>, the kernel and bootloader are set up in
56<xref linkend="chapter08"/>, and <xref linkend="chapter09"/> contains some
57pointers to help you after you finish the book. Then, finally, you're ready to
58reboot your computer into your new LFS system.</para>
59
60<para>This is the process in a nutshell. Detailed information on the steps you
61will take are discussed in the chapters and package descriptions as you
62progress through them. If something isn't completely clear now, don't worry,
63everything will fall into place soon.</para>
64
65<para>Please read <xref linkend="chapter02"/> carefully as it explains a few
66important things you should be aware of before you begin to work through
67<xref linkend="chapter05"/> and beyond.</para>
68
69</sect1>
70
Note: See TracBrowser for help on using the repository browser.