Chapter 1. Welcome to the nALFS Users Guide

LFS stands for Linux From Scratch and it's a project, led by Gerard Beekmans --<gerard@linuxfromscratch.org>, which helps you build your own Linux system.

What this means is that you will use nothing but the source code of various software packages needed for a fully functional Linux system. You will compile the packages one-by-one on your own computer. During this process, you will be able to tweak every single corner of your system, by editing a bunch of configuration files, creating your own boot scripts etc.

All this might sound a bit complicated and require too much work. But even if it is, it's well worth it. One of the LFS project's secondary goals is education. Great care is taken in each step to explain what is occuring at each phase of the build procedure.

Best of all it that it does not have to be that complicated or time consuming. With only a few keystrokes and the right software, you can just sit back and relax, while your system is being built -- from scratch. This is where the ALFS project comes into play.

ALFS stands for Automated Linux From Scratch, and its aim is to provide a much simpler method for building a Linux system.

ALFS uses profiles (simple XML files) which describe what actions are to be taken and what commands executed. Feeding the program (like nALFS) with those profiles, will make the program act upon them.

For example, if you want to create a directory, all you have to do is to put:

<mkdir>
        <name>/some/directory</name>
</mkdir>

in the profile and leave the rest to the program. Of course, you are not limited to just compiling packages for LFS. You can do just about anything. All it takes is a little time to write a profile for it.

This might seem very similar to ordinary shell scripting, but it has also a lot of advantages. With this approach nALFS (after reading any properly formatted profile) can be instructed to pause execution, start execution from a selected element (by browsing a profile in a tree-like mode), enter special environments like chroot, and much much more.