mirror of
https://git.linuxfromscratch.org/lfs.git
synced 2025-06-26 15:19:20 +01:00
Merge remote-tracking branch 'origin/trunk' into xry111/arm64
This commit is contained in:
commit
f4facc457f
31
Makefile
31
Makefile
@ -26,7 +26,7 @@ ifeq ($(REV), sysv)
|
||||
BASEDIR ?= ~/lfs-book
|
||||
PDF_OUTPUT ?= LFS-BOOK.pdf
|
||||
NOCHUNKS_OUTPUT ?= LFS-BOOK.html
|
||||
DUMPDIR ?= ~/cross-lfs-commands
|
||||
DUMPDIR ?= ~/lfs-commands
|
||||
else
|
||||
BASEDIR ?= ~/lfs-systemd
|
||||
PDF_OUTPUT ?= LFS-SYSD-BOOK.pdf
|
||||
@ -136,7 +136,7 @@ validate: tmpdir version
|
||||
$(Q)xmllint --nonet \
|
||||
--noent \
|
||||
--postvalid \
|
||||
-o $(RENDERTMP)/lfs-full.xml \
|
||||
-o $(RENDERTMP)/lfs-full.xml \
|
||||
$(RENDERTMP)/lfs-html2.xml
|
||||
|
||||
$(Q)rm -f appendices/*.script
|
||||
@ -147,9 +147,9 @@ profile-html:
|
||||
@echo "Generating profiled XML for XHTML..."
|
||||
$(Q)xsltproc --nonet \
|
||||
--stringparam profile.condition html \
|
||||
--output $(RENDERTMP)/lfs-html.xml \
|
||||
--output $(RENDERTMP)/lfs-html.xml \
|
||||
stylesheets/lfs-xsl/profile.xsl \
|
||||
$(RENDERTMP)/lfs-full.xml
|
||||
$(RENDERTMP)/lfs-full.xml
|
||||
|
||||
wget-list: $(BASEDIR)/wget-list $(BASEDIR)/wget-list-$(REV)
|
||||
$(BASEDIR)/wget-list: stylesheets/wget-list.xsl chapter03/chapter03.xml \
|
||||
@ -158,7 +158,7 @@ $(BASEDIR)/wget-list: stylesheets/wget-list.xsl chapter03/chapter03.xml \
|
||||
$(Q)mkdir -p $(BASEDIR)
|
||||
$(Q)xsltproc --xinclude --nonet \
|
||||
--output $(BASEDIR)/wget-list \
|
||||
stylesheets/wget-list.xsl \
|
||||
stylesheets/wget-list.xsl \
|
||||
chapter03/chapter03.xml
|
||||
|
||||
$(BASEDIR)/wget-list-$(REV): stylesheets/wget-list.xsl \
|
||||
@ -197,22 +197,17 @@ $(BASEDIR)/md5sums: stylesheets/wget-list.xsl chapter03/chapter03.xml \
|
||||
version:
|
||||
$(Q)./git-version.sh $(REV)
|
||||
|
||||
#dump-commands: validate
|
||||
# @echo "Dumping book commands..."
|
||||
# $(Q)xsltproc --nonet \
|
||||
# --output $(RENDERTMP)/lfs-html.xml \
|
||||
# --stringparam profile.revision $(REV) \
|
||||
# stylesheets/lfs-xsl/profile.xsl \
|
||||
# $(RENDERTMP)/lfs-full.xml
|
||||
dump-commands: validate
|
||||
@echo "Dumping book commands..."
|
||||
|
||||
# $(Q)rm -rf $(DUMPDIR)
|
||||
$(Q)rm -rf $(DUMPDIR)
|
||||
|
||||
# $(Q)xsltproc --output $(DUMPDIR)/ \
|
||||
# stylesheets/dump-commands.xsl \
|
||||
# $(RENDERTMP)/lfs-html.xml
|
||||
# @echo "Dumping book commands complete in $(DUMPDIR)"
|
||||
$(Q)xsltproc --output $(DUMPDIR)/ \
|
||||
stylesheets/dump-commands.xsl \
|
||||
$(RENDERTMP)/lfs-full.xml
|
||||
@echo "Dumping book commands complete in $(DUMPDIR)"
|
||||
|
||||
all: book nochunks pdf # dump-commands
|
||||
all: book nochunks pdf dump-commands
|
||||
|
||||
.PHONY : all book dump-commands nochunks pdf profile-html tmpdir validate md5sums wget-list version
|
||||
|
||||
|
@ -247,12 +247,12 @@
|
||||
<para><ulink url="mailto:info@shizu-net.jp">Shizunet Co.,Ltd.</ulink>
|
||||
<info@shizu-net.jp> – lfs.mirror.shizu-net.jp mirror</para>
|
||||
</listitem>
|
||||
|
||||
<!-- domain name can't be resolved on Sept 5, 2022
|
||||
<listitem>
|
||||
<para><ulink url="http://www.initworld.com/">Init World</ulink>
|
||||
<http://www.initworld.com/> – lfs.initworld.com mirror</para>
|
||||
</listitem>
|
||||
|
||||
-->
|
||||
</itemizedlist>
|
||||
|
||||
<bridgehead renderas="sect3">Australian Mirrors</bridgehead>
|
||||
|
@ -948,7 +948,7 @@
|
||||
<segtitle>&external;</segtitle>
|
||||
<seglistitem>
|
||||
<seg>
|
||||
<ulink url="http://gcc.gnu.org/wiki/GNAT">GNAT</ulink>
|
||||
<ulink url="https://gcc.gnu.org/wiki/GNAT">GNAT</ulink>
|
||||
and
|
||||
<ulink url="https://repo.or.cz/isl.git">ISL</ulink>
|
||||
</seg>
|
||||
@ -1186,7 +1186,7 @@
|
||||
<segtitle>&external;</segtitle>
|
||||
<seglistitem>
|
||||
<seg>
|
||||
<ulink url="&blfs-book;general/pcre.html">PCRE</ulink>
|
||||
<ulink url="&blfs-book;general/pcre2.html">PCRE2</ulink>
|
||||
and
|
||||
<ulink url="&blfs-book;general/libsigsegv.html">libsigsegv</ulink>
|
||||
</seg>
|
||||
@ -2356,7 +2356,7 @@
|
||||
<segmentedlist id="patch-rundeps">
|
||||
<segtitle>&runtime;</segtitle>
|
||||
<seglistitem>
|
||||
<seg>Glibc and Patch</seg>
|
||||
<seg>Glibc</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
@ -2813,7 +2813,7 @@
|
||||
<ulink url="&blfs-book;postlfs/linux-pam.html">Linux-PAM</ulink>,
|
||||
<ulink
|
||||
url="&blfs-book;general/python-modules.html#lxml">lxml</ulink>,
|
||||
<ulink url="http://lz4.github.io/lz4/">LZ4</ulink>,
|
||||
<ulink url="https://lz4.github.io/lz4/">LZ4</ulink>,
|
||||
<ulink url="&blfs-book;postlfs/make-ca.html">make-ca</ulink>,
|
||||
<ulink url="&blfs-book;postlfs/p11-kit.html">p11-kit</ulink>,
|
||||
<ulink url="&blfs-book;general/pcre2.html">PCRE2</ulink>,
|
||||
@ -3266,7 +3266,7 @@
|
||||
<segtitle>&external;</segtitle>
|
||||
<seglistitem>
|
||||
<seg>
|
||||
<ulink url="http://lz4.github.io/lz4/">LZ4</ulink>
|
||||
<ulink url="https://lz4.github.io/lz4/">LZ4</ulink>
|
||||
</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
@ -1,3 +1,6 @@
|
||||
2022-09-30 Bruce Dubbs <bdubbs@linuxfromscratch.org>
|
||||
* Mount /dev/shm as a tmpfs.
|
||||
|
||||
2022-07-23 Thomas Trepl <thomas@linuxfromscratch.org>
|
||||
* Mark an raid array clean when root (/) has been remounted
|
||||
r/o when system goes down. Otherwise, array does remain
|
||||
|
@ -38,8 +38,8 @@ case "${1}" in
|
||||
mount /run || failed=1
|
||||
fi
|
||||
|
||||
mkdir -p /run/lock /run/shm
|
||||
chmod 1777 /run/shm /run/lock
|
||||
mkdir -p /run/lock
|
||||
chmod 1777 /run/lock
|
||||
|
||||
log_info_msg "Mounting virtual file systems: ${INFO}/run"
|
||||
|
||||
@ -58,7 +58,9 @@ case "${1}" in
|
||||
mount -o mode=0755,nosuid /dev || failed=1
|
||||
fi
|
||||
|
||||
ln -sfn /run/shm /dev/shm
|
||||
mkdir -p /dev/shm
|
||||
log_info_msg2 " ${INFO}/dev/shm"
|
||||
mount -o nosuid,nodev /dev/shm || failed=1
|
||||
|
||||
(exit ${failed})
|
||||
evaluate_retval
|
||||
|
@ -8,23 +8,23 @@
|
||||
# Version : 00.00
|
||||
#
|
||||
# Notes : The syntax of this file is as follows:
|
||||
# if type is equal to "file" or "dir"
|
||||
# <filename> <type> <permissions> <user> <group>
|
||||
# if type is equal to "dev"
|
||||
# <filename> <type> <permissions> <user> <group> <devtype>
|
||||
# if type is equal to "file" or "dir"
|
||||
# <filename> <type> <permissions> <user> <group>
|
||||
# if type is equal to "dev"
|
||||
# <filename> <type> <permissions> <user> <group> <devtype>
|
||||
# <major> <minor>
|
||||
#
|
||||
# <filename> is the name of the file which is to be created
|
||||
# <type> is either file, dir, or dev.
|
||||
# file creates a new file
|
||||
# dir creates a new directory
|
||||
# dev creates a new device
|
||||
# <devtype> is either block, char or pipe
|
||||
# block creates a block device
|
||||
# char creates a character deivce
|
||||
# pipe creates a pipe, this will ignore the <major> and
|
||||
# <filename> is the name of the file which is to be created
|
||||
# <type> is either file, dir, or dev.
|
||||
# file creates a new file
|
||||
# dir creates a new directory
|
||||
# dev creates a new device
|
||||
# <devtype> is either block, char or pipe
|
||||
# block creates a block device
|
||||
# char creates a character deivce
|
||||
# pipe creates a pipe, this will ignore the <major> and
|
||||
# <minor> fields
|
||||
# <major> and <minor> are the major and minor numbers used for
|
||||
# <major> and <minor> are the major and minor numbers used for
|
||||
# the device.
|
||||
########################################################################
|
||||
|
||||
|
@ -8,7 +8,7 @@
|
||||
# Version : 00.00
|
||||
#
|
||||
# Notes : The syntax of this file is as follows:
|
||||
# <module> [<arg1> <arg2> ...]
|
||||
# <module> [<arg1> <arg2> ...]
|
||||
#
|
||||
# Each module should be on its own line, and any options that you want
|
||||
# passed to the module should follow it. The line deliminator is either
|
||||
|
@ -40,6 +40,107 @@
|
||||
appropriate for the entry or if needed the entire day's listitem.
|
||||
-->
|
||||
|
||||
<listitem>
|
||||
<para>2022-09-22</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to expat-2.4.9 (Security Update). Fixes
|
||||
<ulink url="&lfs-ticket-root;5117">#5117</ulink>.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>2022-09-20</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Adapt instructions depending on
|
||||
host setup of /dev/shm when creating virtual filesystems
|
||||
for chroot.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>2022-09-15</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to file-5.43. Fixes
|
||||
<ulink url="&lfs-ticket-root;5113">#5113</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to linux-5.19.8. Fixes
|
||||
<ulink url="&lfs-ticket-root;5111">#5111</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to gawk-5.2.0. Fixes
|
||||
<ulink url="&lfs-ticket-root;5108">#5108</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to meson-0.63.2. Fixes
|
||||
<ulink url="&lfs-ticket-root;5106">#5106</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to ninja-1.11.1. Fixes
|
||||
<ulink url="&lfs-ticket-root;5103">#5103</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to bc-6.0.2. Fixes
|
||||
<ulink url="&lfs-ticket-root;5102">#5102</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem revision="sysv">
|
||||
<para>[bdubbs] - Fix the location of udev rules in eudev. Fixes
|
||||
<ulink url="&lfs-ticket-root;5112">#5112</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Remove a warning for egrep and fgrep that
|
||||
makes tests for some packages fail.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Delete an empty binutils man page. Fixes
|
||||
<ulink url="&lfs-ticket-root;5100">#5100</ulink>.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>2022-09-10</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[pierre] - Add <option>--enable-default-pie</option> and
|
||||
<option>--enable-default-ssp</option> to GCC build. Rationale
|
||||
and some reports at
|
||||
<ulink url="&lfs-ticket-root;5107">#5107</ulink>.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>2022-09-07</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to shadow-4.12.3. Fixes
|
||||
<ulink url="&lfs-ticket-root;5101">#5101</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to Python3-3.10.7. Fixes
|
||||
<ulink url="&lfs-ticket-root;5109">#5109</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to linux-5.19.7. Fixes
|
||||
<ulink url="&lfs-ticket-root;5099">#5099</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to less-608. Fixes
|
||||
<ulink url="&lfs-ticket-root;5104">#5104</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to grep-3.8. Fixes
|
||||
<ulink url="&lfs-ticket-root;5105">#5105</ulink>.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>2022-09-01</para>
|
||||
<itemizedlist>
|
||||
|
@ -46,7 +46,7 @@
|
||||
important issues you need be aware of before beginning to
|
||||
work your way through <xref linkend="chapter-cross-tools"/> and beyond.</para>
|
||||
|
||||
<para><xref linkend="chapter-cross-tools"/>, explains the installation of
|
||||
<para><xref linkend="chapter-cross-tools"/> explains the installation of
|
||||
the initial tool chain, (binutils, gcc, and glibc) using cross compilation
|
||||
techniques to isolate the new tools from the host system.</para>
|
||||
|
||||
@ -61,7 +61,7 @@
|
||||
seem excessive. A full technical explanation as to why this is done is
|
||||
provided in <xref linkend="ch-tools-toolchaintechnotes"/>.</para>
|
||||
|
||||
<para>In <xref linkend="chapter-building-system"/>, The
|
||||
<para>In <xref linkend="chapter-building-system"/> the
|
||||
full LFS system is built. Another advantage provided by the chroot
|
||||
environment is that it allows you to continue using the host system
|
||||
while LFS is being built. While waiting for package compilations to
|
||||
|
@ -44,9 +44,9 @@
|
||||
<listitem>
|
||||
<para>Bc &bc-version;</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<!--<listitem>
|
||||
<para>Binutils-&binutils-version;</para>
|
||||
</listitem>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>Bison-&bison-version;</para>
|
||||
</listitem>-->
|
||||
@ -56,21 +56,21 @@
|
||||
<!--<listitem>
|
||||
<para>Check-&check-version;</para>
|
||||
</listitem>-->
|
||||
<listitem>
|
||||
<!--<listitem>
|
||||
<para>Coreutils-&coreutils-version;</para>
|
||||
</listitem>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>DejaGNU-&dejagnu-version;</para>
|
||||
</listitem>-->
|
||||
<listitem revision="systemd">
|
||||
<!--<listitem revision="systemd">
|
||||
<para>D-Bus-&dbus-version;</para>
|
||||
</listitem>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>Diffutils-&diffutils-version;</para>
|
||||
</listitem>-->
|
||||
<listitem>
|
||||
<!--<listitem>
|
||||
<para>E2fsprogs-&e2fsprogs-version;</para>
|
||||
</listitem>
|
||||
</listitem>-->
|
||||
<!--<listitem revision="sysv">
|
||||
<para>Eudev-&eudev-version;</para>
|
||||
</listitem>-->
|
||||
@ -89,81 +89,81 @@
|
||||
<!--<listitem>
|
||||
<para>Flex-&flex-version;</para>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>Gawk-&gawk-version;</para>
|
||||
</listitem>-->
|
||||
<listitem>
|
||||
<para>GCC-&gcc-version;</para>
|
||||
<para>Gawk-&gawk-version;</para>
|
||||
</listitem>
|
||||
<!--<listitem>
|
||||
<para>GCC-&gcc-version;</para>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>GDBM-&gdbm-version;</para>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>Gettext-&gettext-version;</para>
|
||||
</listitem>-->
|
||||
<listitem>
|
||||
<!--<listitem>
|
||||
<para>Glibc-&glibc-version;</para>
|
||||
</listitem>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>GMP-&gmp-version;</para>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>Gperf-&gperf-version;</para>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<listitem>
|
||||
<para>Grep-&grep-version;</para>
|
||||
</listitem>-->
|
||||
</listitem>
|
||||
<!--<listitem>
|
||||
<para>Groff-&groff-version;</para>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>GRUB-&grub-version;</para>
|
||||
</listitem>-->
|
||||
<listitem>
|
||||
<!--<listitem>
|
||||
<para>Gzip-&gzip-version;</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>IANA-Etc-&iana-etc-version;</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>Inetutils-&inetutils-version;</para>
|
||||
</listitem>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>Intltool-&intltool-version;</para>
|
||||
</listitem>-->
|
||||
<listitem>
|
||||
<para>IPRoute2-&iproute2-version;</para>
|
||||
</listitem>
|
||||
<listitem revision="systemd">
|
||||
<para>Jinja2-&jinja2-version;</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Kbd-&kbd-version;</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Kmod-&kmod-version;</para>
|
||||
</listitem>
|
||||
<!--<listitem>
|
||||
<para>Less-&less-version;</para>
|
||||
<para>IPRoute2-&iproute2-version;</para>
|
||||
</listitem>-->
|
||||
<!--<listitem revision="systemd">
|
||||
<para>Jinja2-&jinja2-version;</para>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>Kbd-&kbd-version;</para>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>Kmod-&kmod-version;</para>
|
||||
</listitem>-->
|
||||
<listitem>
|
||||
<para>Less-&less-version;</para>
|
||||
</listitem>
|
||||
<!--<listitem>
|
||||
<para>LFS-Bootscripts-&lfs-bootscripts-version;</para>
|
||||
</listitem>-->
|
||||
<listitem>
|
||||
<!--<listitem>
|
||||
<para>Libcap-&libcap-version;</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>Libelf-&elfutils-version; (from elfutils)</para>
|
||||
</listitem>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>Libffi-&libffi-version;</para>
|
||||
</listitem>-->
|
||||
<listitem>
|
||||
<!--<listitem>
|
||||
<para>Libpipeline-&libpipeline-version;</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>Libtool-&libtool-version;</para>
|
||||
</listitem>
|
||||
</listitem>-->
|
||||
<listitem>
|
||||
<para>Linux-&linux-version;</para>
|
||||
</listitem>
|
||||
@ -173,15 +173,15 @@
|
||||
<!--<listitem>
|
||||
<para>Make-&make-version;</para>
|
||||
</listitem>-->
|
||||
<listitem>
|
||||
<!--<listitem>
|
||||
<para>Man-DB-&man-db-version;</para>
|
||||
</listitem>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>Man-pages-&man-pages-version;</para>
|
||||
</listitem>-->
|
||||
<listitem revision="systemd">
|
||||
<!--<listitem revision="systemd">
|
||||
<para>MarkupSafe-&markupsafe-version;</para>
|
||||
</listitem>
|
||||
</listitem>-->
|
||||
<listitem>
|
||||
<para>Meson-&meson-version;</para>
|
||||
</listitem>
|
||||
@ -197,24 +197,24 @@
|
||||
<listitem>
|
||||
<para>Ninja-&ninja-version;</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<!--<listitem>
|
||||
<para>Openssl-&openssl-version;</para>
|
||||
</listitem>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>Patch-&patch-version;</para>
|
||||
</listitem>-->
|
||||
<listitem>
|
||||
<!--<listitem>
|
||||
<para>Perl-&perl-version;</para>
|
||||
</listitem>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>Pkg-config-&pkgconfig-version;</para>
|
||||
</listitem>-->
|
||||
<listitem>
|
||||
<!--<listitem>
|
||||
<para>Procps-ng-&procps-ng-version;</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>Psmisc-&psmisc-version;</para>
|
||||
</listitem>
|
||||
</listitem>-->
|
||||
<listitem>
|
||||
<para>Python-&python-version;</para>
|
||||
</listitem>
|
||||
@ -230,12 +230,12 @@
|
||||
<!--<listitem revision="sysv">
|
||||
<para>Sysklogd-&sysklogd-version;</para>
|
||||
</listitem>-->
|
||||
<listitem revision="systemd">
|
||||
<!--<listitem revision="systemd">
|
||||
<para>Systemd-&systemd-version;</para>
|
||||
</listitem>
|
||||
<listitem revision="sysv">
|
||||
</listitem>-->
|
||||
<!--<listitem revision="sysv">
|
||||
<para>SysVinit-&sysvinit-version;</para>
|
||||
</listitem>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>Tar-&tar-version;</para>
|
||||
</listitem>-->
|
||||
@ -245,24 +245,24 @@
|
||||
<!--<listitem>
|
||||
<para>Texinfo-&texinfo-version;</para>
|
||||
</listitem>-->
|
||||
<listitem>
|
||||
<!--<listitem>
|
||||
<para>Tzdata-&tzdata-version;</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>Util-Linux-&util-linux-version;</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>Vim-&vim-version;</para>
|
||||
</listitem>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>XML-Parser-&xml-parser-version;</para>
|
||||
</listitem>-->
|
||||
<listitem>
|
||||
<!--<listitem>
|
||||
<para>XZ-Utils-&xz-version;</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>Zlib-&zlib-version;</para>
|
||||
</listitem>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>Zstd-&zstd-version;</para>
|
||||
</listitem>-->
|
||||
@ -280,33 +280,19 @@
|
||||
<itemizedlist>
|
||||
<title>Added:</title>
|
||||
<listitem><para></para></listitem> <!-- satisfy build -->
|
||||
<listitem>
|
||||
<para>Wheel-&wheel-version;</para>
|
||||
</listitem>
|
||||
<!--
|
||||
<listitem>
|
||||
|
||||
<!--<listitem>
|
||||
<para>&xz-upstream-fix-patch;</para>
|
||||
</listitem>
|
||||
-->
|
||||
<listitem>
|
||||
<para>&zstd-upstream-fixes-patch;</para>
|
||||
</listitem>
|
||||
</listitem>-->
|
||||
</itemizedlist>
|
||||
|
||||
<itemizedlist>
|
||||
<title>Removed:</title>
|
||||
<listitem><para></para></listitem> <!-- satisfy build -->
|
||||
|
||||
<listitem>
|
||||
<!--<listitem>
|
||||
<para>perl-5.34.0-upstream_fixes-1.patch</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>systemd-250-kernel_5.17_fixes-1.patch</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>systemd-250-upstream_fixes-1.patch</para>
|
||||
</listitem>
|
||||
|
||||
</listitem>-->
|
||||
</itemizedlist>
|
||||
|
||||
</sect1>
|
||||
|
@ -10,10 +10,19 @@
|
||||
|
||||
<title>Creating a File System on the Partition</title>
|
||||
|
||||
<para>Now that a blank partition has been set up, the file system can be
|
||||
created. LFS can use any file system recognized by the Linux kernel, but the
|
||||
most common types are ext3 and ext4. The choice of file system can be
|
||||
complex and depends on the characteristics of the files and the size of
|
||||
<para>A partition is just a range of sectors on a disk drive, delimited by
|
||||
boundaries set in a partition table. Before the operating system can use
|
||||
a blank partition, the partition must be formatted to contain a file
|
||||
system, typically consisting of a label, directory blocks, data blocks, and
|
||||
an indexing scheme to locate a particular file on demand. The file system
|
||||
also helps the OS keep track of free space on the partition, reserve the
|
||||
needed sectors when a new file is created or an existing file is extended,
|
||||
and recycle the free data segments created when files are deleted. It may
|
||||
also provide support for data redundancy, and for error recovery.</para>
|
||||
|
||||
<para>LFS can use any file system recognized by the Linux kernel, but the
|
||||
most common types are ext3 and ext4. The choice of the right file system can be
|
||||
complex; it depends on the characteristics of the files and the size of
|
||||
the partition. For example:</para>
|
||||
|
||||
<variablelist>
|
||||
@ -33,22 +42,22 @@
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>ext4</term>
|
||||
<listitem><para>is the latest version of the ext file system family of
|
||||
partition types. It provides several new capabilities including
|
||||
nano-second timestamps, creation and use of very large files (16 TB), and
|
||||
speed improvements.</para>
|
||||
<listitem><para>is the latest version of the ext family of
|
||||
file systems. It provides several new capabilities including
|
||||
nano-second timestamps, creation and use of very large files
|
||||
(up to 16 TB), and speed improvements.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
<para>Other file systems, including FAT32, NTFS, ReiserFS, JFS, and XFS are
|
||||
useful for specialized purposes. More information about these file systems
|
||||
can be found at <ulink
|
||||
url="http://en.wikipedia.org/wiki/Comparison_of_file_systems"/>.</para>
|
||||
useful for specialized purposes. More information about these file systems,
|
||||
and many others, can be found at <ulink
|
||||
url="https://en.wikipedia.org/wiki/Comparison_of_file_systems"/>.</para>
|
||||
|
||||
<para>LFS assumes that the root file system (/) is of type ext4. To create
|
||||
<para>LFS assumes that the root file system (/) is of type ext4. To create
|
||||
an <systemitem class="filesystem">ext4</systemitem> file system on the LFS
|
||||
partition, run the following:</para>
|
||||
partition, issue the following command:</para>
|
||||
|
||||
<screen role="nodump"><userinput>mkfs -v -t ext4 /dev/<replaceable><xxx></replaceable></userinput></screen>
|
||||
|
||||
|
@ -94,10 +94,10 @@
|
||||
|
||||
<para>Swapping is never good. For mechanical hard drives you can generally
|
||||
tell if a system is swapping by just listening to disk activity and
|
||||
observing how the system reacts to commands. For an SSD drive you will not
|
||||
be able to hear swapping but you can tell how much swap space is being used
|
||||
by the <command>top</command> or <command>free</command> programs. Use of
|
||||
an SSD drive for a swap partition should be avoided if possible. The first
|
||||
observing how the system reacts to commands. With an SSD you will not
|
||||
be able to hear swapping, but you can tell how much swap space is being used
|
||||
by running the <command>top</command> or <command>free</command> programs. Use of
|
||||
an SSD for a swap partition should be avoided if possible. The first
|
||||
reaction to swapping should be to check for an unreasonable command such as
|
||||
trying to edit a five gigabyte file. If swapping becomes a normal
|
||||
occurrence, the best solution is to purchase more RAM for your
|
||||
@ -112,12 +112,12 @@
|
||||
must be available for GRUB to use during installation of the boot
|
||||
loader. This partition will normally be labeled 'BIOS Boot' if using
|
||||
<command>fdisk</command> or have a code of <emphasis>EF02</emphasis> if
|
||||
using <command>gdisk</command>.</para>
|
||||
using the <command>gdisk</command> command.</para>
|
||||
|
||||
<note><para>The Grub Bios partition must be on the drive that the BIOS
|
||||
uses to boot the system. This is not necessarily the same drive where the
|
||||
LFS root partition is located. Disks on a system may use different
|
||||
partition table types. The requirement for this partition depends
|
||||
uses to boot the system. This is not necessarily the drive that holds
|
||||
the LFS root partition. The disks on a system may use different
|
||||
partition table types. The necessity of the Grub Bios partition depends
|
||||
only on the partition table type of the boot disk.</para></note>
|
||||
</sect3>
|
||||
|
||||
@ -133,7 +133,7 @@
|
||||
<listitem><para>/boot – Highly recommended. Use this partition to
|
||||
store kernels and other booting information. To minimize potential boot
|
||||
problems with larger disks, make this the first physical partition on
|
||||
your first disk drive. A partition size of 200 megabytes is quite
|
||||
your first disk drive. A partition size of 200 megabytes is
|
||||
adequate.</para></listitem>
|
||||
|
||||
<listitem><para>/boot/efi – The EFI System Partition, which is
|
||||
@ -150,41 +150,50 @@
|
||||
<filename class="directory">/bin</filename>,
|
||||
<filename class="directory">/lib</filename>, and
|
||||
<filename class="directory">/sbin</filename> are symlinks to their
|
||||
counterpart in <filename class="directory">/usr</filename>.
|
||||
So <filename class="directory">/usr</filename> contains all binaries
|
||||
counterparts in <filename class="directory">/usr</filename>.
|
||||
So <filename class="directory">/usr</filename> contains all the binaries
|
||||
needed for the system to run. For LFS a separate partition for
|
||||
<filename class="directory">/usr</filename> is normally not needed.
|
||||
If you need it anyway, you should make a partition large enough to
|
||||
fit all programs and libraries in the system. The root partition can be
|
||||
If you create it anyway, you should make a partition large enough to
|
||||
fit all the programs and libraries in the system. The root partition can be
|
||||
very small (maybe just one gigabyte) in this configuration, so it's
|
||||
suitable for a thin client or diskless workstation (where
|
||||
<filename class="directory">/usr</filename> is mounted from a remote
|
||||
server). However you should take care that an initramfs (not covered by
|
||||
LFS) will be needed to boot a system with separate
|
||||
server). However, you should be aware that an initramfs (not covered by
|
||||
LFS) will be needed to boot a system with a separate
|
||||
<filename class="directory">/usr</filename> partition.</para></listitem>
|
||||
|
||||
<listitem><para>/opt – This directory is most useful for
|
||||
BLFS where multiple installations of large packages like Gnome or KDE can
|
||||
BLFS, where multiple large packages like KDE or Texlive can
|
||||
be installed without embedding the files in the /usr hierarchy. If
|
||||
used, 5 to 10 gigabytes is generally adequate.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem><para>/tmp – A separate /tmp directory is rare, but
|
||||
useful if configuring a thin client. This partition, if used, will
|
||||
usually not need to exceed a couple of gigabytes.</para></listitem>
|
||||
<listitem revision='sysv'><para>/tmp – A separate /tmp directory
|
||||
is rare, but useful if configuring a thin client. This partition, if
|
||||
used, will usually not need to exceed a couple of
|
||||
gigabytes. If you have enough RAM, you can mount a
|
||||
<systemitem class='filesystem'>tmpfs</systemitem> on /tmp to make
|
||||
access to temporary files faster.</para></listitem>
|
||||
|
||||
<listitem revision='systemd'><para>/tmp – By default, systemd
|
||||
mounts a <systemitem class='filesystem'>tmpfs</systemitem> here.
|
||||
If you want to override that behavior, follow
|
||||
<xref linkend='systemd-no-tmpfs'/> when configuring the LFS
|
||||
system.</para></listitem>
|
||||
|
||||
<listitem><para>/usr/src – This partition is very
|
||||
useful for providing a location to store BLFS source files and
|
||||
share them across LFS builds. It can also be used as a location
|
||||
for building BLFS packages. A reasonably large partition of 30-50
|
||||
gigabytes allows plenty of room.</para></listitem>
|
||||
share them across LFS builds. It can also be used as a location
|
||||
for building BLFS packages. A reasonably large partition of 30-50
|
||||
gigabytes provides plenty of room.</para></listitem>
|
||||
|
||||
</itemizedlist>
|
||||
|
||||
<para>Any separate partition that you want automatically mounted upon boot
|
||||
needs to be specified in the <filename>/etc/fstab</filename>. Details
|
||||
about how to specify partitions will be discussed in <xref
|
||||
linkend="ch-bootable-fstab"/>. </para>
|
||||
<para>Any separate partition that you want automatically mounted when the
|
||||
system starts must be specified in the <filename>/etc/fstab</filename> file.
|
||||
Details about how to specify partitions will be discussed in <xref
|
||||
linkend="ch-bootable-fstab"/>.</para>
|
||||
|
||||
</sect3>
|
||||
</sect2>
|
||||
|
@ -36,7 +36,7 @@
|
||||
|
||||
<listitem>
|
||||
<para><emphasis role="strong">Bison-2.7</emphasis> (/usr/bin/yacc
|
||||
should be a link to bison or small script that executes bison)</para>
|
||||
should be a link to bison or a small script that executes bison)</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
|
@ -10,24 +10,23 @@
|
||||
|
||||
<title>Mounting the New Partition</title>
|
||||
|
||||
<para>Now that a file system has been created, the partition needs to
|
||||
be made accessible. In order to do this, the partition needs to be
|
||||
mounted at a chosen mount point. For the purposes of this book, it is
|
||||
assumed that the file system is mounted under the directory specified by the
|
||||
<envar>LFS</envar> environment variable as described in the previous section.
|
||||
<para>Now that a file system has been created, the partition must
|
||||
be mounted so the host system can access it. This book assumes that
|
||||
the file system is mounted at the directory specified by the
|
||||
<envar>LFS</envar> environment variable described in the previous section.
|
||||
</para>
|
||||
|
||||
<para>Create the mount point and mount the LFS file system by running:</para>
|
||||
<para>Create the mount point and mount the LFS file system with these commands:</para>
|
||||
|
||||
<screen role="nodump"><userinput>mkdir -pv $LFS
|
||||
mount -v -t ext4 /dev/<replaceable><xxx></replaceable> $LFS</userinput></screen>
|
||||
|
||||
<para>Replace <replaceable><xxx></replaceable> with the designation of the LFS
|
||||
<para>Replace <replaceable><xxx></replaceable> with the name of the LFS
|
||||
partition.</para>
|
||||
|
||||
<para>If using multiple partitions for LFS (e.g., one for <filename
|
||||
class="directory">/</filename> and another for <filename
|
||||
class="directory">/home</filename>), mount them using:</para>
|
||||
<para>If you are using multiple partitions for LFS (e.g., one for
|
||||
<filename class="directory">/</filename> and another for <filename
|
||||
class="directory">/home</filename>), mount them like this:</para>
|
||||
|
||||
<screen role="nodump"><userinput>mkdir -pv $LFS
|
||||
mount -v -t ext4 /dev/<replaceable><xxx></replaceable> $LFS
|
||||
@ -43,13 +42,14 @@ mount -v -t ext4 /dev/<replaceable><yyy></replaceable> $LFS/home</userinpu
|
||||
<option>nodev</option> options). Run the <command>mount</command> command
|
||||
without any parameters to see what options are set for the mounted LFS
|
||||
partition. If <option>nosuid</option> and/or <option>nodev</option> are set,
|
||||
the partition will need to be remounted.</para>
|
||||
the partition must be remounted.</para>
|
||||
|
||||
<warning><para>The above instructions assume that you will not be restarting
|
||||
<warning><para>The above instructions assume that you will not restart
|
||||
your computer throughout the LFS process. If you shut down your system,
|
||||
you will either need to remount the LFS partition each time you restart
|
||||
the build process or modify your host system's /etc/fstab file to automatically
|
||||
remount it upon boot. For example:
|
||||
the build process, or modify the host system's /etc/fstab file to automatically
|
||||
remount it when you reboot. For example, you might add this line to your
|
||||
/etc/fstab file:
|
||||
|
||||
<screen role="nodump">/dev/<replaceable><xxx></replaceable> /mnt/lfs ext4 defaults 1 1</screen>
|
||||
|
||||
@ -67,7 +67,7 @@ mount -v -t ext4 /dev/<replaceable><yyy></replaceable> $LFS/home</userinpu
|
||||
<para>Replace <replaceable><zzz></replaceable> with the name of the
|
||||
<systemitem class="filesystem">swap</systemitem> partition.</para>
|
||||
|
||||
<para>Now that there is an established place to work, it is time to
|
||||
<para>Now that the new LFS partition is open for business, it's time to
|
||||
download the packages.</para>
|
||||
|
||||
</sect1>
|
||||
|
@ -34,7 +34,7 @@
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Chapter 5–6</title>
|
||||
<title>Chapters 5–6</title>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
@ -44,8 +44,8 @@
|
||||
<listitem>
|
||||
<para>These two chapters <emphasis>must</emphasis> be done as user
|
||||
<systemitem class="username">lfs</systemitem>.
|
||||
A <command>su - lfs</command> needs to be done before any task in these
|
||||
chapters. Failing to do that, you are at risk of installing packages to the
|
||||
A <command>su - lfs</command> command must be issued before any task in these
|
||||
chapters. If you don't do that, you are at risk of installing packages to the
|
||||
host, and potentially rendering it unusable.</para>
|
||||
</listitem>
|
||||
|
||||
@ -54,13 +54,13 @@
|
||||
are critical. If there is any
|
||||
doubt about installing a package, ensure any previously expanded
|
||||
tarballs are removed, then re-extract the package files, and complete all
|
||||
instructions in that section.</para>
|
||||
the instructions in that section.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Chapter 7–10</title>
|
||||
<title>Chapters 7–10</title>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
@ -69,7 +69,7 @@
|
||||
|
||||
<listitem>
|
||||
<para>A few operations, from <quote>Changing Ownership</quote> to
|
||||
<quote>Entering the Chroot Environment</quote> must be done as the
|
||||
<quote>Entering the Chroot Environment</quote>, must be done as the
|
||||
<systemitem class="username">root</systemitem> user, with the LFS
|
||||
environment variable set for the &root; user.</para>
|
||||
</listitem>
|
||||
@ -77,7 +77,7 @@
|
||||
<listitem>
|
||||
<para> When entering chroot, the LFS environment variable must be set
|
||||
for <systemitem class="username">root</systemitem>. The LFS
|
||||
variable is not used afterwards.</para>
|
||||
variable is not used after entering the chroot environment.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
|
@ -13,17 +13,17 @@
|
||||
<para>This chapter includes a list of packages that need to be downloaded in
|
||||
order to build a basic Linux system. The listed version numbers correspond to
|
||||
versions of the software that are known to work, and this book is based on
|
||||
their use. We highly recommend against using different versions because the build
|
||||
their use. We highly recommend against using different versions, because the build
|
||||
commands for one version may not work with a different version, unless the
|
||||
different version is specified by a LFS errata or security advisory.
|
||||
different version is specified by an LFS erratum or security advisory.
|
||||
The newest package versions may also have problems that require
|
||||
work-arounds. These work-arounds will be developed and stabilized in the
|
||||
development version of the book.</para>
|
||||
|
||||
<para>For some packages, the release tarball and the (Git or SVN)
|
||||
repository snapshot tarball for this release may be published with
|
||||
similar file name. A release tarball contains generated files (for
|
||||
example, <command>configure</command> script generated by
|
||||
repository snapshot tarball for that release may be published with
|
||||
similar file names. A release tarball contains generated files (for
|
||||
example, a <command>configure</command> script generated by
|
||||
<command>autoconf</command>), in addition to the contents of the
|
||||
corresponding repository snapshot. The book uses release tarballs
|
||||
whenever possible. Using a repository snapshot instead of a release
|
||||
@ -31,7 +31,7 @@
|
||||
|
||||
<para>Download locations may not always be accessible. If a download
|
||||
location has changed since this book was published, Google (<ulink
|
||||
url="http://www.google.com/"/>) provides a useful search engine for
|
||||
url="https://www.google.com/"/>) provides a useful search engine for
|
||||
most packages. If this search is unsuccessful, try one of the
|
||||
alternative means of downloading at <ulink
|
||||
url="&lfs-root;lfs/mirrors.html#files"/>. </para>
|
||||
@ -69,7 +69,7 @@
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>For stable versions of the book, a tarball of all the needed files
|
||||
can be downloaded from one of the LFS files mirrors listed at
|
||||
can be downloaded from one of the mirror sites listed at
|
||||
<ulink url="https://www.linuxfromscratch.org/mirrors.html#files"/>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
|
@ -20,9 +20,9 @@
|
||||
reachable, you should read the security advisories first to figure out
|
||||
if a newer version (with the vulnerability fixed) should be used. If
|
||||
not, try to download the removed package from a mirror. Although it's
|
||||
possible to download an old release from a mirror even if this release
|
||||
has been removed because of a vulnerability, it's not recommended to
|
||||
use a release known to be vulnerable for building your system.</para>
|
||||
possible to download an old release from a mirror even if this release
|
||||
has been removed because of a vulnerability, it's not recommended to
|
||||
use a release known to be vulnerable for building your system.</para>
|
||||
</note>
|
||||
|
||||
<para>Download or otherwise obtain the following packages:</para>
|
||||
|
@ -186,7 +186,7 @@ EOF</userinput></screen>
|
||||
<para>After use of the <systemitem class="username">lfs</systemitem>
|
||||
user is finished at the beginning of <xref
|
||||
linkend="chapter-chroot-temporary-tools"/>, you can restore
|
||||
<filename>/etc/bash.bashrc</filename> (if desired).</para>
|
||||
<filename>/etc/bash.bashrc</filename> (if desired).</para>
|
||||
|
||||
<para>Note that the LFS Bash package we will build in
|
||||
<xref linkend="ch-system-bash"/> is not configured to load or execute
|
||||
|
@ -83,6 +83,8 @@ cd build</userinput></screen>
|
||||
--with-sysroot=$LFS \
|
||||
--with-newlib \
|
||||
--without-headers \
|
||||
--enable-default-pie \
|
||||
--enable-default-ssp \
|
||||
--disable-nls \
|
||||
--disable-shared \
|
||||
--disable-multilib \
|
||||
@ -128,6 +130,20 @@ cd build</userinput></screen>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--enable-default-pie and
|
||||
--enable-default-ssp</parameter></term>
|
||||
<listitem>
|
||||
<para>Those switches allow GCC to compile programs with
|
||||
some hardening security features (more information on those in
|
||||
the <xref linkend="pie-ssp-info"/> in chapter 8) by default. The
|
||||
are not strictly needed at this stage, since the compiler will
|
||||
only produce temporary executables. But it is cleaner to have the
|
||||
temporary packages be as close as possible to the final ones.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--disable-shared</parameter></term>
|
||||
<listitem>
|
||||
|
@ -87,6 +87,8 @@ cd build</userinput></screen>
|
||||
LDFLAGS_FOR_TARGET=-L$PWD/$LFS_TGT/libgcc \
|
||||
--prefix=/usr \
|
||||
--with-build-sysroot=$LFS \
|
||||
--enable-default-pie \
|
||||
--enable-default-ssp \
|
||||
--disable-nls \
|
||||
--disable-multilib \
|
||||
--disable-decimal-float \
|
||||
|
@ -18,10 +18,10 @@
|
||||
|
||||
<screen><userinput>rm -rf /usr/share/{info,man,doc}/*</userinput></screen>
|
||||
|
||||
<para>Second, the libtool .la files are only useful when linking with static
|
||||
libraries. They are unneeded and potentially harmful when using dynamic
|
||||
shared libraries, especially when using non-autotools build systems.
|
||||
While still in chroot, remove those files now:</para>
|
||||
<para>Second, on a modern Linux system, the libtool .la files are only
|
||||
useful for libltdl. No libraries in LFS are expected to be loaded by
|
||||
libltdl, and it's known that some .la files can cause BLFS packages
|
||||
fail to build. Remove those files now:</para>
|
||||
|
||||
<screen><userinput>find /usr/{lib,libexec} -name \*.la -delete</userinput></screen>
|
||||
|
||||
@ -95,7 +95,8 @@
|
||||
|
||||
<para>Before making a backup, unmount the virtual file systems:</para>
|
||||
|
||||
<screen role="nodump"><userinput>umount $LFS/dev/pts
|
||||
<screen role="nodump"><userinput>mountpoint -q $LFS/dev/shm && umount $LFS/dev/shm
|
||||
umount $LFS/dev/pts
|
||||
umount $LFS/{sys,proc,run,dev}</userinput></screen>
|
||||
|
||||
<para>
|
||||
|
@ -48,8 +48,8 @@
|
||||
as well:</para>
|
||||
|
||||
<screen><userinput>cat > /etc/hosts << EOF
|
||||
127.0.0.1 localhost $(hostname)
|
||||
::1 localhost
|
||||
<literal>127.0.0.1 localhost $(hostname)
|
||||
::1 localhost</literal>
|
||||
EOF</userinput></screen>
|
||||
|
||||
<para>In order for user <systemitem class="username">root</systemitem> to be
|
||||
@ -162,7 +162,7 @@ EOF</userinput></screen>
|
||||
9, and in part by common convention employed by a number of existing Linux
|
||||
distributions. In addition, some test suites rely on specific users or
|
||||
groups. The Linux Standard Base (LSB, available at <ulink
|
||||
url="http://refspecs.linuxfoundation.org/lsb.shtml"/>) only recommends that,
|
||||
url="https://refspecs.linuxfoundation.org/lsb.shtml"/>) only recommends that,
|
||||
besides the group <systemitem class="groupname">root</systemitem> with a
|
||||
Group ID (GID) of 0, a group <systemitem class="groupname">bin</systemitem>
|
||||
with a GID of 1 be present. The GID of 5 is widely used for
|
||||
|
@ -89,8 +89,15 @@ mount -vt tmpfs tmpfs $LFS/run</userinput></screen>
|
||||
The /run tmpfs was mounted above so in this case only a
|
||||
directory needs to be created.</para>
|
||||
|
||||
<para>In other cases <filename>/dev/shm</filename> is a mountpoint
|
||||
for a tmpfs. In that case the mount of /dev above will only create
|
||||
/dev/shm in the chroot environment as a directory. In this situation
|
||||
we explicitly mount a tmpfs,</para>
|
||||
|
||||
<screen><userinput>if [ -h $LFS/dev/shm ]; then
|
||||
mkdir -pv $LFS/$(readlink $LFS/dev/shm)
|
||||
else
|
||||
mount -t tmpfs -o nosuid,nodev tmpfs $LFS/dev/shm
|
||||
fi</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
@ -167,13 +167,24 @@ cd build</userinput></screen>
|
||||
condition.
|
||||
</para>
|
||||
|
||||
<para>Twelve tests fail in the <command>gold</command> testsuite when the
|
||||
<option>--enable-default-pie</option> and
|
||||
<option>--enable-default-ssp</option> options are passed to GCC.
|
||||
<!-- Caused by egrep deprecation. Note that we don't "patch" temp grep.
|
||||
And it seems unworthy to add a sed into temp grep just for one test
|
||||
failure. (I don't really agree to "patch" grep in the first place,
|
||||
anyway.) -->
|
||||
The test named <filename>ar with versioned solib</filename> is also
|
||||
known to fail.</para>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make tooldir=/usr install</userinput></screen>
|
||||
|
||||
<para>Remove useless static libraries:</para>
|
||||
<para>Remove useless static libraries and an empty man page:</para>
|
||||
|
||||
<screen><userinput remap="install">rm -fv /usr/lib/lib{bfd,ctf,ctf-nobfd,opcodes}.a</userinput></screen>
|
||||
<screen><userinput remap="install">rm -fv /usr/lib/lib{bfd,ctf,ctf-nobfd,opcodes}.a
|
||||
rm -fv /usr/share/man/man1/gprofng.1</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
@ -16,10 +16,10 @@
|
||||
|
||||
<para>There are also several files installed in the /usr/lib and /usr/libexec
|
||||
directories with a file name extension of .la. These are "libtool archive"
|
||||
files. As already said, they are only useful when linking with static
|
||||
libraries. They are unneeded, and potentially harmful, when using dynamic
|
||||
shared libraries, specially when using also non-autotools build systems.
|
||||
To remove them, run:</para>
|
||||
files. As already said, on a modern Linux system the libtool .la files are
|
||||
only useful for libltdl. No libraries in LFS are expected to be loaded
|
||||
by libltdl, and it's known that some .la files can cause BLFS packages
|
||||
fail to build. Remove those files now:</para>
|
||||
|
||||
<screen><userinput>find /usr/lib /usr/libexec -name \*.la -delete</userinput></screen>
|
||||
|
||||
|
@ -39,16 +39,12 @@
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Eudev</title>
|
||||
<!--
|
||||
<para>First, fix a test script:</para>
|
||||
|
||||
<screen><userinput remap="pre">sed -r -i 's|/usr(/bin/test)|\1|' test/udev-test.pl</userinput></screen>
|
||||
-->
|
||||
<!--
|
||||
<para>Next, remove an unneeded line that causes a build failure:</para>
|
||||
|
||||
|
||||
<screen><userinput remap="pre">sed -i '/keyboard_lookup_key/d' src/udev/udev-builtin-keyboard.c</userinput></screen>
|
||||
-->
|
||||
<para>First fix the location of udev rules in the .pc file:</para>
|
||||
|
||||
<screen><userinput remap="pre">sed -i '/udevdir/a udev_dir=${udevdir}' src/udev/udev.pc.in</userinput></screen>
|
||||
|
||||
<para>Prepare Eudev for compilation:</para>
|
||||
|
||||
|
@ -44,6 +44,10 @@
|
||||
|
||||
<screen><userinput remap="pre">sed -i 's/extras//' Makefile.in</userinput></screen>
|
||||
|
||||
<para>Now fix a programming error identified upstream:</para>
|
||||
|
||||
<screen><userinput remap="pre">sed -i '241i UPREF(m);' interpret.h</userinput></screen>
|
||||
|
||||
<para>Prepare Gawk for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen>
|
||||
|
@ -70,6 +70,8 @@ cd build</userinput></screen>
|
||||
<screen><userinput remap="configure">../configure --prefix=/usr \
|
||||
LD=ld \
|
||||
--enable-languages=c,c++ \
|
||||
--enable-default-pie \
|
||||
--enable-default-ssp \
|
||||
--disable-multilib \
|
||||
--disable-bootstrap \
|
||||
--with-system-zlib</userinput></screen>
|
||||
@ -100,13 +102,34 @@ cd build</userinput></screen>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
<note>
|
||||
<anchor id="pie-ssp-info" xreflabel="note on PIE and SSP"/>
|
||||
<para>
|
||||
PIE (position-independent executable) is a technique to produce
|
||||
binary programs that can be loaded anywhere in memory. Without PIE,
|
||||
the security feature named ASLR (Address Space Layout Randomization)
|
||||
can be applied for the shared libraries, but not the executable
|
||||
itself. Enabling PIE allows ASLR for the executables in addition to
|
||||
the shared libraries, and mitigates some attacks based on fixed
|
||||
addresses of sensitive code or data in the executables.
|
||||
</para>
|
||||
<para>
|
||||
SSP (Stack Smashing Protection) is a technique to ensure
|
||||
that the parameter stack is not corrupted. Stack corruption can
|
||||
for example alter the return address of a subroutine,
|
||||
which would allow transferring control to some dangerous code
|
||||
(existing in the program or shared libraries, or injected by the
|
||||
attacker somehow) instead of the original one.
|
||||
</para>
|
||||
</note>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<important>
|
||||
<para>In this section, the test suite for GCC is considered
|
||||
important, but it takes a long time. First time builders are
|
||||
important, but it takes a long time. First time builders are
|
||||
encouraged to not skip it. The time to run the tests can be
|
||||
reduced significantly by adding -jx to the make command below
|
||||
where x is the number of cores on your system.</para>
|
||||
@ -133,6 +156,10 @@ su tester -c "PATH=$PATH make -k check"</userinput></screen>
|
||||
url="&test-results;"/> and
|
||||
<ulink url="https://gcc.gnu.org/ml/gcc-testresults/"/>.</para>
|
||||
|
||||
<para>In gcc, eleven tests, in the i386 test suite are known to FAIL.
|
||||
It's because the test files do not account for the
|
||||
<parameter>--enable-default-pie</parameter> option.</para>
|
||||
|
||||
<para>In g++, four tests related to PR100400 are known to be reported
|
||||
as both XPASS and FAIL. It's because the test file for this known issue
|
||||
is not well written.</para>
|
||||
@ -210,11 +237,11 @@ readelf -l a.out | grep ': /lib'</userinput></screen>
|
||||
|
||||
<para>Now make sure that we're setup to use the correct start files:</para>
|
||||
|
||||
<screen><userinput>grep -o '/usr/lib.*/crt[1in].*succeeded' dummy.log</userinput></screen>
|
||||
<screen><userinput>grep -E -o '/usr/lib.*/S?crt[1in].*succeeded' dummy.log</userinput></screen>
|
||||
|
||||
<para>The output of the last command should be:</para>
|
||||
|
||||
<screen><computeroutput>/usr/lib/gcc/aarch64-unknown-linux-gnu/&gcc-version;/../../../../lib/crt1.o succeeded
|
||||
<screen><computeroutput>/usr/lib/gcc/aarch64-unknown-linux-gnu/&gcc-version;/../../../../lib/Scrt1.o succeeded
|
||||
/usr/lib/gcc/aarch64-unknown-linux-gnu/&gcc-version;/../../../../lib/crti.o succeeded
|
||||
/usr/lib/gcc/aarch64-unknown-linux-gnu/&gcc-version;/../../../../lib/crtn.o succeeded</computeroutput></screen>
|
||||
|
||||
@ -572,7 +599,8 @@ mv -v /usr/lib/*gdb.py /usr/share/gdb/auto-load/usr/lib</userinput></screen>
|
||||
<term><filename class="libraryfile">libssp</filename></term>
|
||||
<listitem>
|
||||
<para>Contains routines supporting GCC's stack-smashing protection
|
||||
functionality</para>
|
||||
functionality. Normally it's unused because glibc also provides
|
||||
those routines</para>
|
||||
<indexterm zone="ch-system-gcc libssp">
|
||||
<primary sortas="c-libssp">libssp</primary>
|
||||
</indexterm>
|
||||
|
@ -62,7 +62,7 @@
|
||||
<listitem>
|
||||
<para>Since bison is not yet installed in /usr, configure hardcodes
|
||||
the directory containing translations for the bison program (the
|
||||
"locale" directory) as /tools/share/locale. Passing this variable
|
||||
"locale" directory) as /tools/share/locale. Passing this variable
|
||||
to make allows overriding the choice made by configure.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
@ -40,6 +40,13 @@
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Grep</title>
|
||||
|
||||
<para>
|
||||
First, remove a warning about using egrep and fgrep that makes
|
||||
tests on some packages fail:
|
||||
</para>
|
||||
|
||||
<screen><userinput remap="pre">sed -i "s/echo/#echo/" src/egrep.sh</userinput></screen>
|
||||
|
||||
<para>Prepare Grep for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen>
|
||||
|
@ -53,6 +53,8 @@
|
||||
|
||||
<screen><userinput remap="configure">PAGE=<replaceable><paper_size></replaceable> ./configure --prefix=/usr</userinput></screen>
|
||||
|
||||
<para>Build the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>This package does not come with a test suite.</para>
|
||||
|
@ -52,7 +52,7 @@
|
||||
|
||||
<para>To test the results<!--(about 11.0 SBU)-->, issue:</para>
|
||||
|
||||
<screen><userinput remap="test">make check</userinput></screen>
|
||||
<screen><userinput remap="test">make -k check</userinput></screen>
|
||||
|
||||
<note><para>The test time for libtool can be reduced significantly on a
|
||||
system with multiple cores. To do this, append
|
||||
@ -61,8 +61,9 @@
|
||||
percent.</para></note>
|
||||
|
||||
<para>Five tests are known to fail in the LFS build environment due
|
||||
to a circular dependency, but all tests pass if rechecked after
|
||||
automake is installed.</para>
|
||||
to a circular dependency, but these tests pass if rechecked after
|
||||
automake is installed. Additionally, with grep-3.8, two tests will
|
||||
trigger a warning for non-POSIX regular expressions and fail.</para>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
|
@ -96,7 +96,7 @@ install -vDm644 data/shell-completions/zsh/_meson /usr/share/zsh/site-functions/
|
||||
<seglistitem>
|
||||
<seg>meson</seg>
|
||||
<seg>
|
||||
/usr/lib/python&python-minor;/site-packages/meson-&meson-version;.dist-info and
|
||||
/usr/lib/python&python-minor;/site-packages/meson-&meson-version;.dist-info and
|
||||
/usr/lib/python&python-minor;/site-packages/mesonbuild
|
||||
</seg>
|
||||
</seglistitem>
|
||||
@ -108,7 +108,7 @@ install -vDm644 data/shell-completions/zsh/_meson /usr/share/zsh/site-functions/
|
||||
<?dbhtml list-presentation="table"?>
|
||||
|
||||
<varlistentry id="meson">
|
||||
<term><command>meson</command></term>
|
||||
<term><command>meson</command></term>
|
||||
<listitem>
|
||||
<para>A high productivity build system</para>
|
||||
<indexterm zone="ch-system-meson meson">
|
||||
|
@ -122,7 +122,7 @@
|
||||
</para>
|
||||
|
||||
<!-- To editors: crash of shell process was very rare but really
|
||||
observed. We can't simply remove /usr/lib/libncursesw.so.6.x like
|
||||
observed. We can't simply remove /usr/lib/libncursesw.so.6.x like
|
||||
how we handle libmozjs-xx.so in BLFS because bash needs it, and
|
||||
make will spawn new shell processes during "make install". -->
|
||||
|
||||
@ -131,8 +131,7 @@
|
||||
in-place. It may crash the shell process which is using code and data
|
||||
from the library file. Install the package with
|
||||
<literal>DESTDIR</literal>, and replace the library file correctly using
|
||||
<command>install</command> command. A useless static archive which is
|
||||
not handled by <command>configure</command> is also removed:</para>
|
||||
<command>install</command> command:</para>
|
||||
|
||||
<screen><userinput remap="install">make DESTDIR=$PWD/dest install
|
||||
install -vm755 dest/usr/lib/libncursesw.so.&ncurses-version; /usr/lib
|
||||
@ -212,6 +211,7 @@ cp -av lib/lib*.so.5* /usr/lib</userinput></screen>
|
||||
libformw.so,
|
||||
libmenuw.so,
|
||||
libncursesw.so,
|
||||
libncurses++w.so,
|
||||
libpanelw.so, and their non-wide-character counterparts without "w"
|
||||
in the library names.</seg>
|
||||
<seg>
|
||||
@ -366,6 +366,16 @@ cp -av lib/lib*.so.5* /usr/lib</userinput></screen>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libncurses__w">
|
||||
<term><filename class="libraryfile">libncurses++w</filename></term>
|
||||
<listitem>
|
||||
<para>Contains C++ binding for other libraries in this package</para>
|
||||
<indexterm zone="ch-system-ncurses libncurses__w">
|
||||
<primary sortas="c-libncurses++w">libncurses++w</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libformw">
|
||||
<term><filename class="libraryfile">libformw</filename></term>
|
||||
<listitem>
|
||||
|
@ -43,7 +43,7 @@
|
||||
<sect2 role="installation">
|
||||
<title>Installation of OpenSSL</title>
|
||||
<!--
|
||||
<para>First fix a problem with some advanced arcitectures with avx512
|
||||
<para>First fix a problem with some advanced architectures with avx512
|
||||
capability:</para>
|
||||
|
||||
<screen><userinput remap="pre">sed -e '/bn_reduce.*m1/i\ factor_size /= sizeof(BN_ULONG) * 8;' \
|
||||
|
@ -283,7 +283,7 @@ make DESTDIR=/usr/pkg/libfoo/1.1 install</userinput></screen>
|
||||
<para>This approach is used by most of the package managers found in the
|
||||
commercial distributions. Examples of package managers that follow this
|
||||
approach are RPM (which, incidentally, is required by the <ulink
|
||||
url="http://refspecs.linuxfoundation.org/lsb.shtml">Linux
|
||||
url="https://refspecs.linuxfoundation.org/lsb.shtml">Linux
|
||||
Standard Base Specification</ulink>), pkg-utils, Debian's apt, and
|
||||
Gentoo's Portage system. A hint describing how to adopt this style of
|
||||
package management for LFS systems is located at <ulink
|
||||
@ -296,7 +296,7 @@ make DESTDIR=/usr/pkg/libfoo/1.1 install</userinput></screen>
|
||||
archives. This system purposely does not handle package dependencies
|
||||
as more complex package managers do. For details of Slackware package
|
||||
management, see <ulink
|
||||
url="http://www.slackbook.org/html/package-management.html"/>.</para>
|
||||
url="https://www.slackbook.org/html/package-management.html"/>.</para>
|
||||
</sect3>
|
||||
|
||||
<sect3>
|
||||
|
@ -116,10 +116,10 @@
|
||||
well. If desired, suppress these warnings by running the following
|
||||
commands:</para>
|
||||
|
||||
<screen><userinput remap="install">cat > /etc/pip.conf << EOF
|
||||
[global]
|
||||
<screen><userinput remap="install">cat > /etc/pip.conf << EOF
|
||||
<literal>[global]
|
||||
root-user-action = ignore
|
||||
disable-pip-version-check = true
|
||||
disable-pip-version-check = true</literal>
|
||||
EOF
|
||||
</userinput></screen>
|
||||
<!--
|
||||
|
@ -63,9 +63,9 @@ sed -i '/{OLDSUFF}/c:' support/shlib-install</userinput></screen>
|
||||
<term><parameter>--with-curses</parameter></term>
|
||||
<listitem>
|
||||
<para>This option tells Readline that it can find the termcap
|
||||
library functions in the curses library, rather than a separate
|
||||
termcap library. It allows generating a correct
|
||||
<filename>readline.pc</filename> file.</para>
|
||||
library functions in the curses library, rather than a separate
|
||||
termcap library. It allows generating a correct
|
||||
<filename>readline.pc</filename> file.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
|
@ -100,7 +100,7 @@
|
||||
<screen><userinput remap="test">chown -Rv tester .
|
||||
su tester -c "make -k check"</userinput></screen>
|
||||
|
||||
<para>The <emphasis>hardlink</emphasis> tests will fail if the host's kernel
|
||||
<para>The <emphasis>hardlink</emphasis> tests will fail if the host's kernel
|
||||
does not have the option CONFIG_CRYPTO_USER_API_HASH set.</para>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
@ -167,11 +167,13 @@ EOF</userinput></screen>
|
||||
|
||||
<note>
|
||||
<para>By default, vim only installs spell files for the English language.
|
||||
To install spell files for your preferred language, download the
|
||||
<filename>*.spl</filename> and optionally, the <filename>*.sug</filename>
|
||||
files for your language and character encoding from <ulink
|
||||
url="ftp://ftp.vim.org/pub/vim/runtime/spell/"/> and save them to
|
||||
<filename class='directory'>/usr/share/&vim-docdir;/spell/</filename>.</para>
|
||||
To install spell files for your preferred language, copy the
|
||||
<filename class='extension'>.spl</filename> and optionally, the
|
||||
<filename class='extension'>.sug</filename> files for your language
|
||||
and character encoding from
|
||||
<filename class='directory'>runtime/spell</filename> into
|
||||
<filename class='directory'>
|
||||
/usr/share/&vim-docdir;/spell/</filename>.</para>
|
||||
|
||||
<para>To use these spell files, some configuration in
|
||||
<filename>/etc/vimrc</filename> is needed, e.g.:</para>
|
||||
@ -179,8 +181,8 @@ EOF</userinput></screen>
|
||||
<screen><literal>set spelllang=en,ru
|
||||
set spell</literal></screen>
|
||||
|
||||
<para>For more information, see the appropriate README file located
|
||||
at the URL above.</para>
|
||||
<para>For more information, see
|
||||
<filename>runtime/spell/README.txt</filename>.</para>
|
||||
</note>
|
||||
|
||||
</sect2>
|
||||
|
@ -23,7 +23,7 @@
|
||||
<filename>/etc/vconsole.conf</filename> file for configuration
|
||||
information. Decide which keymap and screen font will be used. Various
|
||||
language-specific HOWTOs can also help with this, see <ulink
|
||||
url="http://www.tldp.org/HOWTO/HOWTO-INDEX/other-lang.html"/>.
|
||||
url="https://tldp.org/HOWTO/HOWTO-INDEX/other-lang.html"/>.
|
||||
Examine the output of <command>localectl list-keymaps</command> for a list of
|
||||
valid console keymaps. Look in the
|
||||
<filename class="directory">/usr/share/consolefonts</filename>
|
||||
|
@ -46,7 +46,7 @@ EOF</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<sect2 id='systemd-no-tmpfs'>
|
||||
<title>Disabling tmpfs for /tmp</title>
|
||||
|
||||
<para>By default, <filename class="directory">/tmp</filename> is created as
|
||||
|
@ -325,7 +325,7 @@
|
||||
|
||||
<listitem>
|
||||
<para>The <systemitem class="filesystem">sysfs</systemitem> Filesystem
|
||||
<ulink url="http://www.kernel.org/pub/linux/kernel/people/mochel/doc/papers/ols-2005/mochel.pdf"/></para>
|
||||
<ulink url="https://www.kernel.org/pub/linux/kernel/people/mochel/doc/papers/ols-2005/mochel.pdf"/></para>
|
||||
</listitem>
|
||||
|
||||
<!-- No longer available
|
||||
|
@ -43,8 +43,8 @@
|
||||
|
||||
<note>
|
||||
<para>
|
||||
Classically, run level 2 above was defined as
|
||||
"multi-user mode without networking", but this was only the case
|
||||
Classically, run level 2 above was defined as
|
||||
"multi-user mode without networking", but this was only the case
|
||||
many years ago when multiple users could log into a system connected via
|
||||
serial ports. In today's environment it makes no sense and
|
||||
we designate it now as "reserved".
|
||||
@ -166,7 +166,7 @@ EOF</userinput></screen>
|
||||
<parameter>stop</parameter> to stop something. The logic behind this
|
||||
is that when a user is going to reboot or halt the system, nothing
|
||||
needs to be started, but the order of shutdown needs to be controlled.
|
||||
For these run levels, all <emphasis>K</emphasis> prefixed scripts will be
|
||||
For these run levels, all <emphasis>K</emphasis> prefixed scripts will be
|
||||
run before any <emphasis>S</emphasis> prefixed scripts are run with the
|
||||
<parameter>stop</parameter> parameter.
|
||||
</para>
|
||||
@ -334,7 +334,7 @@ EOF</userinput></screen>
|
||||
<filename>/etc/sysconfig/console</filename> file for configuration
|
||||
information. Decide which keymap and screen font will be used. Various
|
||||
language-specific HOWTOs can also help with this, see <ulink
|
||||
url="http://www.tldp.org/HOWTO/HOWTO-INDEX/other-lang.html"/>. If still in
|
||||
url="https://tldp.org/HOWTO/HOWTO-INDEX/other-lang.html"/>. If still in
|
||||
doubt, look in the <filename class="directory">/usr/share/keymaps</filename>
|
||||
and <filename class="directory">/usr/share/consolefonts</filename> directories
|
||||
for valid keymaps and screen fonts. Read <filename>loadkeys(1)</filename> and
|
||||
|
@ -32,6 +32,7 @@ sysfs /sys sysfs nosuid,noexec,nodev 0 0
|
||||
devpts /dev/pts devpts gid=5,mode=620 0 0
|
||||
tmpfs /run tmpfs defaults 0 0
|
||||
devtmpfs /dev devtmpfs mode=0755,nosuid 0 0
|
||||
tmpfs /dev/shm tmpfs nosuid,nodev 0 0
|
||||
|
||||
# End /etc/fstab</literal>
|
||||
EOF</userinput></screen>
|
||||
|
@ -105,19 +105,30 @@
|
||||
<para>Be sure to enable/disable/set the following features or the system might
|
||||
not work correctly or boot at all:</para>
|
||||
|
||||
<screen role="nodump" revision="sysv">General setup -->
|
||||
<screen role="nodump" revision="sysv">Processor type and features --->
|
||||
[*] Build a relocatable kernel [CONFIG_RELOCATABLE]
|
||||
[*] Randomize the address of the kernel image (KASLR) [CONFIG_RANDOMIZE_BASE]
|
||||
General setup --->
|
||||
[ ] Compile the kernel with warnings as errors [CONFIG_WERROR]
|
||||
< > Enable kernel headers through /sys/kernel/kheaders.tar.xz [CONFIG_IKHEADERS]
|
||||
General architecture-dependent options --->
|
||||
[*] Stack Protector buffer overflow detection [CONFIG_STACKPROTECTOR]
|
||||
[*] Strong Stack Protector [CONFIG_STACKPROTECTOR_STRONG]
|
||||
Device Drivers --->
|
||||
Graphics support --->
|
||||
Frame buffer Devices --->
|
||||
[*] Support for frame buffer devices ----
|
||||
<*> Support for frame buffer devices --->
|
||||
Console display driver support --->
|
||||
[*] Framebuffer Console support [CONFIG_FRAMEBUFFER_CONSOLE]
|
||||
Generic Driver Options --->
|
||||
[ ] Support for uevent helper [CONFIG_UEVENT_HELPER]
|
||||
[*] Maintain a devtmpfs filesystem to mount at /dev [CONFIG_DEVTMPFS]
|
||||
[*] Automount devtmpfs at /dev, after the kernel mounted the rootfs [CONFIG_DEVTMPFS_MOUNT]</screen>
|
||||
|
||||
<screen role="nodump" revision="systemd">General setup -->
|
||||
<screen role="nodump" revision="systemd">Processor type and features --->
|
||||
[*] Build a relocatable kernel [CONFIG_RELOCATABLE]
|
||||
[*] Randomize the address of the kernel image (KASLR) [CONFIG_RANDOMIZE_BASE]
|
||||
General setup --->
|
||||
[ ] Compile the kernel with warnings as errors [CONFIG_WERROR]
|
||||
[ ] Auditing Support [CONFIG_AUDIT]
|
||||
CPU/Task time and stats accounting --->
|
||||
@ -130,6 +141,8 @@ Device Drivers --->
|
||||
[*] open by fhandle syscalls [CONFIG_FHANDLE]
|
||||
General architecture-dependent options --->
|
||||
[*] Enable seccomp to safely compute untrusted bytecode [CONFIG_SECCOMP]
|
||||
[*] Stack Protector buffer overflow detection [CONFIG_STACKPROTECTOR]
|
||||
[*] Strong Stack Protector [CONFIG_STACKPROTECTOR_STRONG]
|
||||
Networking support --->
|
||||
Networking options --->
|
||||
<*> The IPv6 protocol [CONFIG_IPV6]
|
||||
@ -145,16 +158,12 @@ Device Drivers --->
|
||||
Graphics support --->
|
||||
Frame buffer Devices --->
|
||||
<*> Support for frame buffer devices --->
|
||||
Console display driver support --->
|
||||
[*] Framebuffer Console support [CONFIG_FRAMEBUFFER_CONSOLE]
|
||||
File systems --->
|
||||
[*] Inotify support for userspace [CONFIG_INOTIFY_USER]
|
||||
Pseudo filesystems --->
|
||||
[*] Tmpfs POSIX Access Control Lists [CONFIG_TMPFS_POSIX_ACL]</screen>
|
||||
|
||||
<para>Disable a feature which is security compromised in this kernel
|
||||
release:</para>
|
||||
|
||||
<screen role="nodump">Memory Management options --->
|
||||
[ ] Enable userfaultfd() system call [CONFIG_USERFAULTFD]</screen>
|
||||
</note>
|
||||
|
||||
<note revision="systemd">
|
||||
@ -179,6 +188,14 @@ File systems --->
|
||||
<variablelist>
|
||||
<title>The rationale for the above configuration items:</title>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>Randomize the address of the kernel image (KASLR)</parameter></term>
|
||||
<listitem>
|
||||
<para>Enable ASLR for kernel image, to mitigate some attacks based
|
||||
on fixed addresses of sensitive data or code in the kernel.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>
|
||||
<parameter>
|
||||
@ -204,6 +221,16 @@ File systems --->
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>Strong Stack Protector</parameter></term>
|
||||
<listitem>
|
||||
<para>Enable SSP for the kernel. We've enabled it for the entire
|
||||
userspace with <parameter>--enable-default-ssp</parameter>
|
||||
configuring GCC, but the kernel does not use GCC default setting
|
||||
for SSP. We enable it explicitly here.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>Support for uevent helper</parameter></term>
|
||||
<listitem>
|
||||
@ -232,12 +259,16 @@ File systems --->
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>Enable userfaultfd() system call</parameter></term>
|
||||
<term><parameter>Framebuffer Console support</parameter></term>
|
||||
<listitem>
|
||||
<para>If this option is enabled, a security vulnerability not
|
||||
resolved in Linux-&linux-version; yet will be exploitable.
|
||||
Disable this option to avoid the vulnerability. This system call
|
||||
is not used by any part of LFS or BLFS.</para>
|
||||
<para>This is needed to display the Linux console on a frame
|
||||
buffer device. To allow the kernel to print debug messages at an
|
||||
early boot stage, it shouldn't be built as a kernel module
|
||||
unless an initramfs will be used. And, if
|
||||
<option>CONFIG_DRM</option> (Direct Rendering Manager) is enabled,
|
||||
it's likely <option>CONFIG_DRM_FBDEV_EMULATION</option> (Enable
|
||||
legacy fbdev support for your modesetting driver) should be
|
||||
enabled as well.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
|
266
chapter11/afterlfs.xml
Normal file
266
chapter11/afterlfs.xml
Normal file
@ -0,0 +1,266 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="afterlfs">
|
||||
<?dbhtml filename="afterlfs.html"?>
|
||||
|
||||
<title>Getting Started After LFS</title>
|
||||
|
||||
<sect2>
|
||||
<title>Deciding what to do next</title>
|
||||
|
||||
<para>
|
||||
Now that LFS is complete and you have a bootable system, what do you do?
|
||||
The next step is to decide how to use it. Generally, there are two broad
|
||||
categories to consider: workstation or server. Indeed, these categories
|
||||
are not mutually exclusive. The applications needed for each category
|
||||
can be combined onto a single system, but let's look at them separately
|
||||
for now.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
A server is the simpler category. Generally this consists of a web
|
||||
server such as the
|
||||
<ulink url="&blfs-book;server/apache.html">Apache HTTP Server</ulink>
|
||||
and a database server such as
|
||||
<ulink url="&blfs-book;server/mariadb.html">MariaDB</ulink>.
|
||||
However other services are possible. The operating system
|
||||
embedded in a single use device falls into this category.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
On the other hand, a workstation is much more complex. It generally
|
||||
requires a graphical user environment such as
|
||||
<ulink url="&blfs-book;lxde/lxde.html">LXDE</ulink>,
|
||||
<ulink url="&blfs-book;xfce/xfce.html">XFCE</ulink>,
|
||||
<ulink url="&blfs-book;kde/kde.html">KDE</ulink>, or
|
||||
<ulink url="&blfs-book;gnome/gnome.html">Gnome</ulink>
|
||||
based on a basic
|
||||
<ulink url="&blfs-book;x/installing.html">graphical environment</ulink>
|
||||
and several graphical based applications such as the
|
||||
<ulink url="&blfs-book;xsoft/firefox.html">Firefox web browser</ulink>,
|
||||
<ulink url="&blfs-book;xsoft/thunderbird.html">Thunderbird email client</ulink>,
|
||||
or
|
||||
<ulink url="&blfs-book;xsoft/libreoffice.html">LibreOffice office suite</ulink>.
|
||||
These applications require many (several hundred depending on
|
||||
desired capabilities) more packages of support applications and
|
||||
libraries.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
In addition to the above, there is a set of applications for system
|
||||
management for all kinds of systems. These applications are all in the
|
||||
BLFS book. Not all packages are needed in every environments. For
|
||||
example <ulink url="&blfs-book;basicnet/dhcpcd.html">dhcpcd</ulink>, is
|
||||
not normally appropriate for a server and <ulink
|
||||
url="&blfs-book;basicnet/wireless_tools.html">wireless_tools</ulink>,
|
||||
are normally only useful for a laptop system.
|
||||
</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Working in a basic LFS environment</title>
|
||||
|
||||
<para>
|
||||
When you initially boot into LFS, you have all the internal tools to build
|
||||
additional packages. Unfortunately, the user environment is quite sparse.
|
||||
There are a couple of ways to improve this:
|
||||
</para>
|
||||
|
||||
<sect3>
|
||||
<title>Work from the LFS host in chroot</title>
|
||||
|
||||
<para>
|
||||
This method provides a complete graphical environment where a full
|
||||
featured browser and copy/paste capabilities are available. This method
|
||||
allows using applications like the host's version of wget to download
|
||||
package sources to a location available when working in the chroot
|
||||
envirnment.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
In order to properly build packages in chroot, you will also need to
|
||||
remember to mount the virtual file systems if they are not already
|
||||
mounted. One way to do this is to create a script on the
|
||||
<emphasis role="bold">HOST</emphasis> system:
|
||||
</para>
|
||||
|
||||
<screen><command>cat > ~/mount-virt.sh << "EOF"
|
||||
#!/bin/bash
|
||||
|
||||
function mountbind
|
||||
{
|
||||
if ! mountpoint $LFS/$1 >/dev/null; then
|
||||
$SUDO mount --bind /$1 $LFS/$1
|
||||
echo $LFS/$1 mounted
|
||||
else
|
||||
echo $LFS/$1 already mounted
|
||||
fi
|
||||
}
|
||||
|
||||
function mounttype
|
||||
{
|
||||
if ! mountpoint $LFS/$1 >/dev/null; then
|
||||
$SUDO mount -t $2 $3 $4 $5 $LFS/$1
|
||||
echo $LFS/$1 mounted
|
||||
else
|
||||
echo $LFS/$1 already mounted
|
||||
fi
|
||||
}
|
||||
|
||||
if [ $EUID -ne 0 ]; then
|
||||
SUDO=sudo
|
||||
else
|
||||
SUDO=""
|
||||
fi
|
||||
|
||||
if [ x$LFS == x ]; then
|
||||
echo "LFS not set"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
mountbind dev
|
||||
mounttype dev/pts devpts devpts -o gid=5,mode=620
|
||||
mounttype proc proc proc
|
||||
mounttype sys sysfs sysfs
|
||||
mounttype run tmpfs run
|
||||
if [ -h $LFS/dev/shm ]; then
|
||||
mkdir -pv $LFS/$(readlink $LFS/dev/shm)
|
||||
else
|
||||
mounttype dev/shm tmpfs tmpfs -o nosuid,nodev
|
||||
fi
|
||||
|
||||
#mountbind usr/src
|
||||
#mountbind boot
|
||||
#mountbind home
|
||||
EOF</command></screen>
|
||||
|
||||
<para>
|
||||
Note that the last three commands in the script are commented out. These
|
||||
are useful if those directories are mounted as separate partitions on the
|
||||
host system and will be mounted when booting the completed LFS/BLFS system.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The script can be run with <command>bash ~/mount-virt.sh</command> as
|
||||
either a regular user (recommended) or as &root;. If run as a regular
|
||||
user, sudo is required on the host system.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Another issue pointed out by the script is where to store downloaded
|
||||
package files. This location is arbitrary. It can be in a regular
|
||||
user's home directory such as ~/sources or in a global location like
|
||||
/usr/src. Our recommendation is not to mix BLFS sources and LFS sources
|
||||
in (from the chroot environment) /sources. In any case, the packages
|
||||
must be accessible inside the chroot environment.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
A last convenience feature presented here is to streamline the process
|
||||
of entering the chroot environment. This can be done with an alias
|
||||
placed in a user's ~/.bashrc file on the host system:
|
||||
</para>
|
||||
|
||||
<screen><command>alias lfs='sudo /usr/sbin/chroot /mnt/lfs /usr/bin/env -i HOME=/root TERM="$TERM" PS1="\u:\w\\\\$ "
|
||||
PATH=/bin:/usr/bin:/sbin:/usr/sbin /bin/bash --login'</command></screen>
|
||||
|
||||
<para>
|
||||
This alias is a little tricky because of the quoting and levels of
|
||||
backslash characters. It must be all on a single line. The above command
|
||||
has been split in two for presentation purposes.
|
||||
</para>
|
||||
|
||||
</sect3>
|
||||
|
||||
<sect3>
|
||||
<title>Work remotely via ssh</title>
|
||||
|
||||
<para>
|
||||
This method also provides a full graphical environment, but first
|
||||
requires installing
|
||||
<ulink url="&blfs-book;postlfs/openssh.html">sshd</ulink> and
|
||||
<ulink url="&blfs-book;basicnet/wget.html">wget</ulink>
|
||||
on the LFS system, usually in chroot. It also requires a second
|
||||
computer. This method has the advantage of being simple by not requiring
|
||||
the complexity of the chroot environment. It also uses your LFS built
|
||||
kernel for all additional packages and still provides a complete system
|
||||
for installing packages.
|
||||
</para>
|
||||
|
||||
</sect3>
|
||||
|
||||
<sect3>
|
||||
<title>Work from the LFS command line</title>
|
||||
|
||||
<para>
|
||||
This method requires installing
|
||||
<ulink url="&blfs-book;general/libtasn1.html">libtasn1</ulink>,
|
||||
<ulink url="&blfs-book;postlfs/p11-kit.html">p11-kit</ulink>,
|
||||
<ulink url="&blfs-book;postlfs/make-ca.html">make-ca</ulink>,
|
||||
<ulink url="&blfs-book;basicnet/wget.html">wget</ulink>,
|
||||
<ulink url="&blfs-book;general/gpm.html">gpm</ulink>, and
|
||||
<ulink url="&blfs-book;basicnet/links.html">links</ulink>
|
||||
(or <ulink url="&blfs-book;basicnet/lynx.html">lynx</ulink>)
|
||||
in chroot and then rebooting into the new LFS system. At this
|
||||
point the default system has six virtual consoles. Switching
|
||||
consoles is as easy as using the
|
||||
<keycombo>
|
||||
<keycap>Alt</keycap>
|
||||
<keycap>Fx</keycap>
|
||||
</keycombo>
|
||||
key combinations where <keycap>Fx</keycap> is
|
||||
between <keycap>F1</keycap> and <keycap>F6</keycap>.
|
||||
The
|
||||
<keycombo>
|
||||
<keycap>Alt</keycap>
|
||||
<keycap function='left'/>
|
||||
</keycombo>
|
||||
and
|
||||
<keycombo>
|
||||
<keycap>Alt</keycap>
|
||||
<keycap function='right'/>
|
||||
</keycombo>
|
||||
combinations also will change the console.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
At this point you can log into two different virtual consoles and run
|
||||
the links or lynx browser in one console and bash in the other. GPM
|
||||
then allows copying commands from the browser with the left mouse
|
||||
button, switching consoles, and pasting into the other console.
|
||||
</para>
|
||||
|
||||
<note>
|
||||
<para>
|
||||
As a side note, switching of virtual consoles can also be done from
|
||||
an X Window instance with the
|
||||
<keycombo>
|
||||
<keycap>Ctrl</keycap>
|
||||
<keycap>Alt</keycap>
|
||||
<keycap>Fx</keycap>
|
||||
</keycombo>
|
||||
key combination, but the mouse copy operation does not work
|
||||
between the graphical interface and a virtual console. You can
|
||||
return to the X Window display with the
|
||||
<keycombo>
|
||||
<keycap>Ctrl</keycap>
|
||||
<keycap>Alt</keycap>
|
||||
<keycap>Fx</keycap>
|
||||
</keycombo>
|
||||
combination, where <keycap>Fx</keycap> is usually
|
||||
<keycap>F1</keycap> but may be <keycap>F7</keycap>.
|
||||
</para>
|
||||
</note>
|
||||
|
||||
</sect3>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
||||
</sect1>
|
@ -15,5 +15,6 @@
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="getcounted.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="reboot.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="whatnow.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="afterlfs.xml"/>
|
||||
|
||||
</chapter>
|
||||
|
@ -9,17 +9,22 @@
|
||||
<?dbhtml filename="reboot.html"?>
|
||||
|
||||
<title>Rebooting the System</title>
|
||||
<para>
|
||||
Now that all of the software has been installed, it is time to reboot
|
||||
your computer. However, there are still a few things to check.
|
||||
Here are some suggestions:</para>
|
||||
|
||||
<para>Now that all of the software has been installed, it is time to reboot
|
||||
your computer. However, you should be aware of a few things. The system you
|
||||
|
||||
<!--
|
||||
The system you
|
||||
have created in this book is quite minimal, and most likely will not have
|
||||
the functionality you would need to be able to continue forward. By installing
|
||||
a few extra packages from the BLFS book while still in our current chroot
|
||||
environment, you can leave yourself in a much better position to continue on
|
||||
once you reboot into your new LFS installation. Here are some suggestions:</para>
|
||||
|
||||
-->
|
||||
<itemizedlist>
|
||||
|
||||
<!--
|
||||
<listitem><para>A text mode browser such as <ulink
|
||||
url='&blfs-book;basicnet/lynx.html'>Lynx</ulink>
|
||||
will allow you to easily view the BLFS book in one virtual terminal, while
|
||||
@ -60,14 +65,21 @@
|
||||
install <ulink
|
||||
url='&blfs-book;basicnet/wpa_supplicant.html'>wpa_supplicant</ulink>.
|
||||
</para></listitem>
|
||||
-->
|
||||
<listitem>
|
||||
<para>
|
||||
Install any <ulink
|
||||
url='&blfs-book;postlfs/firmware.html'>firmware</ulink> needed if the
|
||||
kernel driver for your hardware requires some firmware files to function
|
||||
properly.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem><para>Install <ulink
|
||||
url='&blfs-book;postlfs/firmware.html'>firmwares</ulink> if the kernel
|
||||
driver for your hardware require some firmware to function properly.
|
||||
</para></listitem>
|
||||
|
||||
<listitem><para>Finally, a review of the following configuration files
|
||||
is also appropriate at this point.</para>
|
||||
<listitem>
|
||||
<para>
|
||||
A review of the following configuration files
|
||||
is also appropriate at this point.
|
||||
</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem><para>/etc/bashrc </para></listitem>
|
||||
@ -86,14 +98,11 @@
|
||||
</itemizedlist>
|
||||
|
||||
<para>Now that we have said that, let's move on to booting our shiny new LFS
|
||||
installation for the first time! First exit from the chroot environment:</para>
|
||||
installation for the first time! <emphasis>First exit from the chroot
|
||||
environment</emphasis>:</para>
|
||||
|
||||
<screen><userinput>logout</userinput></screen>
|
||||
<!-- We need to show the user the details...
|
||||
<para>Unmount the LFS file system hierarchy:</para>
|
||||
|
||||
<screen><userinput>umount -Rv $LFS</userinput></screen>
|
||||
-->
|
||||
<!-- We need to show the user the details...-->
|
||||
|
||||
<para>Then unmount the virtual file systems:</para>
|
||||
|
||||
@ -106,17 +115,19 @@ umount -v $LFS/sys</userinput></screen>
|
||||
<para>If multiple partitions were created, unmount the other
|
||||
partitions before unmounting the main one, like this:</para>
|
||||
|
||||
<screen role="nodump"><userinput>umount -v $LFS/usr
|
||||
umount -v $LFS/home
|
||||
<screen role="nodump"><userinput>umount -v $LFS/home
|
||||
umount -v $LFS</userinput></screen>
|
||||
|
||||
<para>Unmount the LFS file system itself:</para>
|
||||
|
||||
<screen role="nodump"><userinput>umount -v $LFS</userinput></screen>
|
||||
|
||||
<para>Now, reboot the system with:</para>
|
||||
<para>Now, reboot the system.</para>
|
||||
|
||||
<screen role="nodump"><userinput>shutdown -r now</userinput></screen>
|
||||
<!-- Commented out because we don't have a host system requirement on
|
||||
its init, and different init system may recommend different commands
|
||||
for reboot. -->
|
||||
<!--<screen role="nodump"><userinput>shutdown -r now</userinput></screen>-->
|
||||
|
||||
<para>Assuming the GRUB boot loader was set up as outlined earlier, the menu
|
||||
is set to boot <emphasis>LFS &version;</emphasis> automatically.</para>
|
||||
|
@ -60,8 +60,7 @@ PRETTY_NAME="Linux From Scratch &version;"
|
||||
VERSION_CODENAME="<your name here>"
|
||||
EOF</userinput></screen>
|
||||
|
||||
<para>Be sure to put some sort of customization for the fields
|
||||
'DISTRIB_CODENAME' and 'VERSION_CODENAME' to make the system uniquely
|
||||
yours.</para>
|
||||
<para>Be sure to customize the fields 'DISTRIB_CODENAME' and
|
||||
'VERSION_CODENAME' to make the system uniquely yours.</para>
|
||||
|
||||
</sect1>
|
||||
|
@ -8,7 +8,7 @@
|
||||
<sect1 id="ch-finish-whatnow">
|
||||
<?dbhtml filename="whatnow.html"?>
|
||||
|
||||
<title>What Now?</title>
|
||||
<title>Additional Resources</title>
|
||||
|
||||
<para>Thank you for reading this LFS book. We hope that you have
|
||||
found this book helpful and have learned more about the system
|
||||
@ -31,27 +31,23 @@
|
||||
<itemizedlist>
|
||||
|
||||
<listitem>
|
||||
<para><ulink url="http://www.cert.org/">CERT</ulink> (Computer
|
||||
Emergency Response Team)</para>
|
||||
<para><ulink url="&lfs-root;lfs/advisories/">LFS Security Advisories</ulink></para>
|
||||
|
||||
<para>CERT has a mailing list that publishes security alerts concerning
|
||||
various operating systems and applications. Subscription information is
|
||||
available at <ulink
|
||||
url="http://www.us-cert.gov/cas/signup.html"/>.</para>
|
||||
<para>This is a list of security vulnerabilities discovered in the
|
||||
LFS book after it's published.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Bugtraq</para>
|
||||
<para><ulink url="https://seclists.org/oss-sec/">Open Source Security
|
||||
Mailing List</ulink></para>
|
||||
|
||||
<para>Bugtraq is a full-disclosure computer security mailing list. It
|
||||
publishes newly discovered security issues, and occasionally potential
|
||||
fixes for them. Subscription information is available at <ulink
|
||||
url="http://www.securityfocus.com/archive"/>.</para>
|
||||
<para>This is a mailing list for discussion of security flaws,
|
||||
concepts, and practices in the Open Source community.</para>
|
||||
</listitem>
|
||||
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<!--
|
||||
<listitem>
|
||||
<para>Beyond Linux From Scratch</para>
|
||||
|
||||
@ -60,7 +56,7 @@
|
||||
Book. The BLFS project is located at <ulink url="&blfs-book;"/>.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
-->
|
||||
<listitem>
|
||||
<para>LFS Hints</para>
|
||||
|
||||
@ -85,7 +81,7 @@
|
||||
<para>The goal of The Linux Documentation Project (TLDP) is to
|
||||
collaborate on all of the issues of Linux documentation. The TLDP features
|
||||
a large collection of HOWTOs, guides, and man pages. It is located at
|
||||
<ulink url="http://www.tldp.org/"/>.</para>
|
||||
<ulink url="https://tldp.org/"/>.</para>
|
||||
</listitem>
|
||||
|
||||
</itemizedlist>
|
||||
|
@ -1,31 +1,31 @@
|
||||
#!/bin/sh
|
||||
|
||||
if [ "$1" = sysv ]; then
|
||||
SYSV="INCLUDE"
|
||||
SYSTEMD="IGNORE "
|
||||
SYSV="INCLUDE"
|
||||
SYSTEMD="IGNORE "
|
||||
elif [ "$1" = systemd ]; then
|
||||
SYSV="IGNORE "
|
||||
SYSTEMD="INCLUDE"
|
||||
SYSV="IGNORE "
|
||||
SYSTEMD="INCLUDE"
|
||||
else
|
||||
echo You must provide either \"sysv\" or \"systemd\" as argument
|
||||
exit 1
|
||||
echo You must provide either \"sysv\" or \"systemd\" as argument
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "<!ENTITY % sysv \"$SYSV\">" > conditional.ent
|
||||
echo "<!ENTITY % systemd \"$SYSTEMD\">" >> conditional.ent
|
||||
|
||||
if ! git status > /dev/null; then
|
||||
# Either it's not a git repository, or git is unavaliable.
|
||||
# Just workaround.
|
||||
echo "<![ %sysv; [" > version.ent
|
||||
echo "<!ENTITY version \"unknown\">" >> version.ent
|
||||
echo "]]>" >> version.ent
|
||||
echo "<![ %systemd; [" >> version.ent
|
||||
echo "<!ENTITY version \"unknown-systemd\">" >> version.ent
|
||||
echo "]]>" >> version.ent
|
||||
echo "<!ENTITY releasedate \"unknown\">" >> version.ent
|
||||
echo "<!ENTITY copyrightdate \"1999-2022\">" >> version.ent
|
||||
exit 0
|
||||
# Either it's not a git repository, or git is unavaliable.
|
||||
# Just workaround.
|
||||
echo "<![ %sysv; [" > version.ent
|
||||
echo "<!ENTITY version \"unknown\">" >> version.ent
|
||||
echo "]]>" >> version.ent
|
||||
echo "<![ %systemd; [" >> version.ent
|
||||
echo "<!ENTITY version \"unknown-systemd\">" >> version.ent
|
||||
echo "]]>" >> version.ent
|
||||
echo "<!ENTITY releasedate \"unknown\">" >> version.ent
|
||||
echo "<!ENTITY copyrightdate \"1999-2022\">" >> version.ent
|
||||
exit 0
|
||||
fi
|
||||
|
||||
export LC_ALL=en_US.utf8
|
||||
@ -39,10 +39,10 @@ month_digit=$(date --date "$commit_date" "+%m")
|
||||
day=$(date --date "$commit_date" "+%d" | sed 's/^0//')
|
||||
|
||||
case $day in
|
||||
"1" | "21" | "31" ) suffix="st";;
|
||||
"2" | "22" ) suffix="nd";;
|
||||
"3" | "23" ) suffix="rd";;
|
||||
* ) suffix="th";;
|
||||
"1" | "21" | "31" ) suffix="st";;
|
||||
"2" | "22" ) suffix="nd";;
|
||||
"3" | "23" ) suffix="rd";;
|
||||
* ) suffix="th";;
|
||||
esac
|
||||
|
||||
full_date="$month $day$suffix, $year"
|
||||
@ -53,8 +53,8 @@ version="$rev"
|
||||
versiond="$rev-systemd"
|
||||
|
||||
if [ "$(git diff HEAD | wc -l)" != "0" ]; then
|
||||
version="$version+"
|
||||
versiond="$versiond+"
|
||||
version="$version+"
|
||||
versiond="$versiond+"
|
||||
fi
|
||||
|
||||
echo "<![ %sysv; [" > version.ent
|
||||
|
@ -34,7 +34,7 @@ function find_max( $lines, $regex_match, $regex_replace )
|
||||
|
||||
// Isolate the version and put in an array
|
||||
$slice = preg_replace( $regex_replace, "$1", $line );
|
||||
if ( $slice == $line ) continue;
|
||||
if ( strcmp( $slice, $line ) == 0 ) continue;
|
||||
|
||||
array_push( $a, $slice );
|
||||
}
|
||||
@ -266,6 +266,15 @@ if ( $package == "zstd" ) $dirpath = "https://github.com/facebook/zstd/rel
|
||||
if ( $package == "elfutils" )
|
||||
return find_max( $lines, "/^\d/", "/^(\d[\d\.]+\d)\/.*$/" );
|
||||
|
||||
if ( $package == "iana-etc" )
|
||||
return find_max( $lines, "/^\s*20\d\d/", "/^\s+(\d+).*$/" );
|
||||
|
||||
if ( $package == "meson" )
|
||||
return find_max( $lines, "/^\s+\d\./", "/^\s+([\d\.]+)$/" );
|
||||
|
||||
if ( $package == "shadow" )
|
||||
return find_max( $lines, "/^\s+\d\./", "/^\s+([\d\.]+)$/" );
|
||||
|
||||
if ( $package == "XML-Parser" )
|
||||
{
|
||||
$max = find_max( $lines, "/$package/", "/^.*$package-([\d\._]*\d).tar.*$/" );
|
||||
@ -292,6 +301,9 @@ if ( $package == "zstd" ) $dirpath = "https://github.com/facebook/zstd/rel
|
||||
return str_replace( "_", ".", $max );
|
||||
}
|
||||
|
||||
if ( $package == "libffi" )
|
||||
return find_max( $lines, "/v\d/", "/^.*v([\d\.]+)$/" );
|
||||
|
||||
if ( $package == "procps-ng" )
|
||||
return find_max( $lines, "/v\d/", "/^.*v([\d\.]+)$/" );
|
||||
|
||||
|
74
packages.ent
74
packages.ent
@ -58,10 +58,10 @@
|
||||
<!ENTITY bash-fin-du "50 MB">
|
||||
<!ENTITY bash-fin-sbu "1.4 SBU">
|
||||
|
||||
<!ENTITY bc-version "6.0.1">
|
||||
<!ENTITY bc-size "441 KB">
|
||||
<!ENTITY bc-version "6.0.2">
|
||||
<!ENTITY bc-size "442 KB">
|
||||
<!ENTITY bc-url "https://github.com/gavinhoward/bc/releases/download/&bc-version;/bc-&bc-version;.tar.xz">
|
||||
<!ENTITY bc-md5 "4c8b8d51eb52ee66f5bcf6a6a1ca576e">
|
||||
<!ENTITY bc-md5 "101e62dd9c2b90bf18c38d858aa36f0d">
|
||||
<!ENTITY bc-home "https://git.yzena.com/gavin/bc">
|
||||
<!ENTITY bc-fin-du "7.4 MB">
|
||||
<!ENTITY bc-fin-sbu "less than 0.1 SBU">
|
||||
@ -163,10 +163,10 @@
|
||||
<!ENTITY eudev-fin-du "83 MB">
|
||||
<!ENTITY eudev-fin-sbu "0.2 SBU">
|
||||
|
||||
<!ENTITY expat-version "2.4.8">
|
||||
<!ENTITY expat-size "444 KB">
|
||||
<!ENTITY expat-version "2.4.9">
|
||||
<!ENTITY expat-size "449 KB">
|
||||
<!ENTITY expat-url "&sourceforge;expat/expat-&expat-version;.tar.xz">
|
||||
<!ENTITY expat-md5 "0584a7318a4c007f7ec94778799d72fe">
|
||||
<!ENTITY expat-md5 "8d7fcf7d02d08bf79d9ae5c21cc72c03">
|
||||
<!ENTITY expat-home "https://libexpat.github.io/">
|
||||
<!ENTITY expat-fin-du "12 MB">
|
||||
<!ENTITY expat-fin-sbu "0.1 SBU">
|
||||
@ -179,10 +179,10 @@
|
||||
<!ENTITY expect-tmp-du "3.9 MB">
|
||||
<!ENTITY expect-tmp-sbu "0.2 SBU">
|
||||
|
||||
<!ENTITY file-version "5.42">
|
||||
<!ENTITY file-size "1,080 KB">
|
||||
<!ENTITY file-version "5.43">
|
||||
<!ENTITY file-size "1,136 KB">
|
||||
<!ENTITY file-url "https://astron.com/pub/file/file-&file-version;.tar.gz">
|
||||
<!ENTITY file-md5 "4d4f70c3b08a8a70d8baf67f085d7e92">
|
||||
<!ENTITY file-md5 "8effd70da368210a6c6eece037f978eb">
|
||||
<!ENTITY file-home "https://www.darwinsys.com/file/">
|
||||
<!ENTITY file-tmp-du "34 MB">
|
||||
<!ENTITY file-tmp-sbu "0.2 SBU">
|
||||
@ -207,10 +207,10 @@
|
||||
<!ENTITY flex-fin-du "33 MB">
|
||||
<!ENTITY flex-fin-sbu "0.4 SBU">
|
||||
|
||||
<!ENTITY gawk-version "5.1.1">
|
||||
<!ENTITY gawk-size "3,075 KB">
|
||||
<!ENTITY gawk-version "5.2.0">
|
||||
<!ENTITY gawk-size "3,307 KB">
|
||||
<!ENTITY gawk-url "&gnu;gawk/gawk-&gawk-version;.tar.xz">
|
||||
<!ENTITY gawk-md5 "83650aa943ff2fd519b2abedf8506ace">
|
||||
<!ENTITY gawk-md5 "2f724d925873fc82f5e7b1d605ba9a42">
|
||||
<!ENTITY gawk-home "&gnu-software;gawk/">
|
||||
<!ENTITY gawk-tmp-du "45 MB">
|
||||
<!ENTITY gawk-tmp-sbu "0.2 SBU">
|
||||
@ -281,10 +281,10 @@
|
||||
<!ENTITY gperf-fin-du "6.0 MB">
|
||||
<!ENTITY gperf-fin-sbu "less than 0.1 SBU">
|
||||
|
||||
<!ENTITY grep-version "3.7">
|
||||
<!ENTITY grep-size "1,603 KB">
|
||||
<!ENTITY grep-version "3.8">
|
||||
<!ENTITY grep-size "1,670 KB">
|
||||
<!ENTITY grep-url "&gnu;grep/grep-&grep-version;.tar.xz">
|
||||
<!ENTITY grep-md5 "7c9cca97fa18670a21e72638c3e1dabf">
|
||||
<!ENTITY grep-md5 "dc6e4d18d4659e6e7552fc4a183c8ac9">
|
||||
<!ENTITY grep-home "&gnu-software;grep/">
|
||||
<!ENTITY grep-tmp-du "25 MB">
|
||||
<!ENTITY grep-tmp-sbu "0.2 SBU">
|
||||
@ -374,15 +374,15 @@
|
||||
<!ENTITY kmod-fin-du "12 MB">
|
||||
<!ENTITY kmod-fin-sbu "0.1 SBU">
|
||||
|
||||
<!ENTITY less-version "590">
|
||||
<!ENTITY less-size "348 KB">
|
||||
<!ENTITY less-version "608">
|
||||
<!ENTITY less-size "354 KB">
|
||||
<!ENTITY less-url "https://www.greenwoodsoftware.com/less/less-&less-version;.tar.gz">
|
||||
<!ENTITY less-md5 "f029087448357812fba450091a1172ab">
|
||||
<!ENTITY less-md5 "1cdec714569d830a68f4cff11203cdba">
|
||||
<!ENTITY less-home "https://www.greenwoodsoftware.com/less/">
|
||||
<!ENTITY less-fin-du "4.2 MB">
|
||||
<!ENTITY less-fin-sbu "less than 0.1 SBU">
|
||||
|
||||
<!ENTITY lfs-bootscripts-version "20220723"> <!-- Scripts depend on this format -->
|
||||
<!ENTITY lfs-bootscripts-version "20220920"> <!-- Scripts depend on this format -->
|
||||
<!ENTITY lfs-bootscripts-size "BOOTSCRIPTS-SIZE KB">
|
||||
<!ENTITY lfs-bootscripts-url "&downloads-root;lfs-bootscripts-&lfs-bootscripts-version;.tar.xz">
|
||||
<!ENTITY lfs-bootscripts-md5 "BOOTSCRIPTS-MD5SUM">
|
||||
@ -410,7 +410,7 @@
|
||||
<!ENTITY libpipeline-size "954 KB">
|
||||
<!ENTITY libpipeline-url "&savannah;/releases/libpipeline/libpipeline-&libpipeline-version;.tar.gz">
|
||||
<!ENTITY libpipeline-md5 "829c9ba46382b0b3e12dd11fcbc1bb27">
|
||||
<!ENTITY libpipeline-home "http://libpipeline.nongnu.org/">
|
||||
<!ENTITY libpipeline-home "https://libpipeline.nongnu.org/">
|
||||
<!ENTITY libpipeline-fin-du "10 MB">
|
||||
<!ENTITY libpipeline-fin-sbu "0.1 SBU">
|
||||
|
||||
@ -424,12 +424,12 @@
|
||||
|
||||
<!ENTITY linux-major-version "5">
|
||||
<!ENTITY linux-minor-version "19">
|
||||
<!ENTITY linux-patch-version "2">
|
||||
<!ENTITY linux-patch-version "8">
|
||||
<!--<!ENTITY linux-version "&linux-major-version;.&linux-minor-version;">-->
|
||||
<!ENTITY linux-version "&linux-major-version;.&linux-minor-version;.&linux-patch-version;">
|
||||
<!ENTITY linux-size "128,553 KB">
|
||||
<!ENTITY linux-size "128,547 KB">
|
||||
<!ENTITY linux-url "&kernel;linux/kernel/v&linux-major-version;.x/linux-&linux-version;.tar.xz">
|
||||
<!ENTITY linux-md5 "391274e2e49a881403b0ff2e0712bf82">
|
||||
<!ENTITY linux-md5 "ae08d14f9b7ed3d47c0d22b6d235507a">
|
||||
<!ENTITY linux-home "https://www.kernel.org/">
|
||||
<!-- measured for 5.13.4 / gcc-11.1.0 on x86_64 : minimum is
|
||||
allnoconfig rounded down to allow for ongoing cleanups,
|
||||
@ -487,10 +487,10 @@
|
||||
<!ENTITY markupsafe-fin-du "168 KB">
|
||||
<!ENTITY markupsafe-fin-sbu "less than 0.1 SBU">
|
||||
|
||||
<!ENTITY meson-version "0.63.1">
|
||||
<!ENTITY meson-version "0.63.2">
|
||||
<!ENTITY meson-size "2,016 KB">
|
||||
<!ENTITY meson-url "&github;/mesonbuild/meson/releases/download/&meson-version;/meson-&meson-version;.tar.gz">
|
||||
<!ENTITY meson-md5 "078e59d11a72b74c3bd78cb8205e9ed7">
|
||||
<!ENTITY meson-md5 "12ae3150982645790a4f8a8e8795173c">
|
||||
<!ENTITY meson-home "https://mesonbuild.com">
|
||||
<!ENTITY meson-fin-du "38 MB">
|
||||
<!ENTITY meson-fin-sbu "less than 0.1 SBU">
|
||||
@ -499,7 +499,7 @@
|
||||
<!ENTITY mpc-size "820 KB">
|
||||
<!ENTITY mpc-url "https://ftp.gnu.org/gnu/mpc/mpc-&mpc-version;.tar.gz">
|
||||
<!ENTITY mpc-md5 "9f16c976c25bb0f76b50be749cd7a3a8">
|
||||
<!ENTITY mpc-home "http://www.multiprecision.org/">
|
||||
<!ENTITY mpc-home "https://www.multiprecision.org/">
|
||||
<!ENTITY mpc-fin-du "21 MB">
|
||||
<!ENTITY mpc-fin-sbu "0.3 SBU">
|
||||
|
||||
@ -521,10 +521,10 @@
|
||||
<!ENTITY ncurses-fin-du "45 MB">
|
||||
<!ENTITY ncurses-fin-sbu "0.4 SBU">
|
||||
|
||||
<!ENTITY ninja-version "1.11.0">
|
||||
<!ENTITY ninja-size "228 KB">
|
||||
<!ENTITY ninja-version "1.11.1">
|
||||
<!ENTITY ninja-size "225 KB">
|
||||
<!ENTITY ninja-url "&github;/ninja-build/ninja/archive/v&ninja-version;/ninja-&ninja-version;.tar.gz">
|
||||
<!ENTITY ninja-md5 "7d1a1a2f5cdc06795b3054df5c17d5ef">
|
||||
<!ENTITY ninja-md5 "32151c08211d7ca3c1d832064f6939b0">
|
||||
<!ENTITY ninja-home "https://ninja-build.org/">
|
||||
<!ENTITY ninja-fin-du "79 MB">
|
||||
<!ENTITY ninja-fin-sbu "0.6 SBU">
|
||||
@ -588,19 +588,19 @@
|
||||
<!-- If python minor version changes, updates in python and
|
||||
meson pages will be needed: python3.6 and python3.6m -->
|
||||
|
||||
<!ENTITY python-version "3.10.6">
|
||||
<!ENTITY python-version "3.10.7">
|
||||
<!ENTITY python-minor "3.10">
|
||||
<!ENTITY python-size "19,142 KB">
|
||||
<!ENTITY python-size "19,159 KB">
|
||||
<!ENTITY python-url "https://www.python.org/ftp/python/&python-version;/Python-&python-version;.tar.xz">
|
||||
<!ENTITY python-md5 "afc7e14f7118d10d1ba95ae8e2134bf0">
|
||||
<!ENTITY python-md5 "b8094f007b3a835ca3be6bdf8116cccc">
|
||||
<!ENTITY python-home "https://www.python.org/">
|
||||
<!ENTITY python-tmp-du "364 MB">
|
||||
<!ENTITY python-tmp-sbu "0.9 SBU">
|
||||
<!ENTITY python-fin-du "283 MB">
|
||||
<!ENTITY python-fin-sbu "3.4 SBU">
|
||||
<!ENTITY python-docs-url "https://www.python.org/ftp/python/doc/&python-version;/python-&python-version;-docs-html.tar.bz2">
|
||||
<!ENTITY python-docs-md5 "8f32c4f4f0b18ec56e8b3822bbaeb017">
|
||||
<!ENTITY python-docs-size "7,321 KB">
|
||||
<!ENTITY python-docs-md5 "d5923c417995334e72c2561812905d23">
|
||||
<!ENTITY python-docs-size "7,176 KB">
|
||||
|
||||
<!ENTITY readline-version "8.1.2">
|
||||
<!ENTITY readline-soversion "8.1"><!-- used for stripping -->
|
||||
@ -621,10 +621,10 @@
|
||||
<!ENTITY sed-fin-du "31 MB">
|
||||
<!ENTITY sed-fin-sbu "0.4 SBU">
|
||||
|
||||
<!ENTITY shadow-version "4.12.2">
|
||||
<!ENTITY shadow-size "1,706 KB">
|
||||
<!ENTITY shadow-version "4.12.3">
|
||||
<!ENTITY shadow-size "1,707 KB">
|
||||
<!ENTITY shadow-url "&github;/shadow-maint/shadow/releases/download/&shadow-version;/shadow-&shadow-version;.tar.xz">
|
||||
<!ENTITY shadow-md5 "52637cb34c357acf85c617cf95da34a6">
|
||||
<!ENTITY shadow-md5 "710bcc89c39683609aacfef9f08bd854">
|
||||
<!ENTITY shadow-home "https://shadow-maint.github.io/shadow/">
|
||||
<!ENTITY shadow-fin-du "46 MB">
|
||||
<!ENTITY shadow-fin-sbu "0.2 SBU">
|
||||
|
@ -82,9 +82,9 @@
|
||||
<listitem>
|
||||
<para>Place all the sources and patches in a directory that will be
|
||||
accessible from the chroot environment such as
|
||||
<filename class="directory">/mnt/lfs/sources/</filename>.<!-- Do
|
||||
<filename class="directory">/mnt/lfs/sources/</filename>.<!-- Do
|
||||
<emphasis>not</emphasis> put sources in
|
||||
<filename class="directory">/mnt/lfs/tools/</filename>. --></para>
|
||||
<filename class="directory">/mnt/lfs/tools/</filename>. --></para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Change to the sources directory.</para>
|
||||
|
@ -30,7 +30,7 @@
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>Software-Building-HOWTO
|
||||
<ulink url="http://www.tldp.org/HOWTO/Software-Building-HOWTO.html"/></para>
|
||||
<ulink url="https://tldp.org/HOWTO/Software-Building-HOWTO.html"/></para>
|
||||
|
||||
<para>This is a comprehensive guide to building and installing
|
||||
<quote>generic</quote> Unix software packages under Linux. Although it
|
||||
@ -40,7 +40,7 @@
|
||||
|
||||
<listitem>
|
||||
<para>Beginner's Guide to Installing from Source
|
||||
<ulink url="http://moi.vonos.net/linux/beginners-installing-from-source/"/></para>
|
||||
<ulink url="https://moi.vonos.net/linux/beginners-installing-from-source/"/></para>
|
||||
|
||||
<para>This guide provides a good summary of basic skills and
|
||||
techniques needed to build software from source code.</para>
|
||||
|
@ -18,17 +18,17 @@
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para><ulink url="http://pubs.opengroup.org/onlinepubs/9699919799/">
|
||||
<para><ulink url="https://pubs.opengroup.org/onlinepubs/9699919799/">
|
||||
POSIX.1-2008</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para><ulink
|
||||
url="http://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html">
|
||||
url="https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html">
|
||||
Filesystem Hierarchy Standard (FHS) Version 3.0</ulink></para>
|
||||
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para><ulink url="http://refspecs.linuxfoundation.org/lsb.shtml">Linux
|
||||
<para><ulink url="https://refspecs.linuxfoundation.org/lsb.shtml">Linux
|
||||
Standard Base (LSB) Version 5.0 (2015)</ulink></para>
|
||||
|
||||
<para>The LSB has four separate standards: Core, Desktop,
|
||||
|
@ -595,7 +595,7 @@
|
||||
<listitem>
|
||||
<para>Wheel</para>
|
||||
|
||||
<para>This package contains a Python module that is the
|
||||
<para>This package contains a Python module that is the
|
||||
reference implementation of the Python wheel packaging standard.
|
||||
</para>
|
||||
</listitem>
|
||||
|
@ -14,12 +14,12 @@ body {
|
||||
/* Links */
|
||||
a:link {
|
||||
color: #22b;
|
||||
font-weight: bold;
|
||||
font-weight: bold;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a.ulink:link {
|
||||
font-weight: bold;
|
||||
font-weight: bold;
|
||||
color: #55f;
|
||||
text-decoration: none;
|
||||
}
|
||||
@ -29,7 +29,7 @@ a:visited {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a:hover,
|
||||
a:hover,
|
||||
a:focus {
|
||||
color: #d30e08 ! important;
|
||||
text-decoration: underline;
|
||||
@ -81,10 +81,10 @@ div.navfooter a:active {
|
||||
}
|
||||
|
||||
/* Sections */
|
||||
div.sect1,
|
||||
div.appendix,
|
||||
div.wrap,
|
||||
div.chapter,
|
||||
div.sect1,
|
||||
div.appendix,
|
||||
div.wrap,
|
||||
div.chapter,
|
||||
div.part,
|
||||
div.preface,
|
||||
div.toc,
|
||||
@ -100,10 +100,10 @@ div.index,
|
||||
}
|
||||
|
||||
@media(max-width:1220px) and (min-height:550px){
|
||||
div.sect1,
|
||||
div.appendix,
|
||||
div.wrap,
|
||||
div.chapter,
|
||||
div.sect1,
|
||||
div.appendix,
|
||||
div.wrap,
|
||||
div.chapter,
|
||||
div.part,
|
||||
div.preface,
|
||||
div.legalnotice,
|
||||
@ -120,10 +120,10 @@ div.index,
|
||||
@media(max-width:1050px),
|
||||
(max-width:1050px) and (min-width:800px) and (max-height:550px){
|
||||
|
||||
div.sect1,
|
||||
div.appendix,
|
||||
div.wrap,
|
||||
div.chapter,
|
||||
div.sect1,
|
||||
div.appendix,
|
||||
div.wrap,
|
||||
div.chapter,
|
||||
div.part,
|
||||
div.preface,
|
||||
div.legalnotice,
|
||||
@ -138,10 +138,10 @@ div.index,
|
||||
|
||||
@media(max-width:550px),
|
||||
(max-width:800px) and (max-height:550px){
|
||||
div.sect1,
|
||||
div.appendix,
|
||||
div.wrap,
|
||||
div.chapter,
|
||||
div.sect1,
|
||||
div.appendix,
|
||||
div.wrap,
|
||||
div.chapter,
|
||||
div.part,
|
||||
div.preface,
|
||||
div.legalnotice,
|
||||
@ -169,12 +169,12 @@ div.important ul li p {
|
||||
padding: 0em 0.6em;
|
||||
}
|
||||
|
||||
.package,
|
||||
.kernel,
|
||||
.installation,
|
||||
.commands,
|
||||
.testing,
|
||||
.configuration,
|
||||
.package,
|
||||
.kernel,
|
||||
.installation,
|
||||
.commands,
|
||||
.testing,
|
||||
.configuration,
|
||||
.content {
|
||||
padding: 0em 0.5em 0.2em 0em;
|
||||
margin: 0em;
|
||||
@ -222,12 +222,12 @@ h1 {
|
||||
padding: 0.7em;
|
||||
}
|
||||
|
||||
.preface h1,
|
||||
.part h1,
|
||||
.chapter h1,
|
||||
.appendix h1,
|
||||
.index h1,
|
||||
.sect1 h1,
|
||||
.preface h1,
|
||||
.part h1,
|
||||
.chapter h1,
|
||||
.appendix h1,
|
||||
.index h1,
|
||||
.sect1 h1,
|
||||
.wrap h1 {
|
||||
background: none; /*#f5f6f7;*/
|
||||
border-bottom: 1px solid #EEE; /*1em solid #dbddec;*/
|
||||
@ -246,7 +246,7 @@ h2 {
|
||||
padding:.3em;
|
||||
}
|
||||
|
||||
.titlepage h2,
|
||||
.titlepage h2,
|
||||
div.navheader h2 {
|
||||
font-size: 120%;
|
||||
border-bottom: none;
|
||||
@ -276,14 +276,14 @@ h4 {
|
||||
padding: 0.2em;
|
||||
}
|
||||
|
||||
.titlepage h3,
|
||||
.titlepage h3,
|
||||
div.navheader h3 {
|
||||
font-size: 120%;
|
||||
border-bottom: none;
|
||||
padding: 0.25em;
|
||||
}
|
||||
|
||||
.titlepage h4,
|
||||
.titlepage h4,
|
||||
div.navheader h4 {
|
||||
font-size: 110%;
|
||||
border-bottom: none;
|
||||
@ -291,21 +291,21 @@ div.navheader h4 {
|
||||
}
|
||||
|
||||
@media(max-width:550px){
|
||||
.titlepage h2,
|
||||
.titlepage h2,
|
||||
div.navheader h2 {
|
||||
font-size: 4.7vmin;
|
||||
border-bottom: none;
|
||||
padding: 0.25em;
|
||||
}
|
||||
|
||||
.titlepage h3,
|
||||
.titlepage h3,
|
||||
div.navheader h3 {
|
||||
font-size: 4.5vmin;
|
||||
border-bottom: none;
|
||||
padding: 0.25em;
|
||||
}
|
||||
|
||||
.titlepage h4,
|
||||
.titlepage h4,
|
||||
div.navheader h4 {
|
||||
font-size: 4.3vmin;
|
||||
border-bottom: none;
|
||||
@ -337,7 +337,7 @@ div.navheader ul {
|
||||
display:none;
|
||||
}
|
||||
|
||||
@media(min-width:550px) and (min-height:550px),
|
||||
@media(min-width:550px) and (min-height:550px),
|
||||
(min-width:1220px) and (min-height:550px){
|
||||
div.navfooter{
|
||||
top: 0px;
|
||||
@ -406,7 +406,7 @@ div.navfooter ul{
|
||||
width: 0px;
|
||||
}
|
||||
|
||||
div.navheader ul li.prev,
|
||||
div.navheader ul li.prev,
|
||||
div.navfooter ul li.prev {
|
||||
position: fixed;
|
||||
display: block;
|
||||
@ -421,7 +421,7 @@ div.navfooter ul li.prev {
|
||||
/*padding-bottom: 3em;*/
|
||||
}
|
||||
/*
|
||||
div.navheader ul li.next,
|
||||
div.navheader ul li.next,
|
||||
div.navfooter ul li.next {
|
||||
position: fixed;
|
||||
display: block;
|
||||
@ -433,7 +433,7 @@ div.navfooter ul li.next {
|
||||
max-width: 170px;
|
||||
}
|
||||
*/
|
||||
div.navheader ul li.next,
|
||||
div.navheader ul li.next,
|
||||
div.navfooter ul li.next {
|
||||
position: fixed;
|
||||
display: block;
|
||||
@ -445,9 +445,9 @@ div.navfooter ul li.next {
|
||||
max-width: 170px;
|
||||
}
|
||||
|
||||
div.navheader ul li.prev p,
|
||||
div.navheader ul li.prev p,
|
||||
div.navfooter ul li.prev p,
|
||||
div.navheader ul li.next p,
|
||||
div.navheader ul li.next p,
|
||||
div.navfooter ul li.next p {
|
||||
padding: 0em;
|
||||
padding-bottom: 3em;
|
||||
@ -458,7 +458,7 @@ div.navfooter ul li.next p {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
div.navheader ul li.home,
|
||||
div.navheader ul li.home,
|
||||
div.navfooter ul li.home {
|
||||
position: fixed;
|
||||
text-align: left;
|
||||
@ -472,7 +472,7 @@ div.navfooter ul li.home {
|
||||
max-width: 200px;
|
||||
}
|
||||
|
||||
div.navheader ul li.up,
|
||||
div.navheader ul li.up,
|
||||
div.navfooter ul li.up {
|
||||
position: fixed;
|
||||
text-align: left;
|
||||
@ -487,7 +487,7 @@ div.navfooter ul li.up {
|
||||
/*border: 1px solid black;*/
|
||||
}
|
||||
|
||||
div.navheader ul li.up a,
|
||||
div.navheader ul li.up a,
|
||||
div.navfooter ul li.up a {
|
||||
display: block;
|
||||
padding: 10px 5px 10px 28px;
|
||||
@ -495,7 +495,7 @@ div.navfooter ul li.up a {
|
||||
background-size: 20px 20px;
|
||||
}
|
||||
|
||||
div.navheader ul li.home a,
|
||||
div.navheader ul li.home a,
|
||||
div.navfooter ul li.home a {
|
||||
display: block;
|
||||
padding: 10px 5px 10px 28px;
|
||||
@ -503,7 +503,7 @@ div.navfooter ul li.home a {
|
||||
background-size: 20px 20px;
|
||||
}
|
||||
|
||||
div.navheader ul li.prev a,
|
||||
div.navheader ul li.prev a,
|
||||
div.navfooter ul li.prev a {
|
||||
display: block;
|
||||
padding: 10px 5px 10px 35px;
|
||||
@ -522,7 +522,7 @@ div.navheader ul li.prev p {
|
||||
border: 1px solid blue;
|
||||
}
|
||||
*/
|
||||
div.navheader ul li.next a,
|
||||
div.navheader ul li.next a,
|
||||
div.navfooter ul li.next a{
|
||||
display: block;
|
||||
padding: 10px 35px 10px 5px;
|
||||
@ -531,25 +531,25 @@ div.navfooter ul li.next a{
|
||||
}
|
||||
|
||||
@media(max-width:1220px) and (min-height:550px){
|
||||
div.navheader ul li,
|
||||
div.navheader ul li,
|
||||
div.navfooter ul li{
|
||||
width: 120px;
|
||||
}
|
||||
|
||||
div.navheader ul li.prev p,
|
||||
|
||||
div.navheader ul li.prev p,
|
||||
div.navheader ul li.next p,
|
||||
div.navfooter ul li.prev p,
|
||||
div.navfooter ul li.prev p,
|
||||
div.navfooter ul li.next p{
|
||||
text-align: center;
|
||||
/*border: 1px solid blue;
|
||||
margin: 2px;*/
|
||||
height: 7.5vh; /* 7.5% ov viewport height */
|
||||
overflow: hidden;
|
||||
overflow: hidden;
|
||||
}
|
||||
/*
|
||||
div.navheader ul li.prev p:after,
|
||||
div.navheader ul li.next p:after,
|
||||
div.navfooter ul li.prev p:after,
|
||||
div.navheader ul li.prev p:after,
|
||||
div.navheader ul li.next p:after,
|
||||
div.navfooter ul li.prev p:after,
|
||||
div.navfooter ul li.next p:after{
|
||||
content: "";
|
||||
text-align: right;
|
||||
@ -558,12 +558,12 @@ div.navfooter ul li.next a{
|
||||
right: 0px;
|
||||
width: 100%;
|
||||
height: 2.8em;
|
||||
|
||||
|
||||
background: linear-gradient(to bottom, rgba(0, 0, 0, 1), rgba(255, 255, 255, 1) 100%);
|
||||
|
||||
|
||||
}
|
||||
*/
|
||||
div.navheader ul li.prev,
|
||||
div.navheader ul li.prev,
|
||||
div.navfooter ul li.prev {
|
||||
position: fixed;
|
||||
display: block;
|
||||
@ -573,7 +573,7 @@ div.navfooter ul li.next a{
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
div.navheader ul li.prev a,
|
||||
div.navheader ul li.prev a,
|
||||
div.navfooter ul li.prev a{
|
||||
display: block;
|
||||
text-align: center;
|
||||
@ -582,8 +582,8 @@ div.navfooter ul li.next a{
|
||||
background: url(../images/chevron-left.png) no-repeat center 5vh;
|
||||
background-size: 25px 25px;
|
||||
}
|
||||
|
||||
div.navheader ul li.next,
|
||||
|
||||
div.navheader ul li.next,
|
||||
div.navfooter ul li.next {
|
||||
position: fixed;
|
||||
display: block;
|
||||
@ -592,8 +592,8 @@ div.navfooter ul li.next a{
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
div.navheader ul li.next a,
|
||||
|
||||
div.navheader ul li.next a,
|
||||
div.navfooter ul li.next a {
|
||||
display: block;
|
||||
text-align: center;
|
||||
@ -602,10 +602,10 @@ div.navfooter ul li.next a{
|
||||
background: url(../images/chevron-right.png) no-repeat center 5vh;
|
||||
background-size: 25px 25px;
|
||||
}
|
||||
|
||||
div.navheader ul li.home,
|
||||
|
||||
div.navheader ul li.home,
|
||||
div.navheader ul li.up,
|
||||
div.navfooter ul li.home,
|
||||
div.navfooter ul li.home,
|
||||
div.navfooter ul li.up {
|
||||
position: fixed;
|
||||
padding: 0px;
|
||||
@ -615,17 +615,17 @@ div.navfooter ul li.next a{
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
div.navheader ul li.home,
|
||||
div.navheader ul li.home,
|
||||
div.navfooter ul li.home{
|
||||
top:25vh;
|
||||
}
|
||||
|
||||
div.navheader ul li.up,
|
||||
div.navheader ul li.up,
|
||||
div.navfooter ul li.up{
|
||||
top:10vh;
|
||||
}
|
||||
|
||||
div.navheader ul li.home a,
|
||||
|
||||
div.navheader ul li.home a,
|
||||
div.navfooter ul li.home a{
|
||||
display: block;
|
||||
text-align: center;
|
||||
@ -635,7 +635,7 @@ div.navfooter ul li.next a{
|
||||
background-size: 25px 25px;
|
||||
}
|
||||
|
||||
div.navheader ul li.up a,
|
||||
div.navheader ul li.up a,
|
||||
div.navfooter ul li.up a{
|
||||
display: block;
|
||||
text-align: center;
|
||||
@ -647,28 +647,28 @@ div.navfooter ul li.next a{
|
||||
}
|
||||
/* End media */
|
||||
|
||||
@media(max-width:1220px) and (max-height:550px) and (min-width:800px),
|
||||
@media(max-width:1220px) and (max-height:550px) and (min-width:800px),
|
||||
(min-width:1220px) and (max-height:350px){
|
||||
div.navheader ul li.prev p,
|
||||
div.navheader ul li.prev p,
|
||||
div.navfooter ul li.prev p,
|
||||
div.navheader ul li.next p,
|
||||
div.navheader ul li.next p,
|
||||
div.navfooter ul li.next p
|
||||
{
|
||||
display: none;
|
||||
}
|
||||
|
||||
div.navheader ul li.prev,
|
||||
|
||||
div.navheader ul li.prev,
|
||||
div.navfooter ul li.prev {
|
||||
max-width: 120px;
|
||||
position: fixed;
|
||||
display: block;
|
||||
top: 45vmin; /* smaller of 60% viewport height, width */
|
||||
top: 45vmin; /* smaller of 60% viewport height, width */
|
||||
padding: 0px;
|
||||
margin-left: 10px;
|
||||
font-size: 90%;
|
||||
}
|
||||
|
||||
div.navheader ul li.next,
|
||||
|
||||
div.navheader ul li.next,
|
||||
div.navfooter ul li.next {
|
||||
max-width: 120px;
|
||||
position: fixed;
|
||||
@ -679,13 +679,13 @@ div.navfooter ul li.next a{
|
||||
margin-left: 10px;
|
||||
font-size: 90%;
|
||||
}
|
||||
|
||||
div.navheader ul li.prev a,
|
||||
|
||||
div.navheader ul li.prev a,
|
||||
div.navfooter ul li.prev a {
|
||||
background-size: 20px 20px;
|
||||
}
|
||||
|
||||
div.navheader ul li.next a,
|
||||
|
||||
div.navheader ul li.next a,
|
||||
div.navfooter ul li.next a{
|
||||
display: block;
|
||||
padding: 10px 5px 10px 35px;
|
||||
@ -693,10 +693,10 @@ div.navfooter ul li.next a{
|
||||
background-size: 20px 20px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
div.navheader ul li.home,
|
||||
|
||||
div.navheader ul li.home,
|
||||
div.navheader ul li.up,
|
||||
div.navfooter ul li.home,
|
||||
div.navfooter ul li.home,
|
||||
div.navfooter ul li.up {
|
||||
max-width: 120px;
|
||||
position: fixed;
|
||||
@ -706,20 +706,20 @@ div.navfooter ul li.next a{
|
||||
color: #dbddec;
|
||||
font-size: 90%;
|
||||
}
|
||||
|
||||
div.navheader ul li.home,
|
||||
|
||||
div.navheader ul li.home,
|
||||
div.navfooter ul li.home{
|
||||
top: 35vmin;
|
||||
}
|
||||
|
||||
div.navheader ul li.up,
|
||||
|
||||
div.navheader ul li.up,
|
||||
div.navfooter ul li.up{
|
||||
top: 10vmin;
|
||||
}
|
||||
|
||||
div.navheader ul li.home a,
|
||||
|
||||
div.navheader ul li.home a,
|
||||
div.navfooter ul li.home a,
|
||||
div.navheader ul li.up a,
|
||||
div.navheader ul li.up a,
|
||||
div.navfooter ul li.up a{
|
||||
padding: 10px 5px 10px 35px;
|
||||
}
|
||||
@ -728,14 +728,14 @@ div.navfooter ul li.next a{
|
||||
|
||||
@media(max-width:550px),
|
||||
(max-width:800px) and (max-height:550px){
|
||||
div.navheader ul li.prev p,
|
||||
div.navheader ul li.prev p,
|
||||
div.navfooter ul li.prev p,
|
||||
div.navheader ul li.next p,
|
||||
div.navheader ul li.next p,
|
||||
div.navfooter ul li.next p {
|
||||
display: none;
|
||||
}
|
||||
|
||||
div.navheader ul li.prev,
|
||||
|
||||
div.navheader ul li.prev,
|
||||
div.navfooter ul li.prev {
|
||||
position: fixed;
|
||||
display: block;
|
||||
@ -744,8 +744,8 @@ div.navfooter ul li.next a{
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
div.navheader ul li.prev a,
|
||||
|
||||
div.navheader ul li.prev a,
|
||||
div.navfooter ul li.prev a{
|
||||
display: block;
|
||||
width: 0px;
|
||||
@ -757,8 +757,8 @@ div.navfooter ul li.next a{
|
||||
background-size: 6vmin 6vmin;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
div.navheader ul li.next,
|
||||
|
||||
div.navheader ul li.next,
|
||||
div.navfooter ul li.next {
|
||||
position: fixed;
|
||||
display: block;
|
||||
@ -767,8 +767,8 @@ div.navfooter ul li.next a{
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
div.navheader ul li.next a,
|
||||
|
||||
div.navheader ul li.next a,
|
||||
div.navfooter ul li.next a{
|
||||
display: block;
|
||||
width: 0px;
|
||||
@ -780,10 +780,10 @@ div.navfooter ul li.next a{
|
||||
background-size: 6vmin 6vmin;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
div.navheader ul li.home,
|
||||
|
||||
div.navheader ul li.home,
|
||||
div.navheader ul li.up,
|
||||
div.navfooter ul li.home,
|
||||
div.navfooter ul li.home,
|
||||
div.navfooter ul li.up {
|
||||
position: fixed;
|
||||
padding: 0px;
|
||||
@ -792,18 +792,18 @@ div.navfooter ul li.next a{
|
||||
color: #dbddec;
|
||||
left: 0px;
|
||||
}
|
||||
|
||||
div.navheader ul li.home,
|
||||
|
||||
div.navheader ul li.home,
|
||||
div.navfooter ul li.home{
|
||||
top: 40vmin;
|
||||
}
|
||||
|
||||
div.navheader ul li.up,
|
||||
|
||||
div.navheader ul li.up,
|
||||
div.navfooter ul li.up{
|
||||
top: 20vmin;
|
||||
}
|
||||
|
||||
div.navheader ul li.home a,
|
||||
|
||||
div.navheader ul li.home a,
|
||||
div.navfooter ul li.home a{
|
||||
display: block;
|
||||
width: 0px;
|
||||
@ -814,8 +814,8 @@ div.navfooter ul li.next a{
|
||||
background-size: 6vmin 6vmin;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
div.navheader ul li.up a,
|
||||
|
||||
div.navheader ul li.up a,
|
||||
div.navfooter ul li.up a{
|
||||
display: block;
|
||||
width: 0px;
|
||||
@ -830,14 +830,14 @@ div.navfooter ul li.next a{
|
||||
/* End media */
|
||||
|
||||
/* TOC */
|
||||
div.toc ul,
|
||||
div.index ul,
|
||||
div.navheader ul,
|
||||
div.toc ul,
|
||||
div.index ul,
|
||||
div.navheader ul,
|
||||
div.navfooter ul {
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
li.preface,
|
||||
li.preface,
|
||||
.part li.appendix {
|
||||
margin-left: 1em;
|
||||
}
|
||||
@ -846,8 +846,8 @@ div.toc h3 {
|
||||
margin: 1em 0em 0.3em 0em;
|
||||
}
|
||||
|
||||
li.appendix h3,
|
||||
li.glossary h3,
|
||||
li.appendix h3,
|
||||
li.glossary h3,
|
||||
li.index h3 {
|
||||
margin: 0.5em
|
||||
}
|
||||
@ -911,13 +911,13 @@ li.chapter h4 a {
|
||||
width: 100%;
|
||||
margin-left: 1em;
|
||||
}
|
||||
|
||||
|
||||
.item + .indexref {
|
||||
display: inline-block;
|
||||
padding-left: 0px;
|
||||
margin-left: 1em;
|
||||
}
|
||||
|
||||
|
||||
.secitem + .indexref {
|
||||
display: inline-block;
|
||||
padding-left: 0px;
|
||||
@ -947,7 +947,7 @@ div.admon pre {
|
||||
margin: 0.5em 3em;
|
||||
}
|
||||
|
||||
div.note,
|
||||
div.note,
|
||||
div.tip {
|
||||
margin: 1em;
|
||||
padding: 0.2em 0.5em 0.75em 0.75em;
|
||||
@ -958,8 +958,8 @@ div.tip {
|
||||
line-height: 1.4em;
|
||||
}
|
||||
|
||||
div.important,
|
||||
div.warning,
|
||||
div.important,
|
||||
div.warning,
|
||||
div.caution {
|
||||
margin: 1em;
|
||||
padding: 0.2em 0.5em 0.75em 0.75em;
|
||||
@ -970,14 +970,14 @@ div.caution {
|
||||
line-height: 1.4em;
|
||||
}
|
||||
|
||||
div.important h3,
|
||||
div.warning h3,
|
||||
div.important h3,
|
||||
div.warning h3,
|
||||
div.caution h3 {
|
||||
color: #900;
|
||||
}
|
||||
|
||||
div.important em,
|
||||
div.warning em,
|
||||
div.important em,
|
||||
div.warning em,
|
||||
div.caution em {
|
||||
color: #000;
|
||||
font-weight: bold;
|
||||
@ -995,7 +995,7 @@ div.caution em {
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
.table table th,
|
||||
.table table th,
|
||||
.table table td {
|
||||
padding: 0.2em 2em 0.2em 2em;
|
||||
text-align: left;
|
||||
@ -1038,7 +1038,7 @@ div.caution em {
|
||||
}
|
||||
/* End media */
|
||||
|
||||
.variablelist td span,
|
||||
.variablelist td span,
|
||||
td p {
|
||||
margin: 0.25em;
|
||||
padding: 0px;
|
||||
@ -1112,7 +1112,7 @@ div.materials dd {
|
||||
display: block;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
|
||||
.package .segbody, .content .segbody {
|
||||
display: inline-block;
|
||||
padding-left: 0px;
|
||||
@ -1194,17 +1194,17 @@ ol.compact li p {
|
||||
}
|
||||
|
||||
/* Indented blocks */
|
||||
p,
|
||||
p,
|
||||
blockquote {
|
||||
padding-left: 1em;
|
||||
padding-right: 1em;
|
||||
}
|
||||
|
||||
/* Monospaced elements */
|
||||
tt,
|
||||
code,
|
||||
kbd,
|
||||
pre,
|
||||
tt,
|
||||
code,
|
||||
kbd,
|
||||
pre,
|
||||
.command {
|
||||
font-family: monospace;
|
||||
}
|
||||
@ -1229,7 +1229,7 @@ pre.screen {
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.literal,
|
||||
.literal,
|
||||
.prompt {
|
||||
font-weight: normal;
|
||||
}
|
||||
|
@ -8,257 +8,257 @@
|
||||
* Makefile.lfs: Adjust warning flags. Adjust linking rules to
|
||||
allow build with util-linux in LFS's /tools directory.
|
||||
|
||||
2010-01-26 Matt Burgess <matthew@linuxfromscratch.org>
|
||||
* 55-lfs.rules: Remove lots of rules that have been merged upstream.
|
||||
* 61-cdrom.rules: Remove as upstream has a replacement.
|
||||
* doc/*: Cleanup and rewrite now that the rules are much simpler.
|
||||
2010-01-26 Matt Burgess <matthew@linuxfromscratch.org>
|
||||
* 55-lfs.rules: Remove lots of rules that have been merged upstream.
|
||||
* 61-cdrom.rules: Remove as upstream has a replacement.
|
||||
* doc/*: Cleanup and rewrite now that the rules are much simpler.
|
||||
|
||||
2009-09-25 Bryan Kadzban <bryan@linuxfromscratch.org>
|
||||
* 55-lfs.rules: Make the RTC rule (which runs setclock) work for people
|
||||
that don't use the RTC-class driver -- add another copy of the rule,
|
||||
using KERNEL=="rtc" instead of SUBSYSTEM=="rtc". Also move the ACTION
|
||||
match before the assignment to MODE.
|
||||
2009-09-25 Bryan Kadzban <bryan@linuxfromscratch.org>
|
||||
* 55-lfs.rules: Make the RTC rule (which runs setclock) work for people
|
||||
that don't use the RTC-class driver -- add another copy of the rule,
|
||||
using KERNEL=="rtc" instead of SUBSYSTEM=="rtc". Also move the ACTION
|
||||
match before the assignment to MODE.
|
||||
|
||||
2009-05-23 Bruce Dubbs <bdubbs@linuxfromscratch.org>
|
||||
* 55-lfs.rules: Set the rtc by udev upon boot. Removed aio device from
|
||||
udev configuration so defaults are used.
|
||||
2009-05-23 Bruce Dubbs <bdubbs@linuxfromscratch.org>
|
||||
* 55-lfs.rules: Set the rtc by udev upon boot. Removed aio device from
|
||||
udev configuration so defaults are used.
|
||||
|
||||
2009-05-16 Bryan Kadzban <bryan@linuxfromscratch.org>
|
||||
* 55-lfs.rules: Adopt udev permissions for random, urandom, kmsg, and
|
||||
input devices (including psaux, which probably doesn't exist anymore
|
||||
anyway).
|
||||
2009-05-16 Bryan Kadzban <bryan@linuxfromscratch.org>
|
||||
* 55-lfs.rules: Adopt udev permissions for random, urandom, kmsg, and
|
||||
input devices (including psaux, which probably doesn't exist anymore
|
||||
anyway).
|
||||
|
||||
2009-05-16 Matt Burgess <matthew@linuxfromscratch.org>
|
||||
* 55-lfs.rules: Remove the block rule as it was only setting
|
||||
permissions that Udev will set by default
|
||||
* 55-lfs.rules: Remove the rfcomm rule as the group it sets is already
|
||||
included in upstream's rule
|
||||
* 55-lfs-rules: Remove the tape rules as the group they sets is already
|
||||
included in upstream's rules
|
||||
2009-05-16 Matt Burgess <matthew@linuxfromscratch.org>
|
||||
* 55-lfs.rules: Remove the block rule as it was only setting
|
||||
permissions that Udev will set by default
|
||||
* 55-lfs.rules: Remove the rfcomm rule as the group it sets is already
|
||||
included in upstream's rule
|
||||
* 55-lfs-rules: Remove the tape rules as the group they sets is already
|
||||
included in upstream's rules
|
||||
|
||||
2009-03-15 Bryan Kadzban <bryan@linuxfromscratch.org>
|
||||
* 55-lfs.rules: Remove the ISDN-handling rules (replaced with upstream's
|
||||
version, which has a better match via SUBSYSTEM).
|
||||
* 55-lfs.rules: Replace "uucp" with "dialout" now that udev has decided
|
||||
to standardize on a Debian-like setup (uucp is for UUCP daemons to use
|
||||
for privilege separation; dialout is for users and devices).
|
||||
2009-03-15 Bryan Kadzban <bryan@linuxfromscratch.org>
|
||||
* 55-lfs.rules: Remove the ISDN-handling rules (replaced with upstream's
|
||||
version, which has a better match via SUBSYSTEM).
|
||||
* 55-lfs.rules: Replace "uucp" with "dialout" now that udev has decided
|
||||
to standardize on a Debian-like setup (uucp is for UUCP daemons to use
|
||||
for privilege separation; dialout is for users and devices).
|
||||
|
||||
2008-12-07 Bruce Dubbs <bdubbs@linuxfromscratch.org>
|
||||
* 55-lfs.rules: Change one line to use continuation so it does
|
||||
not overflow the book's width.
|
||||
* 55-lfs.rules: Change one line to use continuation so it does
|
||||
not overflow the book's width.
|
||||
|
||||
2008-12-07 Bryan Kadzban <bryan@linuxfromscratch.org>
|
||||
* 55-lfs.rules: Remove several rules that are either provided by upstream,
|
||||
or that don't have any effect (there is no /dev/js or /dev/djs according
|
||||
to devices.txt).
|
||||
* 55-lfs.rules, 61-cdrom.rules: Replace ACTION=="add" with "add|change"
|
||||
everywhere, per upstream's general request.
|
||||
* 55-lfs.rules: Remove several rules that are either provided by upstream,
|
||||
or that don't have any effect (there is no /dev/js or /dev/djs according
|
||||
to devices.txt).
|
||||
* 55-lfs.rules, 61-cdrom.rules: Replace ACTION=="add" with "add|change"
|
||||
everywhere, per upstream's general request.
|
||||
|
||||
2008-11-11 Bryan Kadzban <bryan@linuxfromscratch.org>
|
||||
* 55-lfs.rules, 61-cdrom.rules: Fix comments to use the right rule
|
||||
numbers. Thanks to Trent Shea for the fix. Closes #2278.
|
||||
* 55-lfs.rules, 61-cdrom.rules: Fix comments to use the right rule
|
||||
numbers. Thanks to Trent Shea for the fix. Closes #2278.
|
||||
|
||||
2008-10-15 DJ Lucas <dj@linuxfromscratch.org>
|
||||
* 55-lfs.rules: Override default perms on floppy disk devices provided
|
||||
by 50-udev-default.rules. Thanks to Bruce Dubbs for the fix. Closes
|
||||
LFS ticket #2076.
|
||||
* 55-lfs.rules: Override default perms on floppy disk devices provided
|
||||
by 50-udev-default.rules. Thanks to Bruce Dubbs for the fix. Closes
|
||||
LFS ticket #2076.
|
||||
|
||||
2008-05-21 Bryan Kadzban <bryan@linuxfromscratch.org>
|
||||
* 81-firmware.rules, doc/81-firmware.txt: Remove. This rule is
|
||||
already handled by udev's 50-udev-default.rules file. The docs
|
||||
can be added back later if needed.
|
||||
* Makefile: Don't install the above deleted files.
|
||||
* 55-lfs.rules: Remove the device-mapper rule, since the upstream
|
||||
50-udev-default.rules file handles it properly.
|
||||
* 81-firmware.rules, doc/81-firmware.txt: Remove. This rule is
|
||||
already handled by udev's 50-udev-default.rules file. The docs
|
||||
can be added back later if needed.
|
||||
* Makefile: Don't install the above deleted files.
|
||||
* 55-lfs.rules: Remove the device-mapper rule, since the upstream
|
||||
50-udev-default.rules file handles it properly.
|
||||
|
||||
2008-04-02 Bryan Kadzban <bryan@linuxfromscratch.org>
|
||||
* Makefile: Make the package DESTDIR-friendly by installing the docs
|
||||
into a fixed $(PREFIX)/share/doc/udev-config directory, instead of
|
||||
trying to figure out what version of udev was just installed.
|
||||
* Makefile: Make the package DESTDIR-friendly by installing the docs
|
||||
into a fixed $(PREFIX)/share/doc/udev-config directory, instead of
|
||||
trying to figure out what version of udev was just installed.
|
||||
|
||||
2007-10-30 Bryan Kadzban <bryan@linuxfromscratch.org>
|
||||
* 55-lfs.rules: Since the dialout group was renamed to uucp, delete
|
||||
the rules that override upstream's assignment of the dialout group.
|
||||
Replace "dialout" with "uucp" on the remaining rules.
|
||||
* 55-lfs.rules: Since the dialout group was renamed to uucp, delete
|
||||
the rules that override upstream's assignment of the dialout group.
|
||||
Replace "dialout" with "uucp" on the remaining rules.
|
||||
|
||||
2007-10-29 Bryan Kadzban <bryan@linuxfromscratch.org>
|
||||
* 51-lfs.rules: Move to 55-lfs.rules.
|
||||
* doc/51-lfs.rules: Move to doc/55-lfs.rules.
|
||||
* 51-lfs.rules: Move to 55-lfs.rules.
|
||||
* doc/51-lfs.rules: Move to doc/55-lfs.rules.
|
||||
|
||||
2007-10-27 Bryan Kadzban <bryan@linuxfromscratch.org>
|
||||
* 25-lfs.rules: Some rules in here are duplicates of rules from udev's
|
||||
new 50-udev-defaults.rules file; remove them. Override permissions
|
||||
where needed elsewhere (and document overrides in comments).
|
||||
* 26-modprobe.rules: Provided by udev's 80-drivers.rules and built-in
|
||||
modaliases for SCSI device-type modules in 2.6.22+ kernels; remove.
|
||||
* 25-lfs.rules: Some rules in here are duplicates of rules from udev's
|
||||
new 50-udev-defaults.rules file; remove them. Override permissions
|
||||
where needed elsewhere (and document overrides in comments).
|
||||
* 26-modprobe.rules: Provided by udev's 80-drivers.rules and built-in
|
||||
modaliases for SCSI device-type modules in 2.6.22+ kernels; remove.
|
||||
|
||||
* 25-lfs.rules: Move to 51-lfs.rules.
|
||||
* 27-firmware.rules: Move to 81-firmware.rules.
|
||||
* 81-cdrom.rules: Move to 61-cdrom.rules.
|
||||
* 25-lfs.rules: Move to 51-lfs.rules.
|
||||
* 27-firmware.rules: Move to 81-firmware.rules.
|
||||
* 81-cdrom.rules: Move to 61-cdrom.rules.
|
||||
|
||||
* doc/25-lfs.txt: Rename to 51-lfs.txt.
|
||||
* doc/26-modprobe.txt: Rename to 80-drivers.txt, and modify to reflect
|
||||
the upstream rules.
|
||||
* doc/27-firmware.txt: Rename to 81-firmware.txt.
|
||||
* doc/81-cdrom.txt: Rename to 61-cdrom.txt.
|
||||
* doc/25-lfs.txt: Rename to 51-lfs.txt.
|
||||
* doc/26-modprobe.txt: Rename to 80-drivers.txt, and modify to reflect
|
||||
the upstream rules.
|
||||
* doc/27-firmware.txt: Rename to 81-firmware.txt.
|
||||
* doc/81-cdrom.txt: Rename to 61-cdrom.txt.
|
||||
|
||||
* Makefile: Use new filenames.
|
||||
* Makefile: Use new filenames.
|
||||
|
||||
2007-07-31 Dan Nicholson <dnicholson@linuxfromscratch.org>
|
||||
* 25-lfs.rules: Changed the usb_device rule tto create /dev/bus/usb
|
||||
nodes if the usb_device in 2.6.22+ kernels. The rule was also changed
|
||||
to only trigger on "add" events. This change is not backwards
|
||||
compatible with older kernels.
|
||||
* 25-lfs.rules: Changed the usb_device rule tto create /dev/bus/usb
|
||||
nodes if the usb_device in 2.6.22+ kernels. The rule was also changed
|
||||
to only trigger on "add" events. This change is not backwards
|
||||
compatible with older kernels.
|
||||
|
||||
2007-06-12 Dan Nicholson <dnicholson@linuxfromscratch.org>
|
||||
* 25-lfs.rules: Fix the CPUID nodes from cpu/%n/cpu to cpu/%n/cpuid,
|
||||
which is what's expected in userspace apps such as x86info.
|
||||
* 25-lfs.rules: Fix the CPUID nodes from cpu/%n/cpu to cpu/%n/cpuid,
|
||||
which is what's expected in userspace apps such as x86info.
|
||||
|
||||
2007-06-08 Bryan Kadzban <bryan@linuxfromscratch.org>
|
||||
* 25-lfs.rules: Add rules for DVB devices (create nodes in /dev/dvb/)
|
||||
and floppies (create extra nodes based on CMOS type), copied from
|
||||
the SuSE rules file. Thanks to Alexander Patrakov for the bugreport.
|
||||
* 25-lfs.rules: Add rules for DVB devices (create nodes in /dev/dvb/)
|
||||
and floppies (create extra nodes based on CMOS type), copied from
|
||||
the SuSE rules file. Thanks to Alexander Patrakov for the bugreport.
|
||||
|
||||
2007-03-04 Matthew Burgess <matthew@linuxfromscratch.org>
|
||||
* Makefile: Use `udevd --version' to work out what version of Udev is
|
||||
installed (requires Udev >= 106)
|
||||
2007-03-04 Matthew Burgess <matthew@linuxfromscratch.org>
|
||||
* Makefile: Use `udevd --version' to work out what version of Udev is
|
||||
installed (requires Udev >= 106)
|
||||
|
||||
2007-01-02 Bryan Kadzban <bryan@linuxfromscratch.org>
|
||||
* 25-lfs.rules: Change CPU devices (cpu, msr, microcode) to be in
|
||||
/dev/cpu/ and /dev/cpu/N/, to match Documentation/devices.txt.
|
||||
* 25-lfs.rules: Change CPU devices (cpu, msr, microcode) to be in
|
||||
/dev/cpu/ and /dev/cpu/N/, to match Documentation/devices.txt.
|
||||
|
||||
2006-10-21 Bryan Kadzban <bryan@linuxfromscratch.org>
|
||||
* Makefile: Add a missing backslash in install-extra-doc.
|
||||
* Makefile: Add a missing backslash in install-extra-doc.
|
||||
|
||||
* 05-udev-early.rules, 60-persistent-input.rules,
|
||||
60-persistent-storage.rules, 95-udev-late.rules: Remove. The book
|
||||
will install these files from udev's etc/udev/rules.d directory
|
||||
instead.
|
||||
* Makefile: Don't install these rules files after all. Also, only
|
||||
install corresponding docs if requested.
|
||||
* 05-udev-early.rules, 60-persistent-input.rules,
|
||||
60-persistent-storage.rules, 95-udev-late.rules: Remove. The book
|
||||
will install these files from udev's etc/udev/rules.d directory
|
||||
instead.
|
||||
* Makefile: Don't install these rules files after all. Also, only
|
||||
install corresponding docs if requested.
|
||||
|
||||
2006-10-20 Bryan Kadzban <bryan@linuxfromscratch.org>
|
||||
* Makefile: Added; contains targets to install rules and doc files.
|
||||
From Dan Nicholson.
|
||||
* Makefile: Added; contains targets to install rules and doc files.
|
||||
From Dan Nicholson.
|
||||
|
||||
2006-10-14 Bryan Kadzban <bryan@linuxfromscratch.org>
|
||||
* 05-udev-early.rules, 60-persistent-storage.rules: Sync up with
|
||||
upstream sample rules files (from udev-102), except for one rule
|
||||
which is more specific in our tarball and should probably be changed
|
||||
upstream.
|
||||
* doc/60-persistent-storage.txt: Modify to match the changes. Also
|
||||
fix a couple typos.
|
||||
* 05-udev-early.rules, 60-persistent-storage.rules: Sync up with
|
||||
upstream sample rules files (from udev-102), except for one rule
|
||||
which is more specific in our tarball and should probably be changed
|
||||
upstream.
|
||||
* doc/60-persistent-storage.txt: Modify to match the changes. Also
|
||||
fix a couple typos.
|
||||
|
||||
* 25-lfs.rules: Remove duplicate rules (ttyS[0-9]* is also matched by
|
||||
tty[BC...S...][0-9]*, and ttyUSB[0-9]* is in there twice).
|
||||
* 25-lfs.rules: Remove duplicate rules (ttyS[0-9]* is also matched by
|
||||
tty[BC...S...][0-9]*, and ttyUSB[0-9]* is in there twice).
|
||||
|
||||
* 25-lfs.rules: Fix Alsa device KERNEL rules. Udev uses shell-style
|
||||
glob matching, not regular expressions, so the old rules would match
|
||||
nonsense device names like hw0asdf and pcmDzxcv. As long as the first
|
||||
character after the "fixed" portion was in the list, the rule would
|
||||
match; it wouldn't apply the same character range to later characters.
|
||||
* 25-lfs.rules: Fix Alsa device KERNEL rules. Udev uses shell-style
|
||||
glob matching, not regular expressions, so the old rules would match
|
||||
nonsense device names like hw0asdf and pcmDzxcv. As long as the first
|
||||
character after the "fixed" portion was in the list, the rule would
|
||||
match; it wouldn't apply the same character range to later characters.
|
||||
|
||||
* doc/25-lfs.txt: Add a note on interaction between permissions and
|
||||
symlinks.
|
||||
* doc/25-lfs.txt: Add a note on interaction between permissions and
|
||||
symlinks.
|
||||
|
||||
2006-10-09 Bryan Kadzban <bryan@linuxfromscrtach.org>
|
||||
* 25-lfs.rules: Fix fb[0-9]* device permissions (should use the default
|
||||
0660).
|
||||
* 25-lfs.rules: Fix fb[0-9]* device permissions (should use the default
|
||||
0660).
|
||||
|
||||
* doc/25-lfs.txt: Fix typo: /dev/ptmx is given mode 0666, not 0660.
|
||||
Also tweak the comment about other TTY devices.
|
||||
* doc/25-lfs.txt: Fix typo: /dev/ptmx is given mode 0666, not 0660.
|
||||
Also tweak the comment about other TTY devices.
|
||||
|
||||
2006-10-04 Bryan Kadzban <bryan@linuxfromscratch.org>
|
||||
* 05-udev-early.rules: Remove WAIT_FOR_SYSFS="bus" rule. With kernel
|
||||
2.6.18, this rule is no longer required.
|
||||
* 05-udev-early.rules: Remove WAIT_FOR_SYSFS="bus" rule. With kernel
|
||||
2.6.18, this rule is no longer required.
|
||||
|
||||
* doc/05-udev-early.txt: Update to match.
|
||||
* doc/05-udev-early.txt: Update to match.
|
||||
|
||||
2006-09-28 Bryan Kadzban <bryan@linuxfromscratch.org>
|
||||
* doc/60-persistent-storage.txt: Explain persistent storage rules, or
|
||||
at least the parts I understand. (I don't use DASD or netblock or
|
||||
several other supported configurations.)
|
||||
* doc/60-persistent-storage.txt: Explain persistent storage rules, or
|
||||
at least the parts I understand. (I don't use DASD or netblock or
|
||||
several other supported configurations.)
|
||||
|
||||
* doc/81-cdrom.txt: Explain 81-cdrom.rules.
|
||||
* doc/81-cdrom.txt: Explain 81-cdrom.rules.
|
||||
|
||||
* doc/95-udev-late.txt: Explain 95-udev-late.rules. Documentation is
|
||||
now finished.
|
||||
* doc/95-udev-late.txt: Explain 95-udev-late.rules. Documentation is
|
||||
now finished.
|
||||
|
||||
2006-09-26 Bryan Kadzban <bryan@linuxfromscratch.org>
|
||||
* doc/60-persistent-input.txt: Explain (in probably too much detail)
|
||||
60-persistent-input.rules.
|
||||
* doc/60-persistent-input.txt: Explain (in probably too much detail)
|
||||
60-persistent-input.rules.
|
||||
|
||||
2006-09-24 Bryan Kadzban <bryan@linuxfromscratch.org>
|
||||
* doc/05-udev-early.txt: Rewrap to fit 80 columns.
|
||||
* doc/05-udev-early.txt: Rewrap to fit 80 columns.
|
||||
|
||||
* doc/26-modprobe.txt: Explain 26-modprobe.rules, and modaliases.
|
||||
* doc/26-modprobe.txt: Explain 26-modprobe.rules, and modaliases.
|
||||
|
||||
* doc/27-firmware.txt: Explain 27-firmware.rules.
|
||||
* doc/27-firmware.txt: Explain 27-firmware.rules.
|
||||
|
||||
2006-09-24 Bryan Kadzban <bryan@linuxfromscratch.org>
|
||||
* doc/25-lfs.txt: Explain 25-lfs.rules.
|
||||
* doc/25-lfs.txt: Explain 25-lfs.rules.
|
||||
|
||||
* 25-lfs.rules: Use SYMLINK+= for isdn/capi20 also.
|
||||
* 25-lfs.rules: Use SYMLINK+= for isdn/capi20 also.
|
||||
|
||||
2006-09-23 Bryan Kadzban <bryan@linuxfromscratch.org>
|
||||
* doc: New subdirectory to contain documentation of rules
|
||||
* doc/README: New file, top-level documentation
|
||||
* doc/*.txt: New documentation files, one for each rules file. Only
|
||||
05-udev-early.txt has anything in it.
|
||||
* doc: New subdirectory to contain documentation of rules
|
||||
* doc/README: New file, top-level documentation
|
||||
* doc/*.txt: New documentation files, one for each rules file. Only
|
||||
05-udev-early.txt has anything in it.
|
||||
|
||||
2006-09-23 Bryan Kadzban <bryan@linuxfromscratch.org>
|
||||
* 25-lfs.rules: Add "ignore_device" to OPTIONS for DRI devices, instead
|
||||
of setting NAME to an empty string. This matches the way we ignore
|
||||
devmapper / LVM devices.
|
||||
* 25-lfs.rules: Add "ignore_device" to OPTIONS for DRI devices, instead
|
||||
of setting NAME to an empty string. This matches the way we ignore
|
||||
devmapper / LVM devices.
|
||||
|
||||
2006-09-22 Bryan Kadzban <bryan@linuxfromscratch.org>
|
||||
* 60-persistent-input.rules, 95-udev-late.rules: Import from udev-100.
|
||||
60-persistent-input.rules creates persistent symlinks for input
|
||||
devices, and 95-udev-late.rules enables udevmonitor.
|
||||
* 60-persistent-input.rules, 95-udev-late.rules: Import from udev-100.
|
||||
60-persistent-input.rules creates persistent symlinks for input
|
||||
devices, and 95-udev-late.rules enables udevmonitor.
|
||||
|
||||
* 60-persistent-storage.rules: Replace ATTRS{../removable} with just
|
||||
ATTRS{removable} on partition devices. Replace ATTRS{removable}
|
||||
with ATTR{removable} on whole-disk devices.
|
||||
* 60-persistent-storage.rules: Replace ATTRS{../removable} with just
|
||||
ATTRS{removable} on partition devices. Replace ATTRS{removable}
|
||||
with ATTR{removable} on whole-disk devices.
|
||||
|
||||
2006-09-20 Bryan Kadzban <bryan@linuxfromscratch.org>
|
||||
* 05-early.rules: Missed a rule in the last change. ENV{PHYSDEVBUS}
|
||||
in the rule that waits for the "bus" symlink should be replaced by
|
||||
SUBSYSTEMS.
|
||||
* 05-early.rules: Missed a rule in the last change. ENV{PHYSDEVBUS}
|
||||
in the rule that waits for the "bus" symlink should be replaced by
|
||||
SUBSYSTEMS.
|
||||
|
||||
2006-09-20 Bryan Kadzban <bryan@linuxfromscratch.org>
|
||||
* Adapted rules to the new matches used in udev-098 and above (e.g.,
|
||||
SYSFS becomes ATTRS). Prevents warnings, and support for the old
|
||||
matches will be removed eventually. These rules will not work with
|
||||
udev-097 and before!
|
||||
* Fixed several bugs in the rules left over from previous udev
|
||||
versions (missing commas, overwriting user symlinks using ="..."
|
||||
instead of +="...", and matching against "*" instead of "?*").
|
||||
* Adapted rules to the new matches used in udev-098 and above (e.g.,
|
||||
SYSFS becomes ATTRS). Prevents warnings, and support for the old
|
||||
matches will be removed eventually. These rules will not work with
|
||||
udev-097 and before!
|
||||
* Fixed several bugs in the rules left over from previous udev
|
||||
versions (missing commas, overwriting user symlinks using ="..."
|
||||
instead of +="...", and matching against "*" instead of "?*").
|
||||
|
||||
* Renamed CHANGELOG to ChangeLog, started using pseudo-GNU-format
|
||||
entries. (See standards.info; search it for "changelog" to get
|
||||
the general gist.)
|
||||
* Renamed CHANGELOG to ChangeLog, started using pseudo-GNU-format
|
||||
entries. (See standards.info; search it for "changelog" to get
|
||||
the general gist.)
|
||||
|
||||
dnicholson - Jul 14, 2006
|
||||
* Fixed usbdev PROGRAM so that it works with the BusyBox sh. Thanks
|
||||
to Anthony Wright.
|
||||
* Fixed usbdev PROGRAM so that it works with the BusyBox sh. Thanks
|
||||
to Anthony Wright.
|
||||
|
||||
n/a - Jul 12, 2006
|
||||
* Added options so temporary nodes are not created with device-mapper
|
||||
* Adapted cdrom rules to identify CD-ROM drives correctly by adding
|
||||
SUBSYSTEM=="block" test.
|
||||
* Added simple 81-cdrom.rules file to set cdrom group ownership
|
||||
* Added options so temporary nodes are not created with device-mapper
|
||||
* Adapted cdrom rules to identify CD-ROM drives correctly by adding
|
||||
SUBSYSTEM=="block" test.
|
||||
* Added simple 81-cdrom.rules file to set cdrom group ownership
|
||||
|
||||
n/a - Jun 07, 2006
|
||||
* Removed nvidia rules
|
||||
* Removed bug reporting rule
|
||||
* Moved Debian-based persistent CD-ROM rules to contrib
|
||||
* Adapted firmware rule to udev-093
|
||||
* Removed nvidia rules
|
||||
* Removed bug reporting rule
|
||||
* Moved Debian-based persistent CD-ROM rules to contrib
|
||||
* Adapted firmware rule to udev-093
|
||||
|
||||
n/a - May 15, 2006
|
||||
* Part one of 25-lfs.rules rewrite
|
||||
* Some minor tweaking of the layout
|
||||
* Part one of 25-lfs.rules rewrite
|
||||
* Some minor tweaking of the layout
|
||||
|
||||
n/a - May 12, 2006
|
||||
* Initial import of the udev-config directory.
|
||||
* Reorganized and modularized the rules files.
|
||||
* Added explanatory comments
|
||||
* Initial import of the udev-config directory.
|
||||
* Reorganized and modularized the rules files.
|
||||
* Added explanatory comments
|
||||
|
@ -107,7 +107,7 @@ match="BUS==\"$PHYSDEVBUS\", ID==\"$id\""
|
||||
|
||||
comment="$ID_MODEL ($ID_PATH)"
|
||||
|
||||
write_rule "$match" "cdrom$link_num" "$comment"
|
||||
write_rule "$match" "cdrom$link_num" "$comment"
|
||||
[ "$ID_CDROM_CD_RW" ] && write_rule "$match" "cdrw$link_num"
|
||||
[ "$ID_CDROM_DVD" ] && write_rule "$match" "dvd$link_num"
|
||||
[ "$ID_CDROM_DVD_RW" ] && write_rule "$match" "dvdrw$link_num"
|
||||
|
Loading…
Reference in New Issue
Block a user