Linux From Scratch (LFS) is a project that provides you with the steps
necessary to build your own custom Linux system.
Okay, so how do I get an LFS system?
The instructions how to create an LFS system are provided in the LFS book.
Check out the URL's in the menu on the left to view the latest book version
online, or download it. You'll also find information to other resources
such as mailing lists, mailing list archives, newsgroups, search engine,
faq and more.
Why would I want an LFS system?
There are a lot of reasons why somebody would want to install an LFS system.
The question most people raise is "why go through all the hassle of manually
installing a Linux system from scratch when you can just download an existing
distribution?". That is a valid question which I hope to answer for you.
The most important reason for LFS's existence is teaching
people how a Linux system works internally. Building an LFS
system teaches you about all that makes Linux tick, how
things work together, and depend on each other. And most
importantly, how to customize it to your own taste and needs.
One of the key benefits of LFS is that you are in control over your system
without having to rely on somebody else's Linux implementation. You are in
the driver's seat now and are able to dictate every single thing such as the
directory layout and boot script setup. You will also know exactly where,
why and how programs are installed.
Another benefit of LFS is that you can create a very compact Linux
system. When you install a regular distribution, you end
up installing a lot of programs you probably would never use.
They're just sitting there taking up (precious) disk space. It's not
hard to get an LFS system installed under 100 MB. Does that still
sound like a lot? A few of us have been working on creating
a very small embedded LFS system. We installed a system that was
just enough to run the Apache web server; total disk space usage was
aproximately 8 MB. With further stripping, that can be brought down to 5
MB or less. Try that with a regular distribution.
If we were to compare a Linux distribution with a hamburger you buy at a
supermarket or fast-food restaurant, you would end up eating it without
knowing precisely what it is you are eating, whereas LFS gives you the
ingredients to make a hamburger. This allows you to carefully inspect it,
remove unwanted ingredients, and at the same time allow you to add
ingredients to enhance the flavour of your hamburger. When you are
satisfied with the ingredients, you go on to the next part of putting
it together. You now have the chance to make it just the way you like it:
broil it, bake it, deep-fry it, barbeque it, or eat it raw.
Another analogy that we can use is that of comparing LFS with a finished
house. LFS will give you the skeleton of a house, but it's up to
you to install plumbing, electrical outlets, kitchen, bathtub, wallpaper,
etc.
Another advantage of a custom built Linux system is added security. You
will compile the entire system from source, thus allowing you to audit
everything, if you wish to do so, and apply all the security patches you
want or need to apply. You don't have to wait for somebody else to provide
a new binary package that fixes a security hole. Besides, you have no
guarantee that the new package actually fixes the problem (adequately).
You never truly know whether a security hole is fixed or not unless
you do it yourself.