Linux From Scratch
From Wikipedia, the free encyclopedia
Website: | http://www.linuxfromscratch.org/ |
Company/ developer: |
Linux From Scratch Team |
OS family: | Linux |
Source model: | Free software |
Latest stable release: | 6.2 / August 2, 2006 |
Kernel type: | Monolithic kernel |
License: | GNU General Public License |
Working state: | Current |
Linux From Scratch (LFS) is the name of a book written by Gerard Beekmans and others. In that book the reader is given instructions on how to build a Linux system from source. The book is available freely from the Linux From Scratch website and is currently in version 6.2. To keep LFS small and focused, the Beyond Linux From Scratch book was created which presents instructions on how to further develop the basic Linux system that was created in LFS.
In addition to LFS and BLFS books Cross Linux From Scratch describes cross compiling technique and Hardened Linux From Scratch focuses on security enhancements like use of Stack-smashing protection, PaX and Address space layout randomization using Grsecurity.
Linux From Scratch is a way to install a working Linux system by building all components of it manually. This is, by design, much more labour-intensive than installing a pre-built distribution (see Linux distribution). The idea is that installing the individual packages one-by-one will lead to an understanding of the internals of a working Linux system. In addition, of course, compiling all of the software specifically for the system on which it will run tends to result in smaller and faster programs. Finally, it is easier to customize the installed packages when each is installed manually – "Your distro, your rules".
Contents |
[edit] Procedure
A clean partition and a working Linux system are required to build LFS. Instead of installing another Linux system, one can use the Linux From Scratch LiveCD. The LiveCD contains all the source packages, the LFS book, automated building tools and a XFCE GUI environment to work in. First a toolchain must be compiled consisting of the tools used to compile LFS like GCC, glibc, binutils and other necessary utilities. Then the root directory must be changed (using chroot) to the toolchain's partition to start building the final system. One of the first packages to compile is glibc; after that, the toolchain's linker must be adjusted to link against the newly built glibc, so that all other packages that will make up the finished system can be linked against it as well. During the chroot phase, bash's hashing feature is turned off and the temporary toolchain's bin directory moved to the end of PATH. This way the newly compiled programs come first in PATH and the new system builds on its own new components.
[edit] List of LFS Software
This is alist os the packages included in LFS version 6.2
- Autoconf 2.59
- Automake 1.9.6
- Bash 3.1
- Bash Documentation 3.1
- Berkeley DB 4.4.20
- Binutils 2.16.1
- Bison 2.2
- Bzip2 1.0.3
- Coreutils 5.96
- DejaGNU 1.4.4
- Diffutils 2.8.1
- E2fsprogs 1.39
- Expect 5.43.0
- File 4.17
- Findutils 4.2.27
- Flex 2.5.33
- Gawk 3.1.5
- GCC 4.0.3
- Gettext 0.14.5
- Glibc 2.3.6
- Glibc LibIDN add-on 2.3.6
- Grep 2.5.1a
- Groff 1.18.1.1
- GRUB 0.97
- Gzip 1.3.5
- Iana-Etc 2.10
- Inetutils 1.4.2
- IPRoute2 2.6.16-060323
- Kbd 1.12
- Less 394
- LFS-Bootscripts 6.2
- Libtool 1.5.22
- Linux 2.6.16.27
- Linux-Libc-Headers 2.6.12.0
- M4 1.4.4
- Make 3.80
- Man-DB 2.4.3
- Man-pages 2.34
- Mktemp 1.5
- Module-Init-Tools 3.2.2
- Ncurses 5.5
- Patch 2.5.4
- Perl 5.8.8
- Procps 3.2.6
- Psmisc 22.2
- Readline 5.1
- Sed 4.1.5
- Shadow 4.0.15
- Sysklogd 1.4.1
- Sysvinit 2.86
- Tar 1.15.1
- Tcl 8.4.13
- Texinfo 4.8
- Udev 096
- Udev Configuration Tarball
- Util-linux 2.12r
- Vim 7.0
- Vim 7.0 language files (optional)
- Zlib 1.2.3
[edit] See also
[edit] External links
- Linux From Scratch
- Beyond Linux From Scratch
- Linux From Scratch LiveCD
- Cross Linux From Scratch
- Hardened Linux From Scratch
- How to make an LFS Linux bootable CD