Guiding Principles (Repost)

Jeroen Coumans jeroen at
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

(reproduced here)

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 
configuration instructions.

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 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.

Jeroen Coumans

More information about the lfs-dev mailing list