source: chapter01/how.xml@ 620eb1e

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.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 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 620eb1e was 620eb1e, checked in by Manuel Canales Esparcia <manuel@…>, 20 years ago

Tag correction

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

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