Guiding Principles (Repost)
jeroen at linuxfromscratch.org
Tue May 11 07:05:58 PDT 2004
Larry Lawrence said the following on 11-05-2004 15:15:
> I've been scanning these post over the last couple of days and was beginning
> to wonder if anyone had every read the introduction! This book did not get
> slapped together last year, it has been in development for many years -- it
> knows what its principals are. I find it interesting that some discussion
> is about changing the principles, not fulfilling the principles.
I've read the introduction and it doesn't explain what you're saying.
The preface does, as does the audience page. It is not a bad thin, in
absence of vision and leadership, to re-evaluate the principles of the
book. I know I have reached a better understanding of LFS because of it,
even though I'm involved for at least 4 yours. I'd like to think of this
discussion as formalising of the principles, rather then changing them.
That said, I found the preface/audience inadequeate in explaining these
principles and have started rewriting it at
What is LFS?
Who would want to read this book
There are many reasons why somebody would want to read this book; the
principal reason being to install a Linux system straight from the
source code. A question many people raise is “Why go through all the
hassle of manually building a Linux system from scratch when you can
just download and install an existing one?”. In this section, we will
explain why you want an LFS system and what the main advantages of it
are. We also explain the principles and assumptions which are
fundamental to this book.
While most Linux distributions are generally more usable out of the box,
they also hide the complexities of a Linux system. They also install a
lot of software which you may not use at all, and can leave you
wondering who's actually in control of your computer. If you have an
itch to learn more about the system, to keep it compact and stay in
control, then this book is for you! The Linux From Scratch book explains
how to build a Linux system using nothing but the sources of the
packages. The two main reasons of building an LFS system is education
about Linux systems, and building a personalized Linux system. LFS is
ideally suited for both goals.
One of the primary goals of LFS is to educate its readers about the
inner workings of a Linux system. Since we believe in learning by doing,
LFS will build a minimal system, guiding the reader as closely as
possible while still assuming basic Linux/Unix knowledge. References to
other documentation are made throughout the book, thus allowing the book
to remain focused and narrow.
All packages are installed from source, which means that you always know
exactly what packages are installed and what version is installed. You
have complete control over his system and even has the choice of several
package management systems to automate his system. With LFS, you are in
the driver's seat and dictate every aspect of your system, such as the
directory layout and bootscript setup. You also dictate where, why and
how programs are installed.
Because LFS provides only the minimum base packages required for a
functioning (though not necessarily very usable) system, it is very
compact. Only software which the reader chooses gets installed, thus the
tightest possible installation is possible, allowing a very minimalistic
system even suitable for USB drives.
An LFS box can be built by using the latest releases of software. No
more waiting for distro's patches! Since you an LFS system is compact
and you're in complete control, it is also much more secure then other
distro's. No unneeded and unknown servers are running unless you install
them! The HLFS project is working on hardening a base LFS system which
will make it as secure as OpenBSD.
The primary focus in LFS is on learning about the system. We believe you
learn the most by following the procedures outlined in the book. These
procedures are well-tested and are technically excellent. Beware that a
finished LFS system doesn't mean that your system is finished. You'll
very likely want to install additional packages, and you'll have to do
some planning in advance if you wish to replace your current Linux
system. The LFS book is much like a blueprint of your house which allows
you to build a solid foundation upon which any kind of house can be
built - a terminal, a desktop system, a server, a (router), etc. In
order to allow all these systems, LFS is both generic and quite minimal.
After you've finished the LFS book, you'll probably want to check out
the BLFS project for instructions on how to build a finished system.
The goals of the LFS book are thus to build a system from scratch. To
allow the dual goal of education and building a framework for your own
system, we have set the following principles to compose the package set
which will be installed:
- the LFS system is independent of the host
- the LFS system can recreate itself
- the LFS system is able to sustain and monitor itself
- it provide the standard UNIX file manipulation tools
- it provides basic network connectivity *)
This means that from each package, you'll be able to identify its
purpose and its reason of existence in the book. From each package, we
provide an explanation of its function, installation instructions and
There are too many good reasons to build your own LFS system for them
all to be listed here. This section is only the tip of the iceberg. As
you continue in your LFS experience, you will find on your own the power
that information and knowledge truly bring.
Who would not want to read this book
Building and maintaining an LFS system takes quite some time. If you're
looking for a source-based system without the hassle of manually
building everything yourself, you might want to check out
If you only want to know what happens while your computer boots, then we
recommend the “From Power Up To Bash Prompt” HOWTO. The HOWTO builds a
bare system which is similar to that of this book, but it focuses
strictly on creating a system capable of booting to a BASH prompt.
While you decide which to read, consider your objective. If you wish to
build a Linux system while learning along the way, then this book is
probably your best choice. If your objective is strictly educational and
you do not have any plans for your finished system, then the “From Power
Up To Bash Prompt” HOWTO is probably a better choice.
The “From Power Up To Bash Prompt” HOWTO is located at
http://axiom.anu.edu.au/~okeefe/p2b/ or on The Linux Documentation
Project's website at
*) Basic networking means different things to different people.
Considering the objectives for LFS and BLFS, we only provide
configuration for a static IP address. This nicely fits our paradigm of
configuring all packages we install without fragmenting the book.
Practically, this means that most people won't be able to connect to the
Internet with a basic LFS system. Since the means to connectivity vary
so much for different users, you'll have to refer to the BLFS book for
instructions on how to achieve this. If you wish to replace your current
Linux system, please consider this in your migration plan.
More information about the lfs-dev