mirror of
https://git.linuxfromscratch.org/lfs.git
synced 2025-06-19 03:39:20 +01:00
Overhaul on the text to match the current installation process
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@2785 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
This commit is contained in:
parent
62d0130ca5
commit
cc7e27a874
@ -2,67 +2,64 @@
|
||||
<title>How things are going to be done</title>
|
||||
<?dbhtml filename="how.html" dir="chapter01"?>
|
||||
|
||||
<para>We are going to build the LFS system by using a previously installed
|
||||
Linux distribution such as Debian, SuSE, Slackware, Mandrake, or Red Hat.
|
||||
We will use this existing Linux system as a starting platform, because we
|
||||
<para>You are going to build the LFS system by using a previously installed
|
||||
Linux distribution such as Debian, Mandrake, Red Hat, etc.
|
||||
The existing Linux system will be used as a starting point, because you
|
||||
will need tools like a compiler, linker, text editor, and other development
|
||||
tools to build our system. Ordinarily, the required tools are available by
|
||||
default if we selected "development" as one of our installation options
|
||||
when we installed a Linux distribution.</para>
|
||||
tools to build the system. Ordinarily, the required tools are available by
|
||||
default if you selected "development" as one of your installation options
|
||||
when you installed your Linux distribution.</para>
|
||||
|
||||
<para>After you have downloaded the packages that make up an LFS system,
|
||||
we will create a new Linux native partition and filesystem. Here is where
|
||||
the LFS system will be compiled and installed.</para>
|
||||
you will create a new Linux native partition and filesystem. Here is where
|
||||
the LFS system will be compiled and installed onto.</para>
|
||||
|
||||
<para>The next step, Chapter 5, will discuss the installation of a number of
|
||||
packages that will form the basic development suite which is used to
|
||||
build the actual system, or needed to resolve circular dependencies. For
|
||||
example, you need a compiler to build a new compiler, and you need a shell
|
||||
in order to install a new shell. The packages in this chapter will be linked
|
||||
statically.</para>
|
||||
<para>The next step, Chapter 5, will discuss the installation of a number
|
||||
of packages that will form the basic development suite which is used to
|
||||
build the actual system. Some of these packages are needed to resolve
|
||||
circular dependencies. For example, to compiler a compiler you need a
|
||||
compiler.</para>
|
||||
|
||||
<para>Static linking describes a method of compiling software so that
|
||||
it does not require the presence of libraries when building is complete.
|
||||
The resulting program is able to function on its own. The program is able to
|
||||
do so because the pieces of the program that would normally remain in the
|
||||
libraries are copied from the libraries and built right into the program.
|
||||
Ordinarily, software is built with dynamic linking. This conserves storage
|
||||
space and increases the efficiency of many programs. We statically link
|
||||
our software in Chapter 5 because we will, in theory, be moving our
|
||||
development system to a virtual environment where the already mentioned
|
||||
libraries will be absent. If the software is built dynamically, our
|
||||
development suite will not function. Since the libraries we are talking
|
||||
about are provided by our distribution Linux, the goal of Chapter 5 is to
|
||||
build a development environment where those libraries are not required
|
||||
and is therefore independent of the distribution.</para>
|
||||
<para>The first thing that will be done in Chapter 5 is building the
|
||||
toolchain, which is made up of Binutils, GCC and Glibc. The programs from
|
||||
these packages will be linked statically in order for them to be
|
||||
independant of the host system.</para>
|
||||
|
||||
<para>In Chapter 6 we will build and install our final system. We will use
|
||||
the chroot program to enter a virtual environment and start a new shell
|
||||
whose root directory will be set to the partition where we built all the
|
||||
Chapter 5 software. This is very similar to rebooting and instructing the
|
||||
kernel to mount our LFS partition as the root partition. The reason that
|
||||
we don't actually reboot, but instead chroot, is that creating a bootable
|
||||
static system requires additional work which simply isn't necessary. As
|
||||
well, we can continue to use our platform system while we are building LFS.
|
||||
While software is being compiled and installed you can simply switch to a
|
||||
different VC (Virtual Console) or X desktop and continue using your
|
||||
computer normally.</para>
|
||||
<para>When the first toolchain is built, you will rebuild those three
|
||||
packages again, this time using the toolchain we just built, rather than
|
||||
the host system's toolchain. In particular, all programs will be linked
|
||||
against the new Glibc rather than the host system's Glibc. All subsequent
|
||||
packages in Chapter 5 will be build and linked using this second toolchain
|
||||
installation. When this is done (building the second toolchain), the LFS
|
||||
installation process will no longer depend on the host distribution, with
|
||||
the exception of the running kernel.</para>
|
||||
|
||||
<para>When all the software from Chapter 6 is installed, Chapters 7, 8 and 9
|
||||
will help us finalize our installation. We will set up our boot
|
||||
scripts in Chapter 7. In Chapter 8 we will build our final Linux kernel and
|
||||
set up the Linux boot loader. Chapter 9 has some pointers to help you after
|
||||
you finish the book. Then finally, you reboot your system and boot into your
|
||||
new LFS system, and start to really use it.</para>
|
||||
<para>In Chapter 6 the real LFS system will be built. The
|
||||
chroot (change root) program is used to enter a virtual environment and
|
||||
start a new shell whose root directory will be set to the LFS partition.
|
||||
This is very similar to rebooting and instructing the kernel to mount the
|
||||
LFS partition as the root partition. The reason that you don't actually
|
||||
reboot, but instead chroot, is that creating a bootable system requires
|
||||
additional work which isn't necessary. As well, chrooting allows you
|
||||
to continue using the host while LFS is being built. While software is
|
||||
being installed you can simply switch to a different VC (Virtual Console)
|
||||
or X desktop and continue using the computer as you normally would.</para>
|
||||
|
||||
<para>When all the software from Chapter 6 is installed, the temporary
|
||||
tools built in Chapter 5 will be removed. Chapters 7, 8 and 9 will finalize
|
||||
the installation. The bootscripts are setup in Chapter 7, the kernel and
|
||||
boot loader are setup in Chapter 8 and Chapter 9 has some pointers to help
|
||||
you after you finish with the book. Then, finally, you reboot the system
|
||||
into the new LFS system.</para>
|
||||
|
||||
<para>This is the process in a nutshell. Detailed information on the steps
|
||||
we will take are discussed in the chapters and package descriptions as you
|
||||
progress through them. If something isn't completely clear now, don't worry.
|
||||
It should become very clear shortly.</para>
|
||||
you will take are discussed in the chapters and package descriptions as you
|
||||
progress through them. If something isn't completely clear now, don't
|
||||
worry, everything will fall into place soon.</para>
|
||||
|
||||
<para>Please read Chapter 2 carefully as it explains a few important things
|
||||
you should be aware of before you begin to work through Chapters 5 and
|
||||
later.</para>
|
||||
beyond.</para>
|
||||
|
||||
</sect1>
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user