New "What is LFS"
gerard at linuxfromscratch.org
Mon Feb 3 17:12:21 PST 2003
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
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.
-*- If Linux doesn't have the solution, you have the wrong problem -*-
Unsubscribe: send email to listar at linuxfromscratch.org
and put 'unsubscribe lfs-dev' in the subject header of the message
More information about the lfs-dev