New "What is LFS"

Gerard Beekmans gerard at
Mon Feb 3 17:39:54 PST 2003

On February 3, 2003 06:27 pm, Ronald Hummelink wrote:
> "But in the end the LFS book is merely a well tested guideline you can
> fall back on, if you choose to stray from the path and run into trouble,
> not a bible to be followed to the letter."
> I'm a bit in doubt about the punctuation, so correct me ;)

Here's what I made of it:

"But in the end the LFS book is merely a well tested
guideline that you can fall back on in case of trouble. It is not, however,
a bible meant to be followed by the letter."

Attached the entire text again.

Gerard Beekmans

-*- If Linux doesn't have the solution, you have the wrong problem -*-
-------------- next part --------------
What is Linux From Scratch?

Linux From Scratch, or LFS for short, is a term that encompasses a few
things. LFS is a project, a book and a philosophy, some even refering to it
as a way of life.

The LFS project is about teaching people a different way of looking at
Linux systems. Instead of purchasing or downloading an existing Linux system
put together by a vendor (such as Redhat, Debian, Mandrake, Slackware and 
others), you put together your own Linux system by downloading the source 
code and compiling all the software yourself.

What you end up with is not just another version of a Linux system, but a 
system that you know intimately. Since you installed everything, you know 
everything that goes on. There is nothing installed that you aren't
familiar with, or don't know why it is installed.

Compiling from source also has the additional benefit that you can optimize 
packages for your specific hardware. Because distribution's are geared toward
a very broad range of systems, their pre-compiled programs can't be too
optimized. For instance, a lot of distribution these days optimize their
programs for the i586 architecture, thus not taking advantage of the
capabilities of the i686, pentium4 or the AMD architectures. Besides
architecture optimizations, the GNU CC compiler also knows about code
optimizations but they don't work on all types of hardware, so no distribution
enables the more invasive and aggressive ones. Going the LFS route changes
all this. You can experiment with different optimization settings to see
which ones work best for you.

Installing everything from source allows you to change the way packages get 
installed. This isn't very useful for the core packages since hardly
anybody changes it, but when it comes to XFree86, QT, KDE, Apache, OpenOffice
and other such packages, compiling manually enables you to fine tune the
program and only compile the components you want.

Besides compiler optimizations, you can also change the general feel of the 
system. Think about the directory layouts and bootscript implementations. 
They are hard to change on existing distributions because all the packages 
you install with their package manager rely on a specific bootscript setup, 
directory layout and program locations.

Of course there are also disadvantages. One of the main disadvantages of
the LFS approach is that it takes a lot of time to install and manage an LFS 
system. It's not a simple manner of running one command that updates your 
entire system with the latest patches and updates. You'll have to keep your 
system up-to-date manually. And some packages are vert big and take many 
hours to compile.

Let's get one thing straight: we're not saying that distributions are bad
and that LFS is the only good thing out there. It is possible to change an 
existing distribution according to your taste, change its directory layout, 
bootscripts and recompile all its programs. It's probably a bit harder to
do. If you take a distribution, take it apart and put it back together again
with your own changes, recompile certain parts, you're doing what LFS is
trying to teach people: how to build your own custom Linux system.

The LFS book is just one means to an end. If you don't follow the LFS book, 
you could still end up with a system and call it an LFS based system. The
LFS book just shows you one way of doing it. The book provides you with a set
of packages that make up a basic Linux system and it tells you how to 
successfully compile them and in which order so all dependencies are 
satisfied properly. But in the end the LFS book is merely a well tested
guideline that you can fall back on in case of trouble. It is not, however,
a bible meant to be followed by the letter.

More information about the lfs-dev mailing list