New "What is LFS"

Gerard Beekmans gerard at
Mon Feb 3 17:12:21 PST 2003

Hi guys,

Here's a first version of a revised "What is LFS" text. This would replace the 
introduction section on the website and also the "Who would want to read this 
book" section in the book.

It's not perfect and I've thrown in random thoughts at random places after an 
initial draft (the one I didn't send to this list) was done already. There's 
still a lot of work left to be done on this text, so I'm releasing it to the 
wolves (you guys) to tear apart and put back together from scratch ala LFS 


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 guideline, not a 
bible to be followed to the letter.

Gerard Beekmans

-*- If Linux doesn't have the solution, you have the wrong problem -*-
Unsubscribe: send email to listar at
and put 'unsubscribe lfs-dev' in the subject header of the message

More information about the lfs-dev mailing list