The structure of LFS follows Linux standards as closely as possible. The primary standards are:
Linux Standard Base (LSB) Version 5.0 (2015)
The LSB has four separate specifications: Core, Desktop, Languages, and Imaging. Some parts of Core and Desktop specifications are architecture specific. There are also two trial specifications: Gtk3 and Graphics. There's no architecture specific parts for ARM64, and on ARM64 Glibc has intentionally left out some symbol versions required by the architecture independant part of LSB Core. So we cannot satisfy the LSB architecture independant parts, but we still use them as a reference.
Many people do not agree with these requirements. The main purpose of the LSB is to ensure that proprietary software can be installed and run on a compliant system. Since LFS is source based, the user has complete control over what packages are desired; you may choose not to install some packages that are specified by the LSB.
While it is possible to create a complete system that will pass the LSB certification tests “from scratch,” this can't be done without many additional packages that are beyond the scope of the LFS book. Installation instructions for some of these additional packages can be found in BLFS.
LSB Core: |
Bash, Bc, Binutils, Coreutils, Diffutils, File, Findutils, Gawk, GCC, Gettext, Glibc, Grep, Gzip, M4, Man-DB, Procps, Psmisc, Sed, Shadow, Systemd, Tar, Util-linux, Zlib |
LSB Desktop: |
None |
LSB Languages: |
Perl |
LSB Imaging: |
None |
LSB Gtk3 and LSB Graphics (Trial Use): |
None |
LSB Core: |
At, Batch (a part of At), BLFS Bash Startup Files, Cpio, Ed, Fcrontab, LSB-Tools, NSPR, NSS, Linux-PAM, Pax, Sendmail (or Postfix or Exim), Time |
LSB Desktop: |
Alsa, ATK, Cairo, Desktop-file-utils, Freetype, Fontconfig, Gdk-pixbuf, Glib2, GLU, Icon-naming-utils, Libjpeg-turbo, Libxml2, Mesa, Pango, Xdg-utils, Xorg |
LSB Languages: |
Libxml2, Libxslt |
LSB Imaging: |
CUPS, Cups-filters, Ghostscript, SANE |
LSB Gtk3 and LSB Graphics (Trial Use): |
GTK+3 |
LSB Core: |
install_initd,
|
LSB Desktop: |
|
LSB Languages: |
/usr/bin/python (LSB requires Python2 but LFS and BLFS only provide Python3) |
LSB Imaging: |
None |
LSB Gtk3 and LSB Graphics (Trial Use): |
|