source: chapter01/how.xml@ 440f837

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
Last change on this file since 440f837 was 440f837, checked in by Archaic <archaic@…>, 19 years ago

Merged a minor wording change from testing to trunk.

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

  • Property mode set to 100644
File size: 4.8 KB
Line 
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" [
3 <!ENTITY % general-entities SYSTEM "../general.ent">
4 %general-entities;
5]>
6<sect1 id="ch-scatter-how">
7<title>How to Build an LFS System</title>
8<?dbhtml filename="how.html"?>
9
10<para>The LFS system will be built by using a previously installed
11Linux distribution (such as Debian, Mandrake, Red Hat, or SuSE). This
12existing Linux system (the host) will be used as a starting point to
13provide necessary programs, including a compiler, linker, and shell,
14to build the new system. Select the <quote>development</quote> option
15during the distribution installation to be able to access these
16tools.</para>
17
18<para>As an alternative to installing an entire separate distribution onto your
19machine, you may wish to use the Linux From Scratch LiveCD. The CD works well as
20a host system, providing all the tools you need to successfully follow the
21instructions in this book. Additionally, it contains all the source packages,
22patches and a copy of this book. So once you have the CD, no network connection
23or additional downloads are necessary. For more information about the LFS LiveCD
24or to download a copy, visit <ulink url="&livecd-root;"/>.</para>
25
26<para><xref linkend="chapter-partitioning"/> of this book describes how
27to create a new Linux native partition and file system, the place
28where the new LFS system will be compiled and installed. <xref
29linkend="chapter-getting-materials"/> explains which packages and
30patches need to be downloaded to build an LFS system and how to store
31them on the new file system. <xref linkend="chapter-final-preps"/>
32discusses the setup for an appropriate working environment. Please read
33<xref linkend="chapter-final-preps"/> carefully as it explains several
34important issues the developer should be aware of before beginning to
35work through <xref linkend="chapter-temporary-tools"/> and
36beyond.</para>
37
38<para><xref linkend="chapter-temporary-tools"/> explains the
39installation of a number of packages that will form the basic
40development suite (or toolchain) which is used to build the actual
41system in <xref linkend="chapter-building-system"/>. Some of these
42packages are needed to resolve circular dependencies&mdash;for example,
43to compile a compiler, you need a compiler.</para>
44
45<para><xref linkend="chapter-temporary-tools"/> also shows the user how
46to build a first pass of the toolchain, including Binutils and GCC
47(first pass basically means these two core packages will be
48re-installed a second time). The next step is to build Glibc, the C library.
49Glibc will be compiled by the toolchain programs built in the first pass. Then,
50a second pass of the toolchain will be built. This time, the toolchain will be
51dynamically linked against the newly built Glibc. The remaining
52<xref linkend="chapter-temporary-tools"/> packages are built using this second
53pass toolchain. When this is done, the LFS installation process will no longer
54depend on the host distribution, with the exception of the running kernel.
55</para>
56
57<para>While this may initially seem like a lot of work to isolate the new system
58from the host distribution, a full technical explanation is provided at the
59beginning of <xref linkend="chapter-temporary-tools"/>.</para>
60
61<para>In <xref linkend="chapter-building-system"/>, the full LFS system is
62built. The <command>chroot</command> (change root) program is used to enter a virtual
63environment and start a new shell whose root directory will be set to
64the LFS partition. This is very similar to rebooting and instructing
65the kernel to mount the LFS partition as the root partition. The
66system does not actually reboot, but instead <command>chroot</command>'s because creating a
67bootable system requires additional work which is not necessary just
68yet. The major advantage is that <quote>chrooting</quote> allows the
69builder to continue using the host while LFS is being built. While
70waiting for package compilation to complete, a user can switch to a
71different virtual console (VC) or X desktop and continue using the
72computer as normal.</para>
73
74<para>To finish the installation, the LFS-Bootscripts are set up in <xref
75linkend="chapter-bootscripts"/>, and the kernel and boot loader are set
76up in <xref linkend="chapter-bootable"/>. <xref
77linkend="chapter-finalizing"/> contains information on furthering the
78LFS experience beyond this book. After the steps in this book have
79been implemented, the computer will be ready to reboot into the new
80LFS system.</para>
81
82<para>This is the process in a nutshell. Detailed information on each
83step is discussed in the following chapters and package descriptions.
84Items that may seem complicated will be clarified, and everything will
85fall into place as the reader embarks on the LFS adventure.</para>
86
87</sect1>
88
Note: See TracBrowser for help on using the repository browser.