%general-entities; ]> LFS and Standards The structure of LFS follows Linux standards as closely as possible. The primary standards are: POSIX.1-2008. Filesystem Hierarchy Standard (FHS) Version 3.0 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. Packages supplied by LFS needed to satisfy the LSB Requirements LSB Core: Bash, Bc, Binutils, Coreutils, Diffutils, File, Findutils, Gawk, GCC, Gettext, Glibc, Grep, Gzip, M4, Man-DB, Procps, Psmisc, Sed, Shadow, SysVinitSystemd, Tar, Util-linux, Zlib LSB Desktop: None LSB Languages: Perl LSB Imaging: None LSB Gtk3 and LSB Graphics (Trial Use): None Packages supplied by BLFS needed to satisfy the LSB Requirements 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 Components not supplied or optionally supplied by LFS or BLFS needed to satisfy the LSB Requirements LSB Core: install_initd, libc.so.6 (the file is provided by the LFS Glibc package but it lacks some symbol versions required by LSB), libcrypt.so.1 (can be provided with optional instructions for the LFS Libxcrypt package), libpthread.so.2 (the file is provided by the LFS Glibc package but it lacks some symbol versions required by LSB), libncurses.so.5 (can be provided with optional instructions for the LFS Ncurses package), libncursesw.so.5 (but libncursesw.so.6 is provided by the LFS Ncurses package), librt.so.1 (the file is provided by the LFS Glibc package but it lacks some symbol versions required by LSB) LSB Desktop: libgdk-x11-2.0 (but libgdk-3.so is provided by the BLFS GTK+-3 package), libgtk-x11-2.0 (but libgtk-3.so and libgtk-4.so are provided by the BLFS GTK+-3 and GTK-4 packages), libpng12.so (but libpng16.so is provided by the BLFS Libpng package), libQt*.so.4 (but libQt6*.so.6 are provided by the BLFS Qt6 package), libtiff.so.4 (but libtiff.so.6 is provided by the BLFS Libtiff package) 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): libpng15.so (but libpng16.so is provided by the BLFS Libpng package)