What is Automated Linux From Scratch?

Automated Linux From Scratch (ALFS) is a project that creates the generic framework for an extendable system builder and package installer.

Why would I want to use ALFS?

After having gone through the LFS and BLFS books more than 2 or 3 times, you will quickly appreciate the ability to automate the task of compiling the software you want for your systems.

What can I do with ALFS?

The goal of ALFS is to automate the process of creating an LFS system. It seeks to make the process of building LFS easier and more efficient while still providing flexibility by granting the user total control and insight into the compilation and management of his LFS build.

How is ALFS implemented?


The first ALFS implementation was nALFS by Neven Has. nALFS is a small program written in C. It first parses an XML profile that contains information concerning the LFS build process into a series of internal commands. It can then execute these at your discretion, thus automating the compilation of LFS.


Currently, the official implementation is jhalfs. Originally created by Jeremy Huntwork, but since developed and maintained by Manuel Canales Esparcia and George Boudreau, jhalfs has become a light-weight, practical method of automating an LFS build. jhalfs is a Bash shell script that makes use of Subversion and xsltproc to first download the XML sources of the Linux From Scratch book and then extract any necessary commands, placing them into executable shell scripts. If you do not already have the necessary source packages in place on your system jhalfs can fetch them. Finally, jhalfs generates a Makefile which will control the execution of the shell scripts, allowing for recovery if the build should encounter an error. Since jhalfs extracts its commands to run directly from the LFS book, there are no profiles to edit or maintain.

The most current jhalfs stable release can been downloaded from http://www.linuxfromscratch.org/alfs/downloads/jhalfs/stable/.

To use the development version of jhalfs, fetch it via svn with the command:

svn co svn://svn.linuxfromscratch.org/ALFS/jhalfs/trunk jhalfs

To know what books versions are supported by each jhalfs version, please see http://wiki.linuxfromscratch.org/alfs/wiki/SupportedBooks.


There are many in-depth features that have been requested for future ALFS implementations. Because of this, development has been slated for an entirely new build tool which will be called alfs. To see a list of features that will appear in alfs, please read our Software Requirements Specification. If you wish to help develop this new tool, please subscribe to the alfs-discuss mailing list and leave a note there explaining your desire to help.

Who's who: