mirror of
https://git.linuxfromscratch.org/lfs.git
synced 2025-06-27 07:39: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
|
BASEDIR ?= ~/lfs-book
|
||||||
PDF_OUTPUT ?= LFS-BOOK.pdf
|
PDF_OUTPUT ?= LFS-BOOK.pdf
|
||||||
NOCHUNKS_OUTPUT ?= LFS-BOOK.html
|
NOCHUNKS_OUTPUT ?= LFS-BOOK.html
|
||||||
DUMPDIR ?= ~/cross-lfs-commands
|
DUMPDIR ?= ~/lfs-commands
|
||||||
else
|
else
|
||||||
BASEDIR ?= ~/lfs-systemd
|
BASEDIR ?= ~/lfs-systemd
|
||||||
PDF_OUTPUT ?= LFS-SYSD-BOOK.pdf
|
PDF_OUTPUT ?= LFS-SYSD-BOOK.pdf
|
||||||
@ -136,7 +136,7 @@ validate: tmpdir version
|
|||||||
$(Q)xmllint --nonet \
|
$(Q)xmllint --nonet \
|
||||||
--noent \
|
--noent \
|
||||||
--postvalid \
|
--postvalid \
|
||||||
-o $(RENDERTMP)/lfs-full.xml \
|
-o $(RENDERTMP)/lfs-full.xml \
|
||||||
$(RENDERTMP)/lfs-html2.xml
|
$(RENDERTMP)/lfs-html2.xml
|
||||||
|
|
||||||
$(Q)rm -f appendices/*.script
|
$(Q)rm -f appendices/*.script
|
||||||
@ -147,9 +147,9 @@ profile-html:
|
|||||||
@echo "Generating profiled XML for XHTML..."
|
@echo "Generating profiled XML for XHTML..."
|
||||||
$(Q)xsltproc --nonet \
|
$(Q)xsltproc --nonet \
|
||||||
--stringparam profile.condition html \
|
--stringparam profile.condition html \
|
||||||
--output $(RENDERTMP)/lfs-html.xml \
|
--output $(RENDERTMP)/lfs-html.xml \
|
||||||
stylesheets/lfs-xsl/profile.xsl \
|
stylesheets/lfs-xsl/profile.xsl \
|
||||||
$(RENDERTMP)/lfs-full.xml
|
$(RENDERTMP)/lfs-full.xml
|
||||||
|
|
||||||
wget-list: $(BASEDIR)/wget-list $(BASEDIR)/wget-list-$(REV)
|
wget-list: $(BASEDIR)/wget-list $(BASEDIR)/wget-list-$(REV)
|
||||||
$(BASEDIR)/wget-list: stylesheets/wget-list.xsl chapter03/chapter03.xml \
|
$(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)mkdir -p $(BASEDIR)
|
||||||
$(Q)xsltproc --xinclude --nonet \
|
$(Q)xsltproc --xinclude --nonet \
|
||||||
--output $(BASEDIR)/wget-list \
|
--output $(BASEDIR)/wget-list \
|
||||||
stylesheets/wget-list.xsl \
|
stylesheets/wget-list.xsl \
|
||||||
chapter03/chapter03.xml
|
chapter03/chapter03.xml
|
||||||
|
|
||||||
$(BASEDIR)/wget-list-$(REV): stylesheets/wget-list.xsl \
|
$(BASEDIR)/wget-list-$(REV): stylesheets/wget-list.xsl \
|
||||||
@ -197,22 +197,17 @@ $(BASEDIR)/md5sums: stylesheets/wget-list.xsl chapter03/chapter03.xml \
|
|||||||
version:
|
version:
|
||||||
$(Q)./git-version.sh $(REV)
|
$(Q)./git-version.sh $(REV)
|
||||||
|
|
||||||
#dump-commands: validate
|
dump-commands: validate
|
||||||
# @echo "Dumping book commands..."
|
@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
|
|
||||||
|
|
||||||
# $(Q)rm -rf $(DUMPDIR)
|
$(Q)rm -rf $(DUMPDIR)
|
||||||
|
|
||||||
# $(Q)xsltproc --output $(DUMPDIR)/ \
|
$(Q)xsltproc --output $(DUMPDIR)/ \
|
||||||
# stylesheets/dump-commands.xsl \
|
stylesheets/dump-commands.xsl \
|
||||||
# $(RENDERTMP)/lfs-html.xml
|
$(RENDERTMP)/lfs-full.xml
|
||||||
# @echo "Dumping book commands complete in $(DUMPDIR)"
|
@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
|
.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>
|
<para><ulink url="mailto:info@shizu-net.jp">Shizunet Co.,Ltd.</ulink>
|
||||||
<info@shizu-net.jp> – lfs.mirror.shizu-net.jp mirror</para>
|
<info@shizu-net.jp> – lfs.mirror.shizu-net.jp mirror</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
<!-- domain name can't be resolved on Sept 5, 2022
|
||||||
<listitem>
|
<listitem>
|
||||||
<para><ulink url="http://www.initworld.com/">Init World</ulink>
|
<para><ulink url="http://www.initworld.com/">Init World</ulink>
|
||||||
<http://www.initworld.com/> – lfs.initworld.com mirror</para>
|
<http://www.initworld.com/> – lfs.initworld.com mirror</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
-->
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
|
|
||||||
<bridgehead renderas="sect3">Australian Mirrors</bridgehead>
|
<bridgehead renderas="sect3">Australian Mirrors</bridgehead>
|
||||||
|
@ -948,7 +948,7 @@
|
|||||||
<segtitle>&external;</segtitle>
|
<segtitle>&external;</segtitle>
|
||||||
<seglistitem>
|
<seglistitem>
|
||||||
<seg>
|
<seg>
|
||||||
<ulink url="http://gcc.gnu.org/wiki/GNAT">GNAT</ulink>
|
<ulink url="https://gcc.gnu.org/wiki/GNAT">GNAT</ulink>
|
||||||
and
|
and
|
||||||
<ulink url="https://repo.or.cz/isl.git">ISL</ulink>
|
<ulink url="https://repo.or.cz/isl.git">ISL</ulink>
|
||||||
</seg>
|
</seg>
|
||||||
@ -1186,7 +1186,7 @@
|
|||||||
<segtitle>&external;</segtitle>
|
<segtitle>&external;</segtitle>
|
||||||
<seglistitem>
|
<seglistitem>
|
||||||
<seg>
|
<seg>
|
||||||
<ulink url="&blfs-book;general/pcre.html">PCRE</ulink>
|
<ulink url="&blfs-book;general/pcre2.html">PCRE2</ulink>
|
||||||
and
|
and
|
||||||
<ulink url="&blfs-book;general/libsigsegv.html">libsigsegv</ulink>
|
<ulink url="&blfs-book;general/libsigsegv.html">libsigsegv</ulink>
|
||||||
</seg>
|
</seg>
|
||||||
@ -2356,7 +2356,7 @@
|
|||||||
<segmentedlist id="patch-rundeps">
|
<segmentedlist id="patch-rundeps">
|
||||||
<segtitle>&runtime;</segtitle>
|
<segtitle>&runtime;</segtitle>
|
||||||
<seglistitem>
|
<seglistitem>
|
||||||
<seg>Glibc and Patch</seg>
|
<seg>Glibc</seg>
|
||||||
</seglistitem>
|
</seglistitem>
|
||||||
</segmentedlist>
|
</segmentedlist>
|
||||||
|
|
||||||
@ -2813,7 +2813,7 @@
|
|||||||
<ulink url="&blfs-book;postlfs/linux-pam.html">Linux-PAM</ulink>,
|
<ulink url="&blfs-book;postlfs/linux-pam.html">Linux-PAM</ulink>,
|
||||||
<ulink
|
<ulink
|
||||||
url="&blfs-book;general/python-modules.html#lxml">lxml</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/make-ca.html">make-ca</ulink>,
|
||||||
<ulink url="&blfs-book;postlfs/p11-kit.html">p11-kit</ulink>,
|
<ulink url="&blfs-book;postlfs/p11-kit.html">p11-kit</ulink>,
|
||||||
<ulink url="&blfs-book;general/pcre2.html">PCRE2</ulink>,
|
<ulink url="&blfs-book;general/pcre2.html">PCRE2</ulink>,
|
||||||
@ -3266,7 +3266,7 @@
|
|||||||
<segtitle>&external;</segtitle>
|
<segtitle>&external;</segtitle>
|
||||||
<seglistitem>
|
<seglistitem>
|
||||||
<seg>
|
<seg>
|
||||||
<ulink url="http://lz4.github.io/lz4/">LZ4</ulink>
|
<ulink url="https://lz4.github.io/lz4/">LZ4</ulink>
|
||||||
</seg>
|
</seg>
|
||||||
</seglistitem>
|
</seglistitem>
|
||||||
</segmentedlist>
|
</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>
|
2022-07-23 Thomas Trepl <thomas@linuxfromscratch.org>
|
||||||
* Mark an raid array clean when root (/) has been remounted
|
* Mark an raid array clean when root (/) has been remounted
|
||||||
r/o when system goes down. Otherwise, array does remain
|
r/o when system goes down. Otherwise, array does remain
|
||||||
|
@ -38,8 +38,8 @@ case "${1}" in
|
|||||||
mount /run || failed=1
|
mount /run || failed=1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
mkdir -p /run/lock /run/shm
|
mkdir -p /run/lock
|
||||||
chmod 1777 /run/shm /run/lock
|
chmod 1777 /run/lock
|
||||||
|
|
||||||
log_info_msg "Mounting virtual file systems: ${INFO}/run"
|
log_info_msg "Mounting virtual file systems: ${INFO}/run"
|
||||||
|
|
||||||
@ -58,7 +58,9 @@ case "${1}" in
|
|||||||
mount -o mode=0755,nosuid /dev || failed=1
|
mount -o mode=0755,nosuid /dev || failed=1
|
||||||
fi
|
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})
|
(exit ${failed})
|
||||||
evaluate_retval
|
evaluate_retval
|
||||||
|
@ -8,23 +8,23 @@
|
|||||||
# Version : 00.00
|
# Version : 00.00
|
||||||
#
|
#
|
||||||
# Notes : The syntax of this file is as follows:
|
# Notes : The syntax of this file is as follows:
|
||||||
# if type is equal to "file" or "dir"
|
# if type is equal to "file" or "dir"
|
||||||
# <filename> <type> <permissions> <user> <group>
|
# <filename> <type> <permissions> <user> <group>
|
||||||
# if type is equal to "dev"
|
# if type is equal to "dev"
|
||||||
# <filename> <type> <permissions> <user> <group> <devtype>
|
# <filename> <type> <permissions> <user> <group> <devtype>
|
||||||
# <major> <minor>
|
# <major> <minor>
|
||||||
#
|
#
|
||||||
# <filename> is the name of the file which is to be created
|
# <filename> is the name of the file which is to be created
|
||||||
# <type> is either file, dir, or dev.
|
# <type> is either file, dir, or dev.
|
||||||
# file creates a new file
|
# file creates a new file
|
||||||
# dir creates a new directory
|
# dir creates a new directory
|
||||||
# dev creates a new device
|
# dev creates a new device
|
||||||
# <devtype> is either block, char or pipe
|
# <devtype> is either block, char or pipe
|
||||||
# block creates a block device
|
# block creates a block device
|
||||||
# char creates a character deivce
|
# char creates a character deivce
|
||||||
# pipe creates a pipe, this will ignore the <major> and
|
# pipe creates a pipe, this will ignore the <major> and
|
||||||
# <minor> fields
|
# <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.
|
# the device.
|
||||||
########################################################################
|
########################################################################
|
||||||
|
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
# Version : 00.00
|
# Version : 00.00
|
||||||
#
|
#
|
||||||
# Notes : The syntax of this file is as follows:
|
# 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
|
# 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
|
# 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.
|
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>
|
<listitem>
|
||||||
<para>2022-09-01</para>
|
<para>2022-09-01</para>
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
|
@ -46,7 +46,7 @@
|
|||||||
important issues you need be aware of before beginning to
|
important issues you need be aware of before beginning to
|
||||||
work your way through <xref linkend="chapter-cross-tools"/> and beyond.</para>
|
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
|
the initial tool chain, (binutils, gcc, and glibc) using cross compilation
|
||||||
techniques to isolate the new tools from the host system.</para>
|
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
|
seem excessive. A full technical explanation as to why this is done is
|
||||||
provided in <xref linkend="ch-tools-toolchaintechnotes"/>.</para>
|
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
|
full LFS system is built. Another advantage provided by the chroot
|
||||||
environment is that it allows you to continue using the host system
|
environment is that it allows you to continue using the host system
|
||||||
while LFS is being built. While waiting for package compilations to
|
while LFS is being built. While waiting for package compilations to
|
||||||
|
@ -44,9 +44,9 @@
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>Bc &bc-version;</para>
|
<para>Bc &bc-version;</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<!--<listitem>
|
||||||
<para>Binutils-&binutils-version;</para>
|
<para>Binutils-&binutils-version;</para>
|
||||||
</listitem>
|
</listitem>-->
|
||||||
<!--<listitem>
|
<!--<listitem>
|
||||||
<para>Bison-&bison-version;</para>
|
<para>Bison-&bison-version;</para>
|
||||||
</listitem>-->
|
</listitem>-->
|
||||||
@ -56,21 +56,21 @@
|
|||||||
<!--<listitem>
|
<!--<listitem>
|
||||||
<para>Check-&check-version;</para>
|
<para>Check-&check-version;</para>
|
||||||
</listitem>-->
|
</listitem>-->
|
||||||
<listitem>
|
<!--<listitem>
|
||||||
<para>Coreutils-&coreutils-version;</para>
|
<para>Coreutils-&coreutils-version;</para>
|
||||||
</listitem>
|
</listitem>-->
|
||||||
<!--<listitem>
|
<!--<listitem>
|
||||||
<para>DejaGNU-&dejagnu-version;</para>
|
<para>DejaGNU-&dejagnu-version;</para>
|
||||||
</listitem>-->
|
</listitem>-->
|
||||||
<listitem revision="systemd">
|
<!--<listitem revision="systemd">
|
||||||
<para>D-Bus-&dbus-version;</para>
|
<para>D-Bus-&dbus-version;</para>
|
||||||
</listitem>
|
</listitem>-->
|
||||||
<!--<listitem>
|
<!--<listitem>
|
||||||
<para>Diffutils-&diffutils-version;</para>
|
<para>Diffutils-&diffutils-version;</para>
|
||||||
</listitem>-->
|
</listitem>-->
|
||||||
<listitem>
|
<!--<listitem>
|
||||||
<para>E2fsprogs-&e2fsprogs-version;</para>
|
<para>E2fsprogs-&e2fsprogs-version;</para>
|
||||||
</listitem>
|
</listitem>-->
|
||||||
<!--<listitem revision="sysv">
|
<!--<listitem revision="sysv">
|
||||||
<para>Eudev-&eudev-version;</para>
|
<para>Eudev-&eudev-version;</para>
|
||||||
</listitem>-->
|
</listitem>-->
|
||||||
@ -89,81 +89,81 @@
|
|||||||
<!--<listitem>
|
<!--<listitem>
|
||||||
<para>Flex-&flex-version;</para>
|
<para>Flex-&flex-version;</para>
|
||||||
</listitem>-->
|
</listitem>-->
|
||||||
<!--<listitem>
|
|
||||||
<para>Gawk-&gawk-version;</para>
|
|
||||||
</listitem>-->
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>GCC-&gcc-version;</para>
|
<para>Gawk-&gawk-version;</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
<!--<listitem>
|
||||||
|
<para>GCC-&gcc-version;</para>
|
||||||
|
</listitem>-->
|
||||||
<!--<listitem>
|
<!--<listitem>
|
||||||
<para>GDBM-&gdbm-version;</para>
|
<para>GDBM-&gdbm-version;</para>
|
||||||
</listitem>-->
|
</listitem>-->
|
||||||
<!--<listitem>
|
<!--<listitem>
|
||||||
<para>Gettext-&gettext-version;</para>
|
<para>Gettext-&gettext-version;</para>
|
||||||
</listitem>-->
|
</listitem>-->
|
||||||
<listitem>
|
<!--<listitem>
|
||||||
<para>Glibc-&glibc-version;</para>
|
<para>Glibc-&glibc-version;</para>
|
||||||
</listitem>
|
</listitem>-->
|
||||||
<!--<listitem>
|
<!--<listitem>
|
||||||
<para>GMP-&gmp-version;</para>
|
<para>GMP-&gmp-version;</para>
|
||||||
</listitem>-->
|
</listitem>-->
|
||||||
<!--<listitem>
|
<!--<listitem>
|
||||||
<para>Gperf-&gperf-version;</para>
|
<para>Gperf-&gperf-version;</para>
|
||||||
</listitem>-->
|
</listitem>-->
|
||||||
<!--<listitem>
|
<listitem>
|
||||||
<para>Grep-&grep-version;</para>
|
<para>Grep-&grep-version;</para>
|
||||||
</listitem>-->
|
</listitem>
|
||||||
<!--<listitem>
|
<!--<listitem>
|
||||||
<para>Groff-&groff-version;</para>
|
<para>Groff-&groff-version;</para>
|
||||||
</listitem>-->
|
</listitem>-->
|
||||||
<!--<listitem>
|
<!--<listitem>
|
||||||
<para>GRUB-&grub-version;</para>
|
<para>GRUB-&grub-version;</para>
|
||||||
</listitem>-->
|
</listitem>-->
|
||||||
<listitem>
|
<!--<listitem>
|
||||||
<para>Gzip-&gzip-version;</para>
|
<para>Gzip-&gzip-version;</para>
|
||||||
</listitem>
|
</listitem>-->
|
||||||
<listitem>
|
<!--<listitem>
|
||||||
<para>IANA-Etc-&iana-etc-version;</para>
|
<para>IANA-Etc-&iana-etc-version;</para>
|
||||||
</listitem>
|
</listitem>-->
|
||||||
<listitem>
|
<!--<listitem>
|
||||||
<para>Inetutils-&inetutils-version;</para>
|
<para>Inetutils-&inetutils-version;</para>
|
||||||
</listitem>
|
</listitem>-->
|
||||||
<!--<listitem>
|
<!--<listitem>
|
||||||
<para>Intltool-&intltool-version;</para>
|
<para>Intltool-&intltool-version;</para>
|
||||||
</listitem>-->
|
</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>
|
<!--<listitem>
|
||||||
<para>Less-&less-version;</para>
|
<para>IPRoute2-&iproute2-version;</para>
|
||||||
</listitem>-->
|
</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>
|
<!--<listitem>
|
||||||
<para>LFS-Bootscripts-&lfs-bootscripts-version;</para>
|
<para>LFS-Bootscripts-&lfs-bootscripts-version;</para>
|
||||||
</listitem>-->
|
</listitem>-->
|
||||||
<listitem>
|
<!--<listitem>
|
||||||
<para>Libcap-&libcap-version;</para>
|
<para>Libcap-&libcap-version;</para>
|
||||||
</listitem>
|
</listitem>-->
|
||||||
<listitem>
|
<!--<listitem>
|
||||||
<para>Libelf-&elfutils-version; (from elfutils)</para>
|
<para>Libelf-&elfutils-version; (from elfutils)</para>
|
||||||
</listitem>
|
</listitem>-->
|
||||||
<!--<listitem>
|
<!--<listitem>
|
||||||
<para>Libffi-&libffi-version;</para>
|
<para>Libffi-&libffi-version;</para>
|
||||||
</listitem>-->
|
</listitem>-->
|
||||||
<listitem>
|
<!--<listitem>
|
||||||
<para>Libpipeline-&libpipeline-version;</para>
|
<para>Libpipeline-&libpipeline-version;</para>
|
||||||
</listitem>
|
</listitem>-->
|
||||||
<listitem>
|
<!--<listitem>
|
||||||
<para>Libtool-&libtool-version;</para>
|
<para>Libtool-&libtool-version;</para>
|
||||||
</listitem>
|
</listitem>-->
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Linux-&linux-version;</para>
|
<para>Linux-&linux-version;</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
@ -173,15 +173,15 @@
|
|||||||
<!--<listitem>
|
<!--<listitem>
|
||||||
<para>Make-&make-version;</para>
|
<para>Make-&make-version;</para>
|
||||||
</listitem>-->
|
</listitem>-->
|
||||||
<listitem>
|
<!--<listitem>
|
||||||
<para>Man-DB-&man-db-version;</para>
|
<para>Man-DB-&man-db-version;</para>
|
||||||
</listitem>
|
</listitem>-->
|
||||||
<!--<listitem>
|
<!--<listitem>
|
||||||
<para>Man-pages-&man-pages-version;</para>
|
<para>Man-pages-&man-pages-version;</para>
|
||||||
</listitem>-->
|
</listitem>-->
|
||||||
<listitem revision="systemd">
|
<!--<listitem revision="systemd">
|
||||||
<para>MarkupSafe-&markupsafe-version;</para>
|
<para>MarkupSafe-&markupsafe-version;</para>
|
||||||
</listitem>
|
</listitem>-->
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Meson-&meson-version;</para>
|
<para>Meson-&meson-version;</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
@ -197,24 +197,24 @@
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>Ninja-&ninja-version;</para>
|
<para>Ninja-&ninja-version;</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<!--<listitem>
|
||||||
<para>Openssl-&openssl-version;</para>
|
<para>Openssl-&openssl-version;</para>
|
||||||
</listitem>
|
</listitem>-->
|
||||||
<!--<listitem>
|
<!--<listitem>
|
||||||
<para>Patch-&patch-version;</para>
|
<para>Patch-&patch-version;</para>
|
||||||
</listitem>-->
|
</listitem>-->
|
||||||
<listitem>
|
<!--<listitem>
|
||||||
<para>Perl-&perl-version;</para>
|
<para>Perl-&perl-version;</para>
|
||||||
</listitem>
|
</listitem>-->
|
||||||
<!--<listitem>
|
<!--<listitem>
|
||||||
<para>Pkg-config-&pkgconfig-version;</para>
|
<para>Pkg-config-&pkgconfig-version;</para>
|
||||||
</listitem>-->
|
</listitem>-->
|
||||||
<listitem>
|
<!--<listitem>
|
||||||
<para>Procps-ng-&procps-ng-version;</para>
|
<para>Procps-ng-&procps-ng-version;</para>
|
||||||
</listitem>
|
</listitem>-->
|
||||||
<listitem>
|
<!--<listitem>
|
||||||
<para>Psmisc-&psmisc-version;</para>
|
<para>Psmisc-&psmisc-version;</para>
|
||||||
</listitem>
|
</listitem>-->
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Python-&python-version;</para>
|
<para>Python-&python-version;</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
@ -230,12 +230,12 @@
|
|||||||
<!--<listitem revision="sysv">
|
<!--<listitem revision="sysv">
|
||||||
<para>Sysklogd-&sysklogd-version;</para>
|
<para>Sysklogd-&sysklogd-version;</para>
|
||||||
</listitem>-->
|
</listitem>-->
|
||||||
<listitem revision="systemd">
|
<!--<listitem revision="systemd">
|
||||||
<para>Systemd-&systemd-version;</para>
|
<para>Systemd-&systemd-version;</para>
|
||||||
</listitem>
|
</listitem>-->
|
||||||
<listitem revision="sysv">
|
<!--<listitem revision="sysv">
|
||||||
<para>SysVinit-&sysvinit-version;</para>
|
<para>SysVinit-&sysvinit-version;</para>
|
||||||
</listitem>
|
</listitem>-->
|
||||||
<!--<listitem>
|
<!--<listitem>
|
||||||
<para>Tar-&tar-version;</para>
|
<para>Tar-&tar-version;</para>
|
||||||
</listitem>-->
|
</listitem>-->
|
||||||
@ -245,24 +245,24 @@
|
|||||||
<!--<listitem>
|
<!--<listitem>
|
||||||
<para>Texinfo-&texinfo-version;</para>
|
<para>Texinfo-&texinfo-version;</para>
|
||||||
</listitem>-->
|
</listitem>-->
|
||||||
<listitem>
|
<!--<listitem>
|
||||||
<para>Tzdata-&tzdata-version;</para>
|
<para>Tzdata-&tzdata-version;</para>
|
||||||
</listitem>
|
</listitem>-->
|
||||||
<listitem>
|
<!--<listitem>
|
||||||
<para>Util-Linux-&util-linux-version;</para>
|
<para>Util-Linux-&util-linux-version;</para>
|
||||||
</listitem>
|
</listitem>-->
|
||||||
<listitem>
|
<!--<listitem>
|
||||||
<para>Vim-&vim-version;</para>
|
<para>Vim-&vim-version;</para>
|
||||||
</listitem>
|
</listitem>-->
|
||||||
<!--<listitem>
|
<!--<listitem>
|
||||||
<para>XML-Parser-&xml-parser-version;</para>
|
<para>XML-Parser-&xml-parser-version;</para>
|
||||||
</listitem>-->
|
</listitem>-->
|
||||||
<listitem>
|
<!--<listitem>
|
||||||
<para>XZ-Utils-&xz-version;</para>
|
<para>XZ-Utils-&xz-version;</para>
|
||||||
</listitem>
|
</listitem>-->
|
||||||
<listitem>
|
<!--<listitem>
|
||||||
<para>Zlib-&zlib-version;</para>
|
<para>Zlib-&zlib-version;</para>
|
||||||
</listitem>
|
</listitem>-->
|
||||||
<!--<listitem>
|
<!--<listitem>
|
||||||
<para>Zstd-&zstd-version;</para>
|
<para>Zstd-&zstd-version;</para>
|
||||||
</listitem>-->
|
</listitem>-->
|
||||||
@ -280,33 +280,19 @@
|
|||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<title>Added:</title>
|
<title>Added:</title>
|
||||||
<listitem><para></para></listitem> <!-- satisfy build -->
|
<listitem><para></para></listitem> <!-- satisfy build -->
|
||||||
<listitem>
|
|
||||||
<para>Wheel-&wheel-version;</para>
|
<!--<listitem>
|
||||||
</listitem>
|
|
||||||
<!--
|
|
||||||
<listitem>
|
|
||||||
<para>&xz-upstream-fix-patch;</para>
|
<para>&xz-upstream-fix-patch;</para>
|
||||||
</listitem>
|
</listitem>-->
|
||||||
-->
|
|
||||||
<listitem>
|
|
||||||
<para>&zstd-upstream-fixes-patch;</para>
|
|
||||||
</listitem>
|
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
|
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<title>Removed:</title>
|
<title>Removed:</title>
|
||||||
<listitem><para></para></listitem> <!-- satisfy build -->
|
<listitem><para></para></listitem> <!-- satisfy build -->
|
||||||
|
|
||||||
<listitem>
|
<!--<listitem>
|
||||||
<para>perl-5.34.0-upstream_fixes-1.patch</para>
|
<para>perl-5.34.0-upstream_fixes-1.patch</para>
|
||||||
</listitem>
|
</listitem>-->
|
||||||
<listitem>
|
|
||||||
<para>systemd-250-kernel_5.17_fixes-1.patch</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>systemd-250-upstream_fixes-1.patch</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
|
|
||||||
</sect1>
|
</sect1>
|
||||||
|
@ -10,10 +10,19 @@
|
|||||||
|
|
||||||
<title>Creating a File System on the Partition</title>
|
<title>Creating a File System on the Partition</title>
|
||||||
|
|
||||||
<para>Now that a blank partition has been set up, the file system can be
|
<para>A partition is just a range of sectors on a disk drive, delimited by
|
||||||
created. LFS can use any file system recognized by the Linux kernel, but the
|
boundaries set in a partition table. Before the operating system can use
|
||||||
most common types are ext3 and ext4. The choice of file system can be
|
a blank partition, the partition must be formatted to contain a file
|
||||||
complex and depends on the characteristics of the files and the size of
|
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>
|
the partition. For example:</para>
|
||||||
|
|
||||||
<variablelist>
|
<variablelist>
|
||||||
@ -33,22 +42,22 @@
|
|||||||
</varlistentry>
|
</varlistentry>
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term>ext4</term>
|
<term>ext4</term>
|
||||||
<listitem><para>is the latest version of the ext file system family of
|
<listitem><para>is the latest version of the ext family of
|
||||||
partition types. It provides several new capabilities including
|
file systems. It provides several new capabilities including
|
||||||
nano-second timestamps, creation and use of very large files (16 TB), and
|
nano-second timestamps, creation and use of very large files
|
||||||
speed improvements.</para>
|
(up to 16 TB), and speed improvements.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
</variablelist>
|
</variablelist>
|
||||||
|
|
||||||
<para>Other file systems, including FAT32, NTFS, ReiserFS, JFS, and XFS are
|
<para>Other file systems, including FAT32, NTFS, ReiserFS, JFS, and XFS are
|
||||||
useful for specialized purposes. More information about these file systems
|
useful for specialized purposes. More information about these file systems,
|
||||||
can be found at <ulink
|
and many others, can be found at <ulink
|
||||||
url="http://en.wikipedia.org/wiki/Comparison_of_file_systems"/>.</para>
|
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
|
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>
|
<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
|
<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
|
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
|
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
|
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
|
by running 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
|
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
|
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
|
trying to edit a five gigabyte file. If swapping becomes a normal
|
||||||
occurrence, the best solution is to purchase more RAM for your
|
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
|
must be available for GRUB to use during installation of the boot
|
||||||
loader. This partition will normally be labeled 'BIOS Boot' if using
|
loader. This partition will normally be labeled 'BIOS Boot' if using
|
||||||
<command>fdisk</command> or have a code of <emphasis>EF02</emphasis> if
|
<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
|
<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
|
uses to boot the system. This is not necessarily the drive that holds
|
||||||
LFS root partition is located. Disks on a system may use different
|
the LFS root partition. The disks on a system may use different
|
||||||
partition table types. The requirement for this partition depends
|
partition table types. The necessity of the Grub Bios partition depends
|
||||||
only on the partition table type of the boot disk.</para></note>
|
only on the partition table type of the boot disk.</para></note>
|
||||||
</sect3>
|
</sect3>
|
||||||
|
|
||||||
@ -133,7 +133,7 @@
|
|||||||
<listitem><para>/boot – Highly recommended. Use this partition to
|
<listitem><para>/boot – Highly recommended. Use this partition to
|
||||||
store kernels and other booting information. To minimize potential boot
|
store kernels and other booting information. To minimize potential boot
|
||||||
problems with larger disks, make this the first physical partition on
|
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>
|
adequate.</para></listitem>
|
||||||
|
|
||||||
<listitem><para>/boot/efi – The EFI System Partition, which is
|
<listitem><para>/boot/efi – The EFI System Partition, which is
|
||||||
@ -150,41 +150,50 @@
|
|||||||
<filename class="directory">/bin</filename>,
|
<filename class="directory">/bin</filename>,
|
||||||
<filename class="directory">/lib</filename>, and
|
<filename class="directory">/lib</filename>, and
|
||||||
<filename class="directory">/sbin</filename> are symlinks to their
|
<filename class="directory">/sbin</filename> are symlinks to their
|
||||||
counterpart in <filename class="directory">/usr</filename>.
|
counterparts in <filename class="directory">/usr</filename>.
|
||||||
So <filename class="directory">/usr</filename> contains all binaries
|
So <filename class="directory">/usr</filename> contains all the binaries
|
||||||
needed for the system to run. For LFS a separate partition for
|
needed for the system to run. For LFS a separate partition for
|
||||||
<filename class="directory">/usr</filename> is normally not needed.
|
<filename class="directory">/usr</filename> is normally not needed.
|
||||||
If you need it anyway, you should make a partition large enough to
|
If you create it anyway, you should make a partition large enough to
|
||||||
fit all programs and libraries in the system. The root partition can be
|
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
|
very small (maybe just one gigabyte) in this configuration, so it's
|
||||||
suitable for a thin client or diskless workstation (where
|
suitable for a thin client or diskless workstation (where
|
||||||
<filename class="directory">/usr</filename> is mounted from a remote
|
<filename class="directory">/usr</filename> is mounted from a remote
|
||||||
server). However you should take care that an initramfs (not covered by
|
server). However, you should be aware that an initramfs (not covered by
|
||||||
LFS) will be needed to boot a system with separate
|
LFS) will be needed to boot a system with a separate
|
||||||
<filename class="directory">/usr</filename> partition.</para></listitem>
|
<filename class="directory">/usr</filename> partition.</para></listitem>
|
||||||
|
|
||||||
<listitem><para>/opt – This directory is most useful for
|
<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
|
be installed without embedding the files in the /usr hierarchy. If
|
||||||
used, 5 to 10 gigabytes is generally adequate.</para>
|
used, 5 to 10 gigabytes is generally adequate.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem><para>/tmp – A separate /tmp directory is rare, but
|
<listitem revision='sysv'><para>/tmp – A separate /tmp directory
|
||||||
useful if configuring a thin client. This partition, if used, will
|
is rare, but useful if configuring a thin client. This partition, if
|
||||||
usually not need to exceed a couple of gigabytes.</para></listitem>
|
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
|
<listitem><para>/usr/src – This partition is very
|
||||||
useful for providing a location to store BLFS source files and
|
useful for providing a location to store BLFS source files and
|
||||||
share them across LFS builds. It can also be used as a location
|
share them across LFS builds. It can also be used as a location
|
||||||
for building BLFS packages. A reasonably large partition of 30-50
|
for building BLFS packages. A reasonably large partition of 30-50
|
||||||
gigabytes allows plenty of room.</para></listitem>
|
gigabytes provides plenty of room.</para></listitem>
|
||||||
|
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
|
|
||||||
<para>Any separate partition that you want automatically mounted upon boot
|
<para>Any separate partition that you want automatically mounted when the
|
||||||
needs to be specified in the <filename>/etc/fstab</filename>. Details
|
system starts must be specified in the <filename>/etc/fstab</filename> file.
|
||||||
about how to specify partitions will be discussed in <xref
|
Details about how to specify partitions will be discussed in <xref
|
||||||
linkend="ch-bootable-fstab"/>. </para>
|
linkend="ch-bootable-fstab"/>.</para>
|
||||||
|
|
||||||
</sect3>
|
</sect3>
|
||||||
</sect2>
|
</sect2>
|
||||||
|
@ -36,7 +36,7 @@
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para><emphasis role="strong">Bison-2.7</emphasis> (/usr/bin/yacc
|
<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>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
|
@ -10,24 +10,23 @@
|
|||||||
|
|
||||||
<title>Mounting the New Partition</title>
|
<title>Mounting the New Partition</title>
|
||||||
|
|
||||||
<para>Now that a file system has been created, the partition needs to
|
<para>Now that a file system has been created, the partition must
|
||||||
be made accessible. In order to do this, the partition needs to be
|
be mounted so the host system can access it. This book assumes that
|
||||||
mounted at a chosen mount point. For the purposes of this book, it is
|
the file system is mounted at the directory specified by the
|
||||||
assumed that the file system is mounted under the directory specified by the
|
<envar>LFS</envar> environment variable described in the previous section.
|
||||||
<envar>LFS</envar> environment variable as described in the previous section.
|
|
||||||
</para>
|
</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
|
<screen role="nodump"><userinput>mkdir -pv $LFS
|
||||||
mount -v -t ext4 /dev/<replaceable><xxx></replaceable> $LFS</userinput></screen>
|
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>
|
partition.</para>
|
||||||
|
|
||||||
<para>If using multiple partitions for LFS (e.g., one for <filename
|
<para>If you are using multiple partitions for LFS (e.g., one for
|
||||||
class="directory">/</filename> and another for <filename
|
<filename class="directory">/</filename> and another for <filename
|
||||||
class="directory">/home</filename>), mount them using:</para>
|
class="directory">/home</filename>), mount them like this:</para>
|
||||||
|
|
||||||
<screen role="nodump"><userinput>mkdir -pv $LFS
|
<screen role="nodump"><userinput>mkdir -pv $LFS
|
||||||
mount -v -t ext4 /dev/<replaceable><xxx></replaceable> $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
|
<option>nodev</option> options). Run the <command>mount</command> command
|
||||||
without any parameters to see what options are set for the mounted LFS
|
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,
|
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,
|
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
|
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
|
the build process, or modify the host system's /etc/fstab file to automatically
|
||||||
remount it upon boot. For example:
|
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>
|
<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
|
<para>Replace <replaceable><zzz></replaceable> with the name of the
|
||||||
<systemitem class="filesystem">swap</systemitem> partition.</para>
|
<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>
|
download the packages.</para>
|
||||||
|
|
||||||
</sect1>
|
</sect1>
|
||||||
|
@ -34,7 +34,7 @@
|
|||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
<sect2>
|
<sect2>
|
||||||
<title>Chapter 5–6</title>
|
<title>Chapters 5–6</title>
|
||||||
|
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<listitem>
|
<listitem>
|
||||||
@ -44,8 +44,8 @@
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>These two chapters <emphasis>must</emphasis> be done as user
|
<para>These two chapters <emphasis>must</emphasis> be done as user
|
||||||
<systemitem class="username">lfs</systemitem>.
|
<systemitem class="username">lfs</systemitem>.
|
||||||
A <command>su - lfs</command> needs to be done before any task in these
|
A <command>su - lfs</command> command must be issued before any task in these
|
||||||
chapters. Failing to do that, you are at risk of installing packages to the
|
chapters. If you don't do that, you are at risk of installing packages to the
|
||||||
host, and potentially rendering it unusable.</para>
|
host, and potentially rendering it unusable.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
@ -54,13 +54,13 @@
|
|||||||
are critical. If there is any
|
are critical. If there is any
|
||||||
doubt about installing a package, ensure any previously expanded
|
doubt about installing a package, ensure any previously expanded
|
||||||
tarballs are removed, then re-extract the package files, and complete all
|
tarballs are removed, then re-extract the package files, and complete all
|
||||||
instructions in that section.</para>
|
the instructions in that section.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
<sect2>
|
<sect2>
|
||||||
<title>Chapter 7–10</title>
|
<title>Chapters 7–10</title>
|
||||||
|
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<listitem>
|
<listitem>
|
||||||
@ -69,7 +69,7 @@
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>A few operations, from <quote>Changing Ownership</quote> to
|
<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
|
<systemitem class="username">root</systemitem> user, with the LFS
|
||||||
environment variable set for the &root; user.</para>
|
environment variable set for the &root; user.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
@ -77,7 +77,7 @@
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para> When entering chroot, the LFS environment variable must be set
|
<para> When entering chroot, the LFS environment variable must be set
|
||||||
for <systemitem class="username">root</systemitem>. The LFS
|
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>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
|
@ -13,17 +13,17 @@
|
|||||||
<para>This chapter includes a list of packages that need to be downloaded in
|
<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
|
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
|
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
|
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
|
The newest package versions may also have problems that require
|
||||||
work-arounds. These work-arounds will be developed and stabilized in the
|
work-arounds. These work-arounds will be developed and stabilized in the
|
||||||
development version of the book.</para>
|
development version of the book.</para>
|
||||||
|
|
||||||
<para>For some packages, the release tarball and the (Git or SVN)
|
<para>For some packages, the release tarball and the (Git or SVN)
|
||||||
repository snapshot tarball for this release may be published with
|
repository snapshot tarball for that release may be published with
|
||||||
similar file name. A release tarball contains generated files (for
|
similar file names. A release tarball contains generated files (for
|
||||||
example, <command>configure</command> script generated by
|
example, a <command>configure</command> script generated by
|
||||||
<command>autoconf</command>), in addition to the contents of the
|
<command>autoconf</command>), in addition to the contents of the
|
||||||
corresponding repository snapshot. The book uses release tarballs
|
corresponding repository snapshot. The book uses release tarballs
|
||||||
whenever possible. Using a repository snapshot instead of a release
|
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
|
<para>Download locations may not always be accessible. If a download
|
||||||
location has changed since this book was published, Google (<ulink
|
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
|
most packages. If this search is unsuccessful, try one of the
|
||||||
alternative means of downloading at <ulink
|
alternative means of downloading at <ulink
|
||||||
url="&lfs-root;lfs/mirrors.html#files"/>. </para>
|
url="&lfs-root;lfs/mirrors.html#files"/>. </para>
|
||||||
@ -69,7 +69,7 @@
|
|||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>For stable versions of the book, a tarball of all the needed files
|
<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>
|
<ulink url="https://www.linuxfromscratch.org/mirrors.html#files"/>.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
|
@ -20,9 +20,9 @@
|
|||||||
reachable, you should read the security advisories first to figure out
|
reachable, you should read the security advisories first to figure out
|
||||||
if a newer version (with the vulnerability fixed) should be used. If
|
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
|
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
|
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
|
has been removed because of a vulnerability, it's not recommended to
|
||||||
use a release known to be vulnerable for building your system.</para>
|
use a release known to be vulnerable for building your system.</para>
|
||||||
</note>
|
</note>
|
||||||
|
|
||||||
<para>Download or otherwise obtain the following packages:</para>
|
<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>
|
<para>After use of the <systemitem class="username">lfs</systemitem>
|
||||||
user is finished at the beginning of <xref
|
user is finished at the beginning of <xref
|
||||||
linkend="chapter-chroot-temporary-tools"/>, you can restore
|
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
|
<para>Note that the LFS Bash package we will build in
|
||||||
<xref linkend="ch-system-bash"/> is not configured to load or execute
|
<xref linkend="ch-system-bash"/> is not configured to load or execute
|
||||||
|
@ -83,6 +83,8 @@ cd build</userinput></screen>
|
|||||||
--with-sysroot=$LFS \
|
--with-sysroot=$LFS \
|
||||||
--with-newlib \
|
--with-newlib \
|
||||||
--without-headers \
|
--without-headers \
|
||||||
|
--enable-default-pie \
|
||||||
|
--enable-default-ssp \
|
||||||
--disable-nls \
|
--disable-nls \
|
||||||
--disable-shared \
|
--disable-shared \
|
||||||
--disable-multilib \
|
--disable-multilib \
|
||||||
@ -128,6 +130,20 @@ cd build</userinput></screen>
|
|||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</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>
|
<varlistentry>
|
||||||
<term><parameter>--disable-shared</parameter></term>
|
<term><parameter>--disable-shared</parameter></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
|
@ -87,6 +87,8 @@ cd build</userinput></screen>
|
|||||||
LDFLAGS_FOR_TARGET=-L$PWD/$LFS_TGT/libgcc \
|
LDFLAGS_FOR_TARGET=-L$PWD/$LFS_TGT/libgcc \
|
||||||
--prefix=/usr \
|
--prefix=/usr \
|
||||||
--with-build-sysroot=$LFS \
|
--with-build-sysroot=$LFS \
|
||||||
|
--enable-default-pie \
|
||||||
|
--enable-default-ssp \
|
||||||
--disable-nls \
|
--disable-nls \
|
||||||
--disable-multilib \
|
--disable-multilib \
|
||||||
--disable-decimal-float \
|
--disable-decimal-float \
|
||||||
|
@ -18,10 +18,10 @@
|
|||||||
|
|
||||||
<screen><userinput>rm -rf /usr/share/{info,man,doc}/*</userinput></screen>
|
<screen><userinput>rm -rf /usr/share/{info,man,doc}/*</userinput></screen>
|
||||||
|
|
||||||
<para>Second, the libtool .la files are only useful when linking with static
|
<para>Second, on a modern Linux system, the libtool .la files are only
|
||||||
libraries. They are unneeded and potentially harmful when using dynamic
|
useful for libltdl. No libraries in LFS are expected to be loaded by
|
||||||
shared libraries, especially when using non-autotools build systems.
|
libltdl, and it's known that some .la files can cause BLFS packages
|
||||||
While still in chroot, remove those files now:</para>
|
fail to build. Remove those files now:</para>
|
||||||
|
|
||||||
<screen><userinput>find /usr/{lib,libexec} -name \*.la -delete</userinput></screen>
|
<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>
|
<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>
|
umount $LFS/{sys,proc,run,dev}</userinput></screen>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
|
@ -48,8 +48,8 @@
|
|||||||
as well:</para>
|
as well:</para>
|
||||||
|
|
||||||
<screen><userinput>cat > /etc/hosts << EOF
|
<screen><userinput>cat > /etc/hosts << EOF
|
||||||
127.0.0.1 localhost $(hostname)
|
<literal>127.0.0.1 localhost $(hostname)
|
||||||
::1 localhost
|
::1 localhost</literal>
|
||||||
EOF</userinput></screen>
|
EOF</userinput></screen>
|
||||||
|
|
||||||
<para>In order for user <systemitem class="username">root</systemitem> to be
|
<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
|
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
|
distributions. In addition, some test suites rely on specific users or
|
||||||
groups. The Linux Standard Base (LSB, available at <ulink
|
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
|
besides the group <systemitem class="groupname">root</systemitem> with a
|
||||||
Group ID (GID) of 0, a group <systemitem class="groupname">bin</systemitem>
|
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
|
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
|
The /run tmpfs was mounted above so in this case only a
|
||||||
directory needs to be created.</para>
|
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
|
<screen><userinput>if [ -h $LFS/dev/shm ]; then
|
||||||
mkdir -pv $LFS/$(readlink $LFS/dev/shm)
|
mkdir -pv $LFS/$(readlink $LFS/dev/shm)
|
||||||
|
else
|
||||||
|
mount -t tmpfs -o nosuid,nodev tmpfs $LFS/dev/shm
|
||||||
fi</userinput></screen>
|
fi</userinput></screen>
|
||||||
|
|
||||||
</sect2>
|
</sect2>
|
||||||
|
@ -167,13 +167,24 @@ cd build</userinput></screen>
|
|||||||
condition.
|
condition.
|
||||||
</para>
|
</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>
|
<para>Install the package:</para>
|
||||||
|
|
||||||
<screen><userinput remap="install">make tooldir=/usr install</userinput></screen>
|
<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>
|
</sect2>
|
||||||
|
|
||||||
|
@ -16,10 +16,10 @@
|
|||||||
|
|
||||||
<para>There are also several files installed in the /usr/lib and /usr/libexec
|
<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"
|
directories with a file name extension of .la. These are "libtool archive"
|
||||||
files. As already said, they are only useful when linking with static
|
files. As already said, on a modern Linux system the libtool .la files are
|
||||||
libraries. They are unneeded, and potentially harmful, when using dynamic
|
only useful for libltdl. No libraries in LFS are expected to be loaded
|
||||||
shared libraries, specially when using also non-autotools build systems.
|
by libltdl, and it's known that some .la files can cause BLFS packages
|
||||||
To remove them, run:</para>
|
fail to build. Remove those files now:</para>
|
||||||
|
|
||||||
<screen><userinput>find /usr/lib /usr/libexec -name \*.la -delete</userinput></screen>
|
<screen><userinput>find /usr/lib /usr/libexec -name \*.la -delete</userinput></screen>
|
||||||
|
|
||||||
|
@ -39,16 +39,12 @@
|
|||||||
|
|
||||||
<sect2 role="installation">
|
<sect2 role="installation">
|
||||||
<title>Installation of Eudev</title>
|
<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>
|
<para>Prepare Eudev for compilation:</para>
|
||||||
|
|
||||||
|
@ -44,6 +44,10 @@
|
|||||||
|
|
||||||
<screen><userinput remap="pre">sed -i 's/extras//' Makefile.in</userinput></screen>
|
<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>
|
<para>Prepare Gawk for compilation:</para>
|
||||||
|
|
||||||
<screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen>
|
<screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen>
|
||||||
|
@ -70,6 +70,8 @@ cd build</userinput></screen>
|
|||||||
<screen><userinput remap="configure">../configure --prefix=/usr \
|
<screen><userinput remap="configure">../configure --prefix=/usr \
|
||||||
LD=ld \
|
LD=ld \
|
||||||
--enable-languages=c,c++ \
|
--enable-languages=c,c++ \
|
||||||
|
--enable-default-pie \
|
||||||
|
--enable-default-ssp \
|
||||||
--disable-multilib \
|
--disable-multilib \
|
||||||
--disable-bootstrap \
|
--disable-bootstrap \
|
||||||
--with-system-zlib</userinput></screen>
|
--with-system-zlib</userinput></screen>
|
||||||
@ -100,13 +102,34 @@ cd build</userinput></screen>
|
|||||||
</varlistentry>
|
</varlistentry>
|
||||||
</variablelist>
|
</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>
|
<para>Compile the package:</para>
|
||||||
|
|
||||||
<screen><userinput remap="make">make</userinput></screen>
|
<screen><userinput remap="make">make</userinput></screen>
|
||||||
|
|
||||||
<important>
|
<important>
|
||||||
<para>In this section, the test suite for GCC is considered
|
<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
|
encouraged to not skip it. The time to run the tests can be
|
||||||
reduced significantly by adding -jx to the make command below
|
reduced significantly by adding -jx to the make command below
|
||||||
where x is the number of cores on your system.</para>
|
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
|
url="&test-results;"/> and
|
||||||
<ulink url="https://gcc.gnu.org/ml/gcc-testresults/"/>.</para>
|
<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
|
<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
|
as both XPASS and FAIL. It's because the test file for this known issue
|
||||||
is not well written.</para>
|
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>
|
<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>
|
<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/crti.o succeeded
|
||||||
/usr/lib/gcc/aarch64-unknown-linux-gnu/&gcc-version;/../../../../lib/crtn.o succeeded</computeroutput></screen>
|
/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>
|
<term><filename class="libraryfile">libssp</filename></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Contains routines supporting GCC's stack-smashing protection
|
<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">
|
<indexterm zone="ch-system-gcc libssp">
|
||||||
<primary sortas="c-libssp">libssp</primary>
|
<primary sortas="c-libssp">libssp</primary>
|
||||||
</indexterm>
|
</indexterm>
|
||||||
|
@ -62,7 +62,7 @@
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>Since bison is not yet installed in /usr, configure hardcodes
|
<para>Since bison is not yet installed in /usr, configure hardcodes
|
||||||
the directory containing translations for the bison program (the
|
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>
|
to make allows overriding the choice made by configure.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
@ -40,6 +40,13 @@
|
|||||||
<sect2 role="installation">
|
<sect2 role="installation">
|
||||||
<title>Installation of Grep</title>
|
<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>
|
<para>Prepare Grep for compilation:</para>
|
||||||
|
|
||||||
<screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen>
|
<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>
|
<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>
|
<screen><userinput remap="make">make</userinput></screen>
|
||||||
|
|
||||||
<para>This package does not come with a test suite.</para>
|
<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>
|
<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
|
<note><para>The test time for libtool can be reduced significantly on a
|
||||||
system with multiple cores. To do this, append
|
system with multiple cores. To do this, append
|
||||||
@ -61,8 +61,9 @@
|
|||||||
percent.</para></note>
|
percent.</para></note>
|
||||||
|
|
||||||
<para>Five tests are known to fail in the LFS build environment due
|
<para>Five tests are known to fail in the LFS build environment due
|
||||||
to a circular dependency, but all tests pass if rechecked after
|
to a circular dependency, but these tests pass if rechecked after
|
||||||
automake is installed.</para>
|
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>
|
<para>Install the package:</para>
|
||||||
|
|
||||||
|
@ -96,7 +96,7 @@ install -vDm644 data/shell-completions/zsh/_meson /usr/share/zsh/site-functions/
|
|||||||
<seglistitem>
|
<seglistitem>
|
||||||
<seg>meson</seg>
|
<seg>meson</seg>
|
||||||
<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
|
/usr/lib/python&python-minor;/site-packages/mesonbuild
|
||||||
</seg>
|
</seg>
|
||||||
</seglistitem>
|
</seglistitem>
|
||||||
@ -108,7 +108,7 @@ install -vDm644 data/shell-completions/zsh/_meson /usr/share/zsh/site-functions/
|
|||||||
<?dbhtml list-presentation="table"?>
|
<?dbhtml list-presentation="table"?>
|
||||||
|
|
||||||
<varlistentry id="meson">
|
<varlistentry id="meson">
|
||||||
<term><command>meson</command></term>
|
<term><command>meson</command></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>A high productivity build system</para>
|
<para>A high productivity build system</para>
|
||||||
<indexterm zone="ch-system-meson meson">
|
<indexterm zone="ch-system-meson meson">
|
||||||
|
@ -122,7 +122,7 @@
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<!-- To editors: crash of shell process was very rare but really
|
<!-- 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
|
how we handle libmozjs-xx.so in BLFS because bash needs it, and
|
||||||
make will spawn new shell processes during "make install". -->
|
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
|
in-place. It may crash the shell process which is using code and data
|
||||||
from the library file. Install the package with
|
from the library file. Install the package with
|
||||||
<literal>DESTDIR</literal>, and replace the library file correctly using
|
<literal>DESTDIR</literal>, and replace the library file correctly using
|
||||||
<command>install</command> command. A useless static archive which is
|
<command>install</command> command:</para>
|
||||||
not handled by <command>configure</command> is also removed:</para>
|
|
||||||
|
|
||||||
<screen><userinput remap="install">make DESTDIR=$PWD/dest install
|
<screen><userinput remap="install">make DESTDIR=$PWD/dest install
|
||||||
install -vm755 dest/usr/lib/libncursesw.so.&ncurses-version; /usr/lib
|
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,
|
libformw.so,
|
||||||
libmenuw.so,
|
libmenuw.so,
|
||||||
libncursesw.so,
|
libncursesw.so,
|
||||||
|
libncurses++w.so,
|
||||||
libpanelw.so, and their non-wide-character counterparts without "w"
|
libpanelw.so, and their non-wide-character counterparts without "w"
|
||||||
in the library names.</seg>
|
in the library names.</seg>
|
||||||
<seg>
|
<seg>
|
||||||
@ -366,6 +366,16 @@ cp -av lib/lib*.so.5* /usr/lib</userinput></screen>
|
|||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</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">
|
<varlistentry id="libformw">
|
||||||
<term><filename class="libraryfile">libformw</filename></term>
|
<term><filename class="libraryfile">libformw</filename></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
|
@ -43,7 +43,7 @@
|
|||||||
<sect2 role="installation">
|
<sect2 role="installation">
|
||||||
<title>Installation of OpenSSL</title>
|
<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>
|
capability:</para>
|
||||||
|
|
||||||
<screen><userinput remap="pre">sed -e '/bn_reduce.*m1/i\ factor_size /= sizeof(BN_ULONG) * 8;' \
|
<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
|
<para>This approach is used by most of the package managers found in the
|
||||||
commercial distributions. Examples of package managers that follow this
|
commercial distributions. Examples of package managers that follow this
|
||||||
approach are RPM (which, incidentally, is required by the <ulink
|
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
|
Standard Base Specification</ulink>), pkg-utils, Debian's apt, and
|
||||||
Gentoo's Portage system. A hint describing how to adopt this style of
|
Gentoo's Portage system. A hint describing how to adopt this style of
|
||||||
package management for LFS systems is located at <ulink
|
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
|
archives. This system purposely does not handle package dependencies
|
||||||
as more complex package managers do. For details of Slackware package
|
as more complex package managers do. For details of Slackware package
|
||||||
management, see <ulink
|
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>
|
||||||
|
|
||||||
<sect3>
|
<sect3>
|
||||||
|
@ -116,10 +116,10 @@
|
|||||||
well. If desired, suppress these warnings by running the following
|
well. If desired, suppress these warnings by running the following
|
||||||
commands:</para>
|
commands:</para>
|
||||||
|
|
||||||
<screen><userinput remap="install">cat > /etc/pip.conf << EOF
|
<screen><userinput remap="install">cat > /etc/pip.conf << EOF
|
||||||
[global]
|
<literal>[global]
|
||||||
root-user-action = ignore
|
root-user-action = ignore
|
||||||
disable-pip-version-check = true
|
disable-pip-version-check = true</literal>
|
||||||
EOF
|
EOF
|
||||||
</userinput></screen>
|
</userinput></screen>
|
||||||
<!--
|
<!--
|
||||||
|
@ -63,9 +63,9 @@ sed -i '/{OLDSUFF}/c:' support/shlib-install</userinput></screen>
|
|||||||
<term><parameter>--with-curses</parameter></term>
|
<term><parameter>--with-curses</parameter></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>This option tells Readline that it can find the termcap
|
<para>This option tells Readline that it can find the termcap
|
||||||
library functions in the curses library, rather than a separate
|
library functions in the curses library, rather than a separate
|
||||||
termcap library. It allows generating a correct
|
termcap library. It allows generating a correct
|
||||||
<filename>readline.pc</filename> file.</para>
|
<filename>readline.pc</filename> file.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
|
@ -100,7 +100,7 @@
|
|||||||
<screen><userinput remap="test">chown -Rv tester .
|
<screen><userinput remap="test">chown -Rv tester .
|
||||||
su tester -c "make -k check"</userinput></screen>
|
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>
|
does not have the option CONFIG_CRYPTO_USER_API_HASH set.</para>
|
||||||
|
|
||||||
<para>Install the package:</para>
|
<para>Install the package:</para>
|
||||||
|
@ -167,11 +167,13 @@ EOF</userinput></screen>
|
|||||||
|
|
||||||
<note>
|
<note>
|
||||||
<para>By default, vim only installs spell files for the English language.
|
<para>By default, vim only installs spell files for the English language.
|
||||||
To install spell files for your preferred language, download the
|
To install spell files for your preferred language, copy the
|
||||||
<filename>*.spl</filename> and optionally, the <filename>*.sug</filename>
|
<filename class='extension'>.spl</filename> and optionally, the
|
||||||
files for your language and character encoding from <ulink
|
<filename class='extension'>.sug</filename> files for your language
|
||||||
url="ftp://ftp.vim.org/pub/vim/runtime/spell/"/> and save them to
|
and character encoding from
|
||||||
<filename class='directory'>/usr/share/&vim-docdir;/spell/</filename>.</para>
|
<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
|
<para>To use these spell files, some configuration in
|
||||||
<filename>/etc/vimrc</filename> is needed, e.g.:</para>
|
<filename>/etc/vimrc</filename> is needed, e.g.:</para>
|
||||||
@ -179,8 +181,8 @@ EOF</userinput></screen>
|
|||||||
<screen><literal>set spelllang=en,ru
|
<screen><literal>set spelllang=en,ru
|
||||||
set spell</literal></screen>
|
set spell</literal></screen>
|
||||||
|
|
||||||
<para>For more information, see the appropriate README file located
|
<para>For more information, see
|
||||||
at the URL above.</para>
|
<filename>runtime/spell/README.txt</filename>.</para>
|
||||||
</note>
|
</note>
|
||||||
|
|
||||||
</sect2>
|
</sect2>
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
<filename>/etc/vconsole.conf</filename> file for configuration
|
<filename>/etc/vconsole.conf</filename> file for configuration
|
||||||
information. Decide which keymap and screen font will be used. Various
|
information. Decide which keymap and screen font will be used. Various
|
||||||
language-specific HOWTOs can also help with this, see <ulink
|
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
|
Examine the output of <command>localectl list-keymaps</command> for a list of
|
||||||
valid console keymaps. Look in the
|
valid console keymaps. Look in the
|
||||||
<filename class="directory">/usr/share/consolefonts</filename>
|
<filename class="directory">/usr/share/consolefonts</filename>
|
||||||
|
@ -46,7 +46,7 @@ EOF</userinput></screen>
|
|||||||
|
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
<sect2>
|
<sect2 id='systemd-no-tmpfs'>
|
||||||
<title>Disabling tmpfs for /tmp</title>
|
<title>Disabling tmpfs for /tmp</title>
|
||||||
|
|
||||||
<para>By default, <filename class="directory">/tmp</filename> is created as
|
<para>By default, <filename class="directory">/tmp</filename> is created as
|
||||||
|
@ -325,7 +325,7 @@
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>The <systemitem class="filesystem">sysfs</systemitem> Filesystem
|
<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>
|
</listitem>
|
||||||
|
|
||||||
<!-- No longer available
|
<!-- No longer available
|
||||||
|
@ -43,8 +43,8 @@
|
|||||||
|
|
||||||
<note>
|
<note>
|
||||||
<para>
|
<para>
|
||||||
Classically, run level 2 above was defined as
|
Classically, run level 2 above was defined as
|
||||||
"multi-user mode without networking", but this was only the case
|
"multi-user mode without networking", but this was only the case
|
||||||
many years ago when multiple users could log into a system connected via
|
many years ago when multiple users could log into a system connected via
|
||||||
serial ports. In today's environment it makes no sense and
|
serial ports. In today's environment it makes no sense and
|
||||||
we designate it now as "reserved".
|
we designate it now as "reserved".
|
||||||
@ -166,7 +166,7 @@ EOF</userinput></screen>
|
|||||||
<parameter>stop</parameter> to stop something. The logic behind this
|
<parameter>stop</parameter> to stop something. The logic behind this
|
||||||
is that when a user is going to reboot or halt the system, nothing
|
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.
|
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
|
run before any <emphasis>S</emphasis> prefixed scripts are run with the
|
||||||
<parameter>stop</parameter> parameter.
|
<parameter>stop</parameter> parameter.
|
||||||
</para>
|
</para>
|
||||||
@ -334,7 +334,7 @@ EOF</userinput></screen>
|
|||||||
<filename>/etc/sysconfig/console</filename> file for configuration
|
<filename>/etc/sysconfig/console</filename> file for configuration
|
||||||
information. Decide which keymap and screen font will be used. Various
|
information. Decide which keymap and screen font will be used. Various
|
||||||
language-specific HOWTOs can also help with this, see <ulink
|
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>
|
doubt, look in the <filename class="directory">/usr/share/keymaps</filename>
|
||||||
and <filename class="directory">/usr/share/consolefonts</filename> directories
|
and <filename class="directory">/usr/share/consolefonts</filename> directories
|
||||||
for valid keymaps and screen fonts. Read <filename>loadkeys(1)</filename> and
|
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
|
devpts /dev/pts devpts gid=5,mode=620 0 0
|
||||||
tmpfs /run tmpfs defaults 0 0
|
tmpfs /run tmpfs defaults 0 0
|
||||||
devtmpfs /dev devtmpfs mode=0755,nosuid 0 0
|
devtmpfs /dev devtmpfs mode=0755,nosuid 0 0
|
||||||
|
tmpfs /dev/shm tmpfs nosuid,nodev 0 0
|
||||||
|
|
||||||
# End /etc/fstab</literal>
|
# End /etc/fstab</literal>
|
||||||
EOF</userinput></screen>
|
EOF</userinput></screen>
|
||||||
|
@ -105,19 +105,30 @@
|
|||||||
<para>Be sure to enable/disable/set the following features or the system might
|
<para>Be sure to enable/disable/set the following features or the system might
|
||||||
not work correctly or boot at all:</para>
|
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]
|
[ ] Compile the kernel with warnings as errors [CONFIG_WERROR]
|
||||||
< > Enable kernel headers through /sys/kernel/kheaders.tar.xz [CONFIG_IKHEADERS]
|
< > 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 --->
|
Device Drivers --->
|
||||||
Graphics support --->
|
Graphics support --->
|
||||||
Frame buffer Devices --->
|
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 --->
|
Generic Driver Options --->
|
||||||
[ ] Support for uevent helper [CONFIG_UEVENT_HELPER]
|
[ ] Support for uevent helper [CONFIG_UEVENT_HELPER]
|
||||||
[*] Maintain a devtmpfs filesystem to mount at /dev [CONFIG_DEVTMPFS]
|
[*] Maintain a devtmpfs filesystem to mount at /dev [CONFIG_DEVTMPFS]
|
||||||
[*] Automount devtmpfs at /dev, after the kernel mounted the rootfs [CONFIG_DEVTMPFS_MOUNT]</screen>
|
[*] 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]
|
[ ] Compile the kernel with warnings as errors [CONFIG_WERROR]
|
||||||
[ ] Auditing Support [CONFIG_AUDIT]
|
[ ] Auditing Support [CONFIG_AUDIT]
|
||||||
CPU/Task time and stats accounting --->
|
CPU/Task time and stats accounting --->
|
||||||
@ -130,6 +141,8 @@ Device Drivers --->
|
|||||||
[*] open by fhandle syscalls [CONFIG_FHANDLE]
|
[*] open by fhandle syscalls [CONFIG_FHANDLE]
|
||||||
General architecture-dependent options --->
|
General architecture-dependent options --->
|
||||||
[*] Enable seccomp to safely compute untrusted bytecode [CONFIG_SECCOMP]
|
[*] 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 support --->
|
||||||
Networking options --->
|
Networking options --->
|
||||||
<*> The IPv6 protocol [CONFIG_IPV6]
|
<*> The IPv6 protocol [CONFIG_IPV6]
|
||||||
@ -145,16 +158,12 @@ Device Drivers --->
|
|||||||
Graphics support --->
|
Graphics support --->
|
||||||
Frame buffer Devices --->
|
Frame buffer Devices --->
|
||||||
<*> Support for frame buffer devices --->
|
<*> Support for frame buffer devices --->
|
||||||
|
Console display driver support --->
|
||||||
|
[*] Framebuffer Console support [CONFIG_FRAMEBUFFER_CONSOLE]
|
||||||
File systems --->
|
File systems --->
|
||||||
[*] Inotify support for userspace [CONFIG_INOTIFY_USER]
|
[*] Inotify support for userspace [CONFIG_INOTIFY_USER]
|
||||||
Pseudo filesystems --->
|
Pseudo filesystems --->
|
||||||
[*] Tmpfs POSIX Access Control Lists [CONFIG_TMPFS_POSIX_ACL]</screen>
|
[*] 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>
|
||||||
|
|
||||||
<note revision="systemd">
|
<note revision="systemd">
|
||||||
@ -179,6 +188,14 @@ File systems --->
|
|||||||
<variablelist>
|
<variablelist>
|
||||||
<title>The rationale for the above configuration items:</title>
|
<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>
|
<varlistentry>
|
||||||
<term>
|
<term>
|
||||||
<parameter>
|
<parameter>
|
||||||
@ -204,6 +221,16 @@ File systems --->
|
|||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</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>
|
<varlistentry>
|
||||||
<term><parameter>Support for uevent helper</parameter></term>
|
<term><parameter>Support for uevent helper</parameter></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
@ -232,12 +259,16 @@ File systems --->
|
|||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term><parameter>Enable userfaultfd() system call</parameter></term>
|
<term><parameter>Framebuffer Console support</parameter></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>If this option is enabled, a security vulnerability not
|
<para>This is needed to display the Linux console on a frame
|
||||||
resolved in Linux-&linux-version; yet will be exploitable.
|
buffer device. To allow the kernel to print debug messages at an
|
||||||
Disable this option to avoid the vulnerability. This system call
|
early boot stage, it shouldn't be built as a kernel module
|
||||||
is not used by any part of LFS or BLFS.</para>
|
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>
|
</listitem>
|
||||||
</varlistentry>
|
</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="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="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="whatnow.xml"/>
|
||||||
|
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="afterlfs.xml"/>
|
||||||
|
|
||||||
</chapter>
|
</chapter>
|
||||||
|
@ -9,17 +9,22 @@
|
|||||||
<?dbhtml filename="reboot.html"?>
|
<?dbhtml filename="reboot.html"?>
|
||||||
|
|
||||||
<title>Rebooting the System</title>
|
<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
|
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
|
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
|
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
|
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>
|
once you reboot into your new LFS installation. Here are some suggestions:</para>
|
||||||
|
-->
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
|
<!--
|
||||||
<listitem><para>A text mode browser such as <ulink
|
<listitem><para>A text mode browser such as <ulink
|
||||||
url='&blfs-book;basicnet/lynx.html'>Lynx</ulink>
|
url='&blfs-book;basicnet/lynx.html'>Lynx</ulink>
|
||||||
will allow you to easily view the BLFS book in one virtual terminal, while
|
will allow you to easily view the BLFS book in one virtual terminal, while
|
||||||
@ -60,14 +65,21 @@
|
|||||||
install <ulink
|
install <ulink
|
||||||
url='&blfs-book;basicnet/wpa_supplicant.html'>wpa_supplicant</ulink>.
|
url='&blfs-book;basicnet/wpa_supplicant.html'>wpa_supplicant</ulink>.
|
||||||
</para></listitem>
|
</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
|
<listitem>
|
||||||
url='&blfs-book;postlfs/firmware.html'>firmwares</ulink> if the kernel
|
<para>
|
||||||
driver for your hardware require some firmware to function properly.
|
A review of the following configuration files
|
||||||
</para></listitem>
|
is also appropriate at this point.
|
||||||
|
</para>
|
||||||
<listitem><para>Finally, a review of the following configuration files
|
|
||||||
is also appropriate at this point.</para>
|
|
||||||
|
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<listitem><para>/etc/bashrc </para></listitem>
|
<listitem><para>/etc/bashrc </para></listitem>
|
||||||
@ -86,14 +98,11 @@
|
|||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
|
|
||||||
<para>Now that we have said that, let's move on to booting our shiny new LFS
|
<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>
|
<screen><userinput>logout</userinput></screen>
|
||||||
<!-- We need to show the user the details...
|
<!-- We need to show the user the details...-->
|
||||||
<para>Unmount the LFS file system hierarchy:</para>
|
|
||||||
|
|
||||||
<screen><userinput>umount -Rv $LFS</userinput></screen>
|
|
||||||
-->
|
|
||||||
|
|
||||||
<para>Then unmount the virtual file systems:</para>
|
<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
|
<para>If multiple partitions were created, unmount the other
|
||||||
partitions before unmounting the main one, like this:</para>
|
partitions before unmounting the main one, like this:</para>
|
||||||
|
|
||||||
<screen role="nodump"><userinput>umount -v $LFS/usr
|
<screen role="nodump"><userinput>umount -v $LFS/home
|
||||||
umount -v $LFS/home
|
|
||||||
umount -v $LFS</userinput></screen>
|
umount -v $LFS</userinput></screen>
|
||||||
|
|
||||||
<para>Unmount the LFS file system itself:</para>
|
<para>Unmount the LFS file system itself:</para>
|
||||||
|
|
||||||
<screen role="nodump"><userinput>umount -v $LFS</userinput></screen>
|
<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
|
<para>Assuming the GRUB boot loader was set up as outlined earlier, the menu
|
||||||
is set to boot <emphasis>LFS &version;</emphasis> automatically.</para>
|
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>"
|
VERSION_CODENAME="<your name here>"
|
||||||
EOF</userinput></screen>
|
EOF</userinput></screen>
|
||||||
|
|
||||||
<para>Be sure to put some sort of customization for the fields
|
<para>Be sure to customize the fields 'DISTRIB_CODENAME' and
|
||||||
'DISTRIB_CODENAME' and 'VERSION_CODENAME' to make the system uniquely
|
'VERSION_CODENAME' to make the system uniquely yours.</para>
|
||||||
yours.</para>
|
|
||||||
|
|
||||||
</sect1>
|
</sect1>
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
<sect1 id="ch-finish-whatnow">
|
<sect1 id="ch-finish-whatnow">
|
||||||
<?dbhtml filename="whatnow.html"?>
|
<?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
|
<para>Thank you for reading this LFS book. We hope that you have
|
||||||
found this book helpful and have learned more about the system
|
found this book helpful and have learned more about the system
|
||||||
@ -31,27 +31,23 @@
|
|||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para><ulink url="http://www.cert.org/">CERT</ulink> (Computer
|
<para><ulink url="&lfs-root;lfs/advisories/">LFS Security Advisories</ulink></para>
|
||||||
Emergency Response Team)</para>
|
|
||||||
|
|
||||||
<para>CERT has a mailing list that publishes security alerts concerning
|
<para>This is a list of security vulnerabilities discovered in the
|
||||||
various operating systems and applications. Subscription information is
|
LFS book after it's published.</para>
|
||||||
available at <ulink
|
|
||||||
url="http://www.us-cert.gov/cas/signup.html"/>.</para>
|
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<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
|
<para>This is a mailing list for discussion of security flaws,
|
||||||
publishes newly discovered security issues, and occasionally potential
|
concepts, and practices in the Open Source community.</para>
|
||||||
fixes for them. Subscription information is available at <ulink
|
|
||||||
url="http://www.securityfocus.com/archive"/>.</para>
|
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
<!--
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Beyond Linux From Scratch</para>
|
<para>Beyond Linux From Scratch</para>
|
||||||
|
|
||||||
@ -60,7 +56,7 @@
|
|||||||
Book. The BLFS project is located at <ulink url="&blfs-book;"/>.
|
Book. The BLFS project is located at <ulink url="&blfs-book;"/>.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
-->
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>LFS Hints</para>
|
<para>LFS Hints</para>
|
||||||
|
|
||||||
@ -85,7 +81,7 @@
|
|||||||
<para>The goal of The Linux Documentation Project (TLDP) is to
|
<para>The goal of The Linux Documentation Project (TLDP) is to
|
||||||
collaborate on all of the issues of Linux documentation. The TLDP features
|
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
|
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>
|
</listitem>
|
||||||
|
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
|
@ -1,31 +1,31 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
if [ "$1" = sysv ]; then
|
if [ "$1" = sysv ]; then
|
||||||
SYSV="INCLUDE"
|
SYSV="INCLUDE"
|
||||||
SYSTEMD="IGNORE "
|
SYSTEMD="IGNORE "
|
||||||
elif [ "$1" = systemd ]; then
|
elif [ "$1" = systemd ]; then
|
||||||
SYSV="IGNORE "
|
SYSV="IGNORE "
|
||||||
SYSTEMD="INCLUDE"
|
SYSTEMD="INCLUDE"
|
||||||
else
|
else
|
||||||
echo You must provide either \"sysv\" or \"systemd\" as argument
|
echo You must provide either \"sysv\" or \"systemd\" as argument
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "<!ENTITY % sysv \"$SYSV\">" > conditional.ent
|
echo "<!ENTITY % sysv \"$SYSV\">" > conditional.ent
|
||||||
echo "<!ENTITY % systemd \"$SYSTEMD\">" >> conditional.ent
|
echo "<!ENTITY % systemd \"$SYSTEMD\">" >> conditional.ent
|
||||||
|
|
||||||
if ! git status > /dev/null; then
|
if ! git status > /dev/null; then
|
||||||
# Either it's not a git repository, or git is unavaliable.
|
# Either it's not a git repository, or git is unavaliable.
|
||||||
# Just workaround.
|
# Just workaround.
|
||||||
echo "<![ %sysv; [" > version.ent
|
echo "<![ %sysv; [" > version.ent
|
||||||
echo "<!ENTITY version \"unknown\">" >> version.ent
|
echo "<!ENTITY version \"unknown\">" >> version.ent
|
||||||
echo "]]>" >> version.ent
|
echo "]]>" >> version.ent
|
||||||
echo "<![ %systemd; [" >> version.ent
|
echo "<![ %systemd; [" >> version.ent
|
||||||
echo "<!ENTITY version \"unknown-systemd\">" >> version.ent
|
echo "<!ENTITY version \"unknown-systemd\">" >> version.ent
|
||||||
echo "]]>" >> version.ent
|
echo "]]>" >> version.ent
|
||||||
echo "<!ENTITY releasedate \"unknown\">" >> version.ent
|
echo "<!ENTITY releasedate \"unknown\">" >> version.ent
|
||||||
echo "<!ENTITY copyrightdate \"1999-2022\">" >> version.ent
|
echo "<!ENTITY copyrightdate \"1999-2022\">" >> version.ent
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
export LC_ALL=en_US.utf8
|
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//')
|
day=$(date --date "$commit_date" "+%d" | sed 's/^0//')
|
||||||
|
|
||||||
case $day in
|
case $day in
|
||||||
"1" | "21" | "31" ) suffix="st";;
|
"1" | "21" | "31" ) suffix="st";;
|
||||||
"2" | "22" ) suffix="nd";;
|
"2" | "22" ) suffix="nd";;
|
||||||
"3" | "23" ) suffix="rd";;
|
"3" | "23" ) suffix="rd";;
|
||||||
* ) suffix="th";;
|
* ) suffix="th";;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
full_date="$month $day$suffix, $year"
|
full_date="$month $day$suffix, $year"
|
||||||
@ -53,8 +53,8 @@ version="$rev"
|
|||||||
versiond="$rev-systemd"
|
versiond="$rev-systemd"
|
||||||
|
|
||||||
if [ "$(git diff HEAD | wc -l)" != "0" ]; then
|
if [ "$(git diff HEAD | wc -l)" != "0" ]; then
|
||||||
version="$version+"
|
version="$version+"
|
||||||
versiond="$versiond+"
|
versiond="$versiond+"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "<![ %sysv; [" > version.ent
|
echo "<![ %sysv; [" > version.ent
|
||||||
|
@ -34,7 +34,7 @@ function find_max( $lines, $regex_match, $regex_replace )
|
|||||||
|
|
||||||
// Isolate the version and put in an array
|
// Isolate the version and put in an array
|
||||||
$slice = preg_replace( $regex_replace, "$1", $line );
|
$slice = preg_replace( $regex_replace, "$1", $line );
|
||||||
if ( $slice == $line ) continue;
|
if ( strcmp( $slice, $line ) == 0 ) continue;
|
||||||
|
|
||||||
array_push( $a, $slice );
|
array_push( $a, $slice );
|
||||||
}
|
}
|
||||||
@ -266,6 +266,15 @@ if ( $package == "zstd" ) $dirpath = "https://github.com/facebook/zstd/rel
|
|||||||
if ( $package == "elfutils" )
|
if ( $package == "elfutils" )
|
||||||
return find_max( $lines, "/^\d/", "/^(\d[\d\.]+\d)\/.*$/" );
|
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" )
|
if ( $package == "XML-Parser" )
|
||||||
{
|
{
|
||||||
$max = find_max( $lines, "/$package/", "/^.*$package-([\d\._]*\d).tar.*$/" );
|
$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 );
|
return str_replace( "_", ".", $max );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ( $package == "libffi" )
|
||||||
|
return find_max( $lines, "/v\d/", "/^.*v([\d\.]+)$/" );
|
||||||
|
|
||||||
if ( $package == "procps-ng" )
|
if ( $package == "procps-ng" )
|
||||||
return find_max( $lines, "/v\d/", "/^.*v([\d\.]+)$/" );
|
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-du "50 MB">
|
||||||
<!ENTITY bash-fin-sbu "1.4 SBU">
|
<!ENTITY bash-fin-sbu "1.4 SBU">
|
||||||
|
|
||||||
<!ENTITY bc-version "6.0.1">
|
<!ENTITY bc-version "6.0.2">
|
||||||
<!ENTITY bc-size "441 KB">
|
<!ENTITY bc-size "442 KB">
|
||||||
<!ENTITY bc-url "https://github.com/gavinhoward/bc/releases/download/&bc-version;/bc-&bc-version;.tar.xz">
|
<!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-home "https://git.yzena.com/gavin/bc">
|
||||||
<!ENTITY bc-fin-du "7.4 MB">
|
<!ENTITY bc-fin-du "7.4 MB">
|
||||||
<!ENTITY bc-fin-sbu "less than 0.1 SBU">
|
<!ENTITY bc-fin-sbu "less than 0.1 SBU">
|
||||||
@ -163,10 +163,10 @@
|
|||||||
<!ENTITY eudev-fin-du "83 MB">
|
<!ENTITY eudev-fin-du "83 MB">
|
||||||
<!ENTITY eudev-fin-sbu "0.2 SBU">
|
<!ENTITY eudev-fin-sbu "0.2 SBU">
|
||||||
|
|
||||||
<!ENTITY expat-version "2.4.8">
|
<!ENTITY expat-version "2.4.9">
|
||||||
<!ENTITY expat-size "444 KB">
|
<!ENTITY expat-size "449 KB">
|
||||||
<!ENTITY expat-url "&sourceforge;expat/expat-&expat-version;.tar.xz">
|
<!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-home "https://libexpat.github.io/">
|
||||||
<!ENTITY expat-fin-du "12 MB">
|
<!ENTITY expat-fin-du "12 MB">
|
||||||
<!ENTITY expat-fin-sbu "0.1 SBU">
|
<!ENTITY expat-fin-sbu "0.1 SBU">
|
||||||
@ -179,10 +179,10 @@
|
|||||||
<!ENTITY expect-tmp-du "3.9 MB">
|
<!ENTITY expect-tmp-du "3.9 MB">
|
||||||
<!ENTITY expect-tmp-sbu "0.2 SBU">
|
<!ENTITY expect-tmp-sbu "0.2 SBU">
|
||||||
|
|
||||||
<!ENTITY file-version "5.42">
|
<!ENTITY file-version "5.43">
|
||||||
<!ENTITY file-size "1,080 KB">
|
<!ENTITY file-size "1,136 KB">
|
||||||
<!ENTITY file-url "https://astron.com/pub/file/file-&file-version;.tar.gz">
|
<!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-home "https://www.darwinsys.com/file/">
|
||||||
<!ENTITY file-tmp-du "34 MB">
|
<!ENTITY file-tmp-du "34 MB">
|
||||||
<!ENTITY file-tmp-sbu "0.2 SBU">
|
<!ENTITY file-tmp-sbu "0.2 SBU">
|
||||||
@ -207,10 +207,10 @@
|
|||||||
<!ENTITY flex-fin-du "33 MB">
|
<!ENTITY flex-fin-du "33 MB">
|
||||||
<!ENTITY flex-fin-sbu "0.4 SBU">
|
<!ENTITY flex-fin-sbu "0.4 SBU">
|
||||||
|
|
||||||
<!ENTITY gawk-version "5.1.1">
|
<!ENTITY gawk-version "5.2.0">
|
||||||
<!ENTITY gawk-size "3,075 KB">
|
<!ENTITY gawk-size "3,307 KB">
|
||||||
<!ENTITY gawk-url "&gnu;gawk/gawk-&gawk-version;.tar.xz">
|
<!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-home "&gnu-software;gawk/">
|
||||||
<!ENTITY gawk-tmp-du "45 MB">
|
<!ENTITY gawk-tmp-du "45 MB">
|
||||||
<!ENTITY gawk-tmp-sbu "0.2 SBU">
|
<!ENTITY gawk-tmp-sbu "0.2 SBU">
|
||||||
@ -281,10 +281,10 @@
|
|||||||
<!ENTITY gperf-fin-du "6.0 MB">
|
<!ENTITY gperf-fin-du "6.0 MB">
|
||||||
<!ENTITY gperf-fin-sbu "less than 0.1 SBU">
|
<!ENTITY gperf-fin-sbu "less than 0.1 SBU">
|
||||||
|
|
||||||
<!ENTITY grep-version "3.7">
|
<!ENTITY grep-version "3.8">
|
||||||
<!ENTITY grep-size "1,603 KB">
|
<!ENTITY grep-size "1,670 KB">
|
||||||
<!ENTITY grep-url "&gnu;grep/grep-&grep-version;.tar.xz">
|
<!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-home "&gnu-software;grep/">
|
||||||
<!ENTITY grep-tmp-du "25 MB">
|
<!ENTITY grep-tmp-du "25 MB">
|
||||||
<!ENTITY grep-tmp-sbu "0.2 SBU">
|
<!ENTITY grep-tmp-sbu "0.2 SBU">
|
||||||
@ -374,15 +374,15 @@
|
|||||||
<!ENTITY kmod-fin-du "12 MB">
|
<!ENTITY kmod-fin-du "12 MB">
|
||||||
<!ENTITY kmod-fin-sbu "0.1 SBU">
|
<!ENTITY kmod-fin-sbu "0.1 SBU">
|
||||||
|
|
||||||
<!ENTITY less-version "590">
|
<!ENTITY less-version "608">
|
||||||
<!ENTITY less-size "348 KB">
|
<!ENTITY less-size "354 KB">
|
||||||
<!ENTITY less-url "https://www.greenwoodsoftware.com/less/less-&less-version;.tar.gz">
|
<!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-home "https://www.greenwoodsoftware.com/less/">
|
||||||
<!ENTITY less-fin-du "4.2 MB">
|
<!ENTITY less-fin-du "4.2 MB">
|
||||||
<!ENTITY less-fin-sbu "less than 0.1 SBU">
|
<!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-size "BOOTSCRIPTS-SIZE KB">
|
||||||
<!ENTITY lfs-bootscripts-url "&downloads-root;lfs-bootscripts-&lfs-bootscripts-version;.tar.xz">
|
<!ENTITY lfs-bootscripts-url "&downloads-root;lfs-bootscripts-&lfs-bootscripts-version;.tar.xz">
|
||||||
<!ENTITY lfs-bootscripts-md5 "BOOTSCRIPTS-MD5SUM">
|
<!ENTITY lfs-bootscripts-md5 "BOOTSCRIPTS-MD5SUM">
|
||||||
@ -410,7 +410,7 @@
|
|||||||
<!ENTITY libpipeline-size "954 KB">
|
<!ENTITY libpipeline-size "954 KB">
|
||||||
<!ENTITY libpipeline-url "&savannah;/releases/libpipeline/libpipeline-&libpipeline-version;.tar.gz">
|
<!ENTITY libpipeline-url "&savannah;/releases/libpipeline/libpipeline-&libpipeline-version;.tar.gz">
|
||||||
<!ENTITY libpipeline-md5 "829c9ba46382b0b3e12dd11fcbc1bb27">
|
<!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-du "10 MB">
|
||||||
<!ENTITY libpipeline-fin-sbu "0.1 SBU">
|
<!ENTITY libpipeline-fin-sbu "0.1 SBU">
|
||||||
|
|
||||||
@ -424,12 +424,12 @@
|
|||||||
|
|
||||||
<!ENTITY linux-major-version "5">
|
<!ENTITY linux-major-version "5">
|
||||||
<!ENTITY linux-minor-version "19">
|
<!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;">-->
|
||||||
<!ENTITY linux-version "&linux-major-version;.&linux-minor-version;.&linux-patch-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-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/">
|
<!ENTITY linux-home "https://www.kernel.org/">
|
||||||
<!-- measured for 5.13.4 / gcc-11.1.0 on x86_64 : minimum is
|
<!-- measured for 5.13.4 / gcc-11.1.0 on x86_64 : minimum is
|
||||||
allnoconfig rounded down to allow for ongoing cleanups,
|
allnoconfig rounded down to allow for ongoing cleanups,
|
||||||
@ -487,10 +487,10 @@
|
|||||||
<!ENTITY markupsafe-fin-du "168 KB">
|
<!ENTITY markupsafe-fin-du "168 KB">
|
||||||
<!ENTITY markupsafe-fin-sbu "less than 0.1 SBU">
|
<!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-size "2,016 KB">
|
||||||
<!ENTITY meson-url "&github;/mesonbuild/meson/releases/download/&meson-version;/meson-&meson-version;.tar.gz">
|
<!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-home "https://mesonbuild.com">
|
||||||
<!ENTITY meson-fin-du "38 MB">
|
<!ENTITY meson-fin-du "38 MB">
|
||||||
<!ENTITY meson-fin-sbu "less than 0.1 SBU">
|
<!ENTITY meson-fin-sbu "less than 0.1 SBU">
|
||||||
@ -499,7 +499,7 @@
|
|||||||
<!ENTITY mpc-size "820 KB">
|
<!ENTITY mpc-size "820 KB">
|
||||||
<!ENTITY mpc-url "https://ftp.gnu.org/gnu/mpc/mpc-&mpc-version;.tar.gz">
|
<!ENTITY mpc-url "https://ftp.gnu.org/gnu/mpc/mpc-&mpc-version;.tar.gz">
|
||||||
<!ENTITY mpc-md5 "9f16c976c25bb0f76b50be749cd7a3a8">
|
<!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-du "21 MB">
|
||||||
<!ENTITY mpc-fin-sbu "0.3 SBU">
|
<!ENTITY mpc-fin-sbu "0.3 SBU">
|
||||||
|
|
||||||
@ -521,10 +521,10 @@
|
|||||||
<!ENTITY ncurses-fin-du "45 MB">
|
<!ENTITY ncurses-fin-du "45 MB">
|
||||||
<!ENTITY ncurses-fin-sbu "0.4 SBU">
|
<!ENTITY ncurses-fin-sbu "0.4 SBU">
|
||||||
|
|
||||||
<!ENTITY ninja-version "1.11.0">
|
<!ENTITY ninja-version "1.11.1">
|
||||||
<!ENTITY ninja-size "228 KB">
|
<!ENTITY ninja-size "225 KB">
|
||||||
<!ENTITY ninja-url "&github;/ninja-build/ninja/archive/v&ninja-version;/ninja-&ninja-version;.tar.gz">
|
<!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-home "https://ninja-build.org/">
|
||||||
<!ENTITY ninja-fin-du "79 MB">
|
<!ENTITY ninja-fin-du "79 MB">
|
||||||
<!ENTITY ninja-fin-sbu "0.6 SBU">
|
<!ENTITY ninja-fin-sbu "0.6 SBU">
|
||||||
@ -588,19 +588,19 @@
|
|||||||
<!-- If python minor version changes, updates in python and
|
<!-- If python minor version changes, updates in python and
|
||||||
meson pages will be needed: python3.6 and python3.6m -->
|
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-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-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-home "https://www.python.org/">
|
||||||
<!ENTITY python-tmp-du "364 MB">
|
<!ENTITY python-tmp-du "364 MB">
|
||||||
<!ENTITY python-tmp-sbu "0.9 SBU">
|
<!ENTITY python-tmp-sbu "0.9 SBU">
|
||||||
<!ENTITY python-fin-du "283 MB">
|
<!ENTITY python-fin-du "283 MB">
|
||||||
<!ENTITY python-fin-sbu "3.4 SBU">
|
<!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-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-md5 "d5923c417995334e72c2561812905d23">
|
||||||
<!ENTITY python-docs-size "7,321 KB">
|
<!ENTITY python-docs-size "7,176 KB">
|
||||||
|
|
||||||
<!ENTITY readline-version "8.1.2">
|
<!ENTITY readline-version "8.1.2">
|
||||||
<!ENTITY readline-soversion "8.1"><!-- used for stripping -->
|
<!ENTITY readline-soversion "8.1"><!-- used for stripping -->
|
||||||
@ -621,10 +621,10 @@
|
|||||||
<!ENTITY sed-fin-du "31 MB">
|
<!ENTITY sed-fin-du "31 MB">
|
||||||
<!ENTITY sed-fin-sbu "0.4 SBU">
|
<!ENTITY sed-fin-sbu "0.4 SBU">
|
||||||
|
|
||||||
<!ENTITY shadow-version "4.12.2">
|
<!ENTITY shadow-version "4.12.3">
|
||||||
<!ENTITY shadow-size "1,706 KB">
|
<!ENTITY shadow-size "1,707 KB">
|
||||||
<!ENTITY shadow-url "&github;/shadow-maint/shadow/releases/download/&shadow-version;/shadow-&shadow-version;.tar.xz">
|
<!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-home "https://shadow-maint.github.io/shadow/">
|
||||||
<!ENTITY shadow-fin-du "46 MB">
|
<!ENTITY shadow-fin-du "46 MB">
|
||||||
<!ENTITY shadow-fin-sbu "0.2 SBU">
|
<!ENTITY shadow-fin-sbu "0.2 SBU">
|
||||||
|
@ -82,9 +82,9 @@
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>Place all the sources and patches in a directory that will be
|
<para>Place all the sources and patches in a directory that will be
|
||||||
accessible from the chroot environment such as
|
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
|
<emphasis>not</emphasis> put sources in
|
||||||
<filename class="directory">/mnt/lfs/tools/</filename>. --></para>
|
<filename class="directory">/mnt/lfs/tools/</filename>. --></para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Change to the sources directory.</para>
|
<para>Change to the sources directory.</para>
|
||||||
|
@ -30,7 +30,7 @@
|
|||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Software-Building-HOWTO
|
<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
|
<para>This is a comprehensive guide to building and installing
|
||||||
<quote>generic</quote> Unix software packages under Linux. Although it
|
<quote>generic</quote> Unix software packages under Linux. Although it
|
||||||
@ -40,7 +40,7 @@
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Beginner's Guide to Installing from Source
|
<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
|
<para>This guide provides a good summary of basic skills and
|
||||||
techniques needed to build software from source code.</para>
|
techniques needed to build software from source code.</para>
|
||||||
|
@ -18,17 +18,17 @@
|
|||||||
|
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para><ulink url="http://pubs.opengroup.org/onlinepubs/9699919799/">
|
<para><ulink url="https://pubs.opengroup.org/onlinepubs/9699919799/">
|
||||||
POSIX.1-2008</ulink>.</para>
|
POSIX.1-2008</ulink>.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para><ulink
|
<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>
|
Filesystem Hierarchy Standard (FHS) Version 3.0</ulink></para>
|
||||||
|
|
||||||
</listitem>
|
</listitem>
|
||||||
<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>
|
Standard Base (LSB) Version 5.0 (2015)</ulink></para>
|
||||||
|
|
||||||
<para>The LSB has four separate standards: Core, Desktop,
|
<para>The LSB has four separate standards: Core, Desktop,
|
||||||
|
@ -595,7 +595,7 @@
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>Wheel</para>
|
<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.
|
reference implementation of the Python wheel packaging standard.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
@ -14,12 +14,12 @@ body {
|
|||||||
/* Links */
|
/* Links */
|
||||||
a:link {
|
a:link {
|
||||||
color: #22b;
|
color: #22b;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
a.ulink:link {
|
a.ulink:link {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
color: #55f;
|
color: #55f;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
@ -29,7 +29,7 @@ a:visited {
|
|||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
a:hover,
|
a:hover,
|
||||||
a:focus {
|
a:focus {
|
||||||
color: #d30e08 ! important;
|
color: #d30e08 ! important;
|
||||||
text-decoration: underline;
|
text-decoration: underline;
|
||||||
@ -81,10 +81,10 @@ div.navfooter a:active {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Sections */
|
/* Sections */
|
||||||
div.sect1,
|
div.sect1,
|
||||||
div.appendix,
|
div.appendix,
|
||||||
div.wrap,
|
div.wrap,
|
||||||
div.chapter,
|
div.chapter,
|
||||||
div.part,
|
div.part,
|
||||||
div.preface,
|
div.preface,
|
||||||
div.toc,
|
div.toc,
|
||||||
@ -100,10 +100,10 @@ div.index,
|
|||||||
}
|
}
|
||||||
|
|
||||||
@media(max-width:1220px) and (min-height:550px){
|
@media(max-width:1220px) and (min-height:550px){
|
||||||
div.sect1,
|
div.sect1,
|
||||||
div.appendix,
|
div.appendix,
|
||||||
div.wrap,
|
div.wrap,
|
||||||
div.chapter,
|
div.chapter,
|
||||||
div.part,
|
div.part,
|
||||||
div.preface,
|
div.preface,
|
||||||
div.legalnotice,
|
div.legalnotice,
|
||||||
@ -120,10 +120,10 @@ div.index,
|
|||||||
@media(max-width:1050px),
|
@media(max-width:1050px),
|
||||||
(max-width:1050px) and (min-width:800px) and (max-height:550px){
|
(max-width:1050px) and (min-width:800px) and (max-height:550px){
|
||||||
|
|
||||||
div.sect1,
|
div.sect1,
|
||||||
div.appendix,
|
div.appendix,
|
||||||
div.wrap,
|
div.wrap,
|
||||||
div.chapter,
|
div.chapter,
|
||||||
div.part,
|
div.part,
|
||||||
div.preface,
|
div.preface,
|
||||||
div.legalnotice,
|
div.legalnotice,
|
||||||
@ -138,10 +138,10 @@ div.index,
|
|||||||
|
|
||||||
@media(max-width:550px),
|
@media(max-width:550px),
|
||||||
(max-width:800px) and (max-height:550px){
|
(max-width:800px) and (max-height:550px){
|
||||||
div.sect1,
|
div.sect1,
|
||||||
div.appendix,
|
div.appendix,
|
||||||
div.wrap,
|
div.wrap,
|
||||||
div.chapter,
|
div.chapter,
|
||||||
div.part,
|
div.part,
|
||||||
div.preface,
|
div.preface,
|
||||||
div.legalnotice,
|
div.legalnotice,
|
||||||
@ -169,12 +169,12 @@ div.important ul li p {
|
|||||||
padding: 0em 0.6em;
|
padding: 0em 0.6em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.package,
|
.package,
|
||||||
.kernel,
|
.kernel,
|
||||||
.installation,
|
.installation,
|
||||||
.commands,
|
.commands,
|
||||||
.testing,
|
.testing,
|
||||||
.configuration,
|
.configuration,
|
||||||
.content {
|
.content {
|
||||||
padding: 0em 0.5em 0.2em 0em;
|
padding: 0em 0.5em 0.2em 0em;
|
||||||
margin: 0em;
|
margin: 0em;
|
||||||
@ -222,12 +222,12 @@ h1 {
|
|||||||
padding: 0.7em;
|
padding: 0.7em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.preface h1,
|
.preface h1,
|
||||||
.part h1,
|
.part h1,
|
||||||
.chapter h1,
|
.chapter h1,
|
||||||
.appendix h1,
|
.appendix h1,
|
||||||
.index h1,
|
.index h1,
|
||||||
.sect1 h1,
|
.sect1 h1,
|
||||||
.wrap h1 {
|
.wrap h1 {
|
||||||
background: none; /*#f5f6f7;*/
|
background: none; /*#f5f6f7;*/
|
||||||
border-bottom: 1px solid #EEE; /*1em solid #dbddec;*/
|
border-bottom: 1px solid #EEE; /*1em solid #dbddec;*/
|
||||||
@ -246,7 +246,7 @@ h2 {
|
|||||||
padding:.3em;
|
padding:.3em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.titlepage h2,
|
.titlepage h2,
|
||||||
div.navheader h2 {
|
div.navheader h2 {
|
||||||
font-size: 120%;
|
font-size: 120%;
|
||||||
border-bottom: none;
|
border-bottom: none;
|
||||||
@ -276,14 +276,14 @@ h4 {
|
|||||||
padding: 0.2em;
|
padding: 0.2em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.titlepage h3,
|
.titlepage h3,
|
||||||
div.navheader h3 {
|
div.navheader h3 {
|
||||||
font-size: 120%;
|
font-size: 120%;
|
||||||
border-bottom: none;
|
border-bottom: none;
|
||||||
padding: 0.25em;
|
padding: 0.25em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.titlepage h4,
|
.titlepage h4,
|
||||||
div.navheader h4 {
|
div.navheader h4 {
|
||||||
font-size: 110%;
|
font-size: 110%;
|
||||||
border-bottom: none;
|
border-bottom: none;
|
||||||
@ -291,21 +291,21 @@ div.navheader h4 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@media(max-width:550px){
|
@media(max-width:550px){
|
||||||
.titlepage h2,
|
.titlepage h2,
|
||||||
div.navheader h2 {
|
div.navheader h2 {
|
||||||
font-size: 4.7vmin;
|
font-size: 4.7vmin;
|
||||||
border-bottom: none;
|
border-bottom: none;
|
||||||
padding: 0.25em;
|
padding: 0.25em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.titlepage h3,
|
.titlepage h3,
|
||||||
div.navheader h3 {
|
div.navheader h3 {
|
||||||
font-size: 4.5vmin;
|
font-size: 4.5vmin;
|
||||||
border-bottom: none;
|
border-bottom: none;
|
||||||
padding: 0.25em;
|
padding: 0.25em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.titlepage h4,
|
.titlepage h4,
|
||||||
div.navheader h4 {
|
div.navheader h4 {
|
||||||
font-size: 4.3vmin;
|
font-size: 4.3vmin;
|
||||||
border-bottom: none;
|
border-bottom: none;
|
||||||
@ -337,7 +337,7 @@ div.navheader ul {
|
|||||||
display:none;
|
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){
|
(min-width:1220px) and (min-height:550px){
|
||||||
div.navfooter{
|
div.navfooter{
|
||||||
top: 0px;
|
top: 0px;
|
||||||
@ -406,7 +406,7 @@ div.navfooter ul{
|
|||||||
width: 0px;
|
width: 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.navheader ul li.prev,
|
div.navheader ul li.prev,
|
||||||
div.navfooter ul li.prev {
|
div.navfooter ul li.prev {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
display: block;
|
display: block;
|
||||||
@ -421,7 +421,7 @@ div.navfooter ul li.prev {
|
|||||||
/*padding-bottom: 3em;*/
|
/*padding-bottom: 3em;*/
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
div.navheader ul li.next,
|
div.navheader ul li.next,
|
||||||
div.navfooter ul li.next {
|
div.navfooter ul li.next {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
display: block;
|
display: block;
|
||||||
@ -433,7 +433,7 @@ div.navfooter ul li.next {
|
|||||||
max-width: 170px;
|
max-width: 170px;
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
div.navheader ul li.next,
|
div.navheader ul li.next,
|
||||||
div.navfooter ul li.next {
|
div.navfooter ul li.next {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
display: block;
|
display: block;
|
||||||
@ -445,9 +445,9 @@ div.navfooter ul li.next {
|
|||||||
max-width: 170px;
|
max-width: 170px;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.navheader ul li.prev p,
|
div.navheader ul li.prev p,
|
||||||
div.navfooter 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 {
|
div.navfooter ul li.next p {
|
||||||
padding: 0em;
|
padding: 0em;
|
||||||
padding-bottom: 3em;
|
padding-bottom: 3em;
|
||||||
@ -458,7 +458,7 @@ div.navfooter ul li.next p {
|
|||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.navheader ul li.home,
|
div.navheader ul li.home,
|
||||||
div.navfooter ul li.home {
|
div.navfooter ul li.home {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
@ -472,7 +472,7 @@ div.navfooter ul li.home {
|
|||||||
max-width: 200px;
|
max-width: 200px;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.navheader ul li.up,
|
div.navheader ul li.up,
|
||||||
div.navfooter ul li.up {
|
div.navfooter ul li.up {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
@ -487,7 +487,7 @@ div.navfooter ul li.up {
|
|||||||
/*border: 1px solid black;*/
|
/*border: 1px solid black;*/
|
||||||
}
|
}
|
||||||
|
|
||||||
div.navheader ul li.up a,
|
div.navheader ul li.up a,
|
||||||
div.navfooter ul li.up a {
|
div.navfooter ul li.up a {
|
||||||
display: block;
|
display: block;
|
||||||
padding: 10px 5px 10px 28px;
|
padding: 10px 5px 10px 28px;
|
||||||
@ -495,7 +495,7 @@ div.navfooter ul li.up a {
|
|||||||
background-size: 20px 20px;
|
background-size: 20px 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.navheader ul li.home a,
|
div.navheader ul li.home a,
|
||||||
div.navfooter ul li.home a {
|
div.navfooter ul li.home a {
|
||||||
display: block;
|
display: block;
|
||||||
padding: 10px 5px 10px 28px;
|
padding: 10px 5px 10px 28px;
|
||||||
@ -503,7 +503,7 @@ div.navfooter ul li.home a {
|
|||||||
background-size: 20px 20px;
|
background-size: 20px 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.navheader ul li.prev a,
|
div.navheader ul li.prev a,
|
||||||
div.navfooter ul li.prev a {
|
div.navfooter ul li.prev a {
|
||||||
display: block;
|
display: block;
|
||||||
padding: 10px 5px 10px 35px;
|
padding: 10px 5px 10px 35px;
|
||||||
@ -522,7 +522,7 @@ div.navheader ul li.prev p {
|
|||||||
border: 1px solid blue;
|
border: 1px solid blue;
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
div.navheader ul li.next a,
|
div.navheader ul li.next a,
|
||||||
div.navfooter ul li.next a{
|
div.navfooter ul li.next a{
|
||||||
display: block;
|
display: block;
|
||||||
padding: 10px 35px 10px 5px;
|
padding: 10px 35px 10px 5px;
|
||||||
@ -531,25 +531,25 @@ div.navfooter ul li.next a{
|
|||||||
}
|
}
|
||||||
|
|
||||||
@media(max-width:1220px) and (min-height:550px){
|
@media(max-width:1220px) and (min-height:550px){
|
||||||
div.navheader ul li,
|
div.navheader ul li,
|
||||||
div.navfooter ul li{
|
div.navfooter ul li{
|
||||||
width: 120px;
|
width: 120px;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.navheader ul li.prev p,
|
div.navheader ul li.prev p,
|
||||||
div.navheader ul li.next 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{
|
div.navfooter ul li.next p{
|
||||||
text-align: center;
|
text-align: center;
|
||||||
/*border: 1px solid blue;
|
/*border: 1px solid blue;
|
||||||
margin: 2px;*/
|
margin: 2px;*/
|
||||||
height: 7.5vh; /* 7.5% ov viewport height */
|
height: 7.5vh; /* 7.5% ov viewport height */
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
div.navheader ul li.prev p:after,
|
div.navheader ul li.prev p:after,
|
||||||
div.navheader ul li.next p:after,
|
div.navheader ul li.next p:after,
|
||||||
div.navfooter ul li.prev p:after,
|
div.navfooter ul li.prev p:after,
|
||||||
div.navfooter ul li.next p:after{
|
div.navfooter ul li.next p:after{
|
||||||
content: "";
|
content: "";
|
||||||
text-align: right;
|
text-align: right;
|
||||||
@ -558,12 +558,12 @@ div.navfooter ul li.next a{
|
|||||||
right: 0px;
|
right: 0px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 2.8em;
|
height: 2.8em;
|
||||||
|
|
||||||
background: linear-gradient(to bottom, rgba(0, 0, 0, 1), rgba(255, 255, 255, 1) 100%);
|
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 {
|
div.navfooter ul li.prev {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
display: block;
|
display: block;
|
||||||
@ -573,7 +573,7 @@ div.navfooter ul li.next a{
|
|||||||
margin: 0px;
|
margin: 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.navheader ul li.prev a,
|
div.navheader ul li.prev a,
|
||||||
div.navfooter ul li.prev a{
|
div.navfooter ul li.prev a{
|
||||||
display: block;
|
display: block;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
@ -582,8 +582,8 @@ div.navfooter ul li.next a{
|
|||||||
background: url(../images/chevron-left.png) no-repeat center 5vh;
|
background: url(../images/chevron-left.png) no-repeat center 5vh;
|
||||||
background-size: 25px 25px;
|
background-size: 25px 25px;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.navheader ul li.next,
|
div.navheader ul li.next,
|
||||||
div.navfooter ul li.next {
|
div.navfooter ul li.next {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
display: block;
|
display: block;
|
||||||
@ -592,8 +592,8 @@ div.navfooter ul li.next a{
|
|||||||
padding: 0px;
|
padding: 0px;
|
||||||
margin: 0px;
|
margin: 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.navheader ul li.next a,
|
div.navheader ul li.next a,
|
||||||
div.navfooter ul li.next a {
|
div.navfooter ul li.next a {
|
||||||
display: block;
|
display: block;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
@ -602,10 +602,10 @@ div.navfooter ul li.next a{
|
|||||||
background: url(../images/chevron-right.png) no-repeat center 5vh;
|
background: url(../images/chevron-right.png) no-repeat center 5vh;
|
||||||
background-size: 25px 25px;
|
background-size: 25px 25px;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.navheader ul li.home,
|
div.navheader ul li.home,
|
||||||
div.navheader ul li.up,
|
div.navheader ul li.up,
|
||||||
div.navfooter ul li.home,
|
div.navfooter ul li.home,
|
||||||
div.navfooter ul li.up {
|
div.navfooter ul li.up {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
padding: 0px;
|
padding: 0px;
|
||||||
@ -615,17 +615,17 @@ div.navfooter ul li.next a{
|
|||||||
margin: 0px;
|
margin: 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.navheader ul li.home,
|
div.navheader ul li.home,
|
||||||
div.navfooter ul li.home{
|
div.navfooter ul li.home{
|
||||||
top:25vh;
|
top:25vh;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.navheader ul li.up,
|
div.navheader ul li.up,
|
||||||
div.navfooter ul li.up{
|
div.navfooter ul li.up{
|
||||||
top:10vh;
|
top:10vh;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.navheader ul li.home a,
|
div.navheader ul li.home a,
|
||||||
div.navfooter ul li.home a{
|
div.navfooter ul li.home a{
|
||||||
display: block;
|
display: block;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
@ -635,7 +635,7 @@ div.navfooter ul li.next a{
|
|||||||
background-size: 25px 25px;
|
background-size: 25px 25px;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.navheader ul li.up a,
|
div.navheader ul li.up a,
|
||||||
div.navfooter ul li.up a{
|
div.navfooter ul li.up a{
|
||||||
display: block;
|
display: block;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
@ -647,28 +647,28 @@ div.navfooter ul li.next a{
|
|||||||
}
|
}
|
||||||
/* End media */
|
/* 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){
|
(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.navfooter ul li.prev p,
|
||||||
div.navheader ul li.next p,
|
div.navheader ul li.next p,
|
||||||
div.navfooter ul li.next p
|
div.navfooter ul li.next p
|
||||||
{
|
{
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.navheader ul li.prev,
|
div.navheader ul li.prev,
|
||||||
div.navfooter ul li.prev {
|
div.navfooter ul li.prev {
|
||||||
max-width: 120px;
|
max-width: 120px;
|
||||||
position: fixed;
|
position: fixed;
|
||||||
display: block;
|
display: block;
|
||||||
top: 45vmin; /* smaller of 60% viewport height, width */
|
top: 45vmin; /* smaller of 60% viewport height, width */
|
||||||
padding: 0px;
|
padding: 0px;
|
||||||
margin-left: 10px;
|
margin-left: 10px;
|
||||||
font-size: 90%;
|
font-size: 90%;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.navheader ul li.next,
|
div.navheader ul li.next,
|
||||||
div.navfooter ul li.next {
|
div.navfooter ul li.next {
|
||||||
max-width: 120px;
|
max-width: 120px;
|
||||||
position: fixed;
|
position: fixed;
|
||||||
@ -679,13 +679,13 @@ div.navfooter ul li.next a{
|
|||||||
margin-left: 10px;
|
margin-left: 10px;
|
||||||
font-size: 90%;
|
font-size: 90%;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.navheader ul li.prev a,
|
div.navheader ul li.prev a,
|
||||||
div.navfooter ul li.prev a {
|
div.navfooter ul li.prev a {
|
||||||
background-size: 20px 20px;
|
background-size: 20px 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.navheader ul li.next a,
|
div.navheader ul li.next a,
|
||||||
div.navfooter ul li.next a{
|
div.navfooter ul li.next a{
|
||||||
display: block;
|
display: block;
|
||||||
padding: 10px 5px 10px 35px;
|
padding: 10px 5px 10px 35px;
|
||||||
@ -693,10 +693,10 @@ div.navfooter ul li.next a{
|
|||||||
background-size: 20px 20px;
|
background-size: 20px 20px;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.navheader ul li.home,
|
div.navheader ul li.home,
|
||||||
div.navheader ul li.up,
|
div.navheader ul li.up,
|
||||||
div.navfooter ul li.home,
|
div.navfooter ul li.home,
|
||||||
div.navfooter ul li.up {
|
div.navfooter ul li.up {
|
||||||
max-width: 120px;
|
max-width: 120px;
|
||||||
position: fixed;
|
position: fixed;
|
||||||
@ -706,20 +706,20 @@ div.navfooter ul li.next a{
|
|||||||
color: #dbddec;
|
color: #dbddec;
|
||||||
font-size: 90%;
|
font-size: 90%;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.navheader ul li.home,
|
div.navheader ul li.home,
|
||||||
div.navfooter ul li.home{
|
div.navfooter ul li.home{
|
||||||
top: 35vmin;
|
top: 35vmin;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.navheader ul li.up,
|
div.navheader ul li.up,
|
||||||
div.navfooter ul li.up{
|
div.navfooter ul li.up{
|
||||||
top: 10vmin;
|
top: 10vmin;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.navheader ul li.home a,
|
div.navheader ul li.home a,
|
||||||
div.navfooter 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{
|
div.navfooter ul li.up a{
|
||||||
padding: 10px 5px 10px 35px;
|
padding: 10px 5px 10px 35px;
|
||||||
}
|
}
|
||||||
@ -728,14 +728,14 @@ div.navfooter ul li.next a{
|
|||||||
|
|
||||||
@media(max-width:550px),
|
@media(max-width:550px),
|
||||||
(max-width:800px) and (max-height: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.navfooter ul li.prev p,
|
||||||
div.navheader ul li.next p,
|
div.navheader ul li.next p,
|
||||||
div.navfooter ul li.next p {
|
div.navfooter ul li.next p {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.navheader ul li.prev,
|
div.navheader ul li.prev,
|
||||||
div.navfooter ul li.prev {
|
div.navfooter ul li.prev {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
display: block;
|
display: block;
|
||||||
@ -744,8 +744,8 @@ div.navfooter ul li.next a{
|
|||||||
padding: 0px;
|
padding: 0px;
|
||||||
margin: 0px;
|
margin: 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.navheader ul li.prev a,
|
div.navheader ul li.prev a,
|
||||||
div.navfooter ul li.prev a{
|
div.navfooter ul li.prev a{
|
||||||
display: block;
|
display: block;
|
||||||
width: 0px;
|
width: 0px;
|
||||||
@ -757,8 +757,8 @@ div.navfooter ul li.next a{
|
|||||||
background-size: 6vmin 6vmin;
|
background-size: 6vmin 6vmin;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.navheader ul li.next,
|
div.navheader ul li.next,
|
||||||
div.navfooter ul li.next {
|
div.navfooter ul li.next {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
display: block;
|
display: block;
|
||||||
@ -767,8 +767,8 @@ div.navfooter ul li.next a{
|
|||||||
padding: 0px;
|
padding: 0px;
|
||||||
margin: 0px;
|
margin: 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.navheader ul li.next a,
|
div.navheader ul li.next a,
|
||||||
div.navfooter ul li.next a{
|
div.navfooter ul li.next a{
|
||||||
display: block;
|
display: block;
|
||||||
width: 0px;
|
width: 0px;
|
||||||
@ -780,10 +780,10 @@ div.navfooter ul li.next a{
|
|||||||
background-size: 6vmin 6vmin;
|
background-size: 6vmin 6vmin;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.navheader ul li.home,
|
div.navheader ul li.home,
|
||||||
div.navheader ul li.up,
|
div.navheader ul li.up,
|
||||||
div.navfooter ul li.home,
|
div.navfooter ul li.home,
|
||||||
div.navfooter ul li.up {
|
div.navfooter ul li.up {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
padding: 0px;
|
padding: 0px;
|
||||||
@ -792,18 +792,18 @@ div.navfooter ul li.next a{
|
|||||||
color: #dbddec;
|
color: #dbddec;
|
||||||
left: 0px;
|
left: 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.navheader ul li.home,
|
div.navheader ul li.home,
|
||||||
div.navfooter ul li.home{
|
div.navfooter ul li.home{
|
||||||
top: 40vmin;
|
top: 40vmin;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.navheader ul li.up,
|
div.navheader ul li.up,
|
||||||
div.navfooter ul li.up{
|
div.navfooter ul li.up{
|
||||||
top: 20vmin;
|
top: 20vmin;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.navheader ul li.home a,
|
div.navheader ul li.home a,
|
||||||
div.navfooter ul li.home a{
|
div.navfooter ul li.home a{
|
||||||
display: block;
|
display: block;
|
||||||
width: 0px;
|
width: 0px;
|
||||||
@ -814,8 +814,8 @@ div.navfooter ul li.next a{
|
|||||||
background-size: 6vmin 6vmin;
|
background-size: 6vmin 6vmin;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.navheader ul li.up a,
|
div.navheader ul li.up a,
|
||||||
div.navfooter ul li.up a{
|
div.navfooter ul li.up a{
|
||||||
display: block;
|
display: block;
|
||||||
width: 0px;
|
width: 0px;
|
||||||
@ -830,14 +830,14 @@ div.navfooter ul li.next a{
|
|||||||
/* End media */
|
/* End media */
|
||||||
|
|
||||||
/* TOC */
|
/* TOC */
|
||||||
div.toc ul,
|
div.toc ul,
|
||||||
div.index ul,
|
div.index ul,
|
||||||
div.navheader ul,
|
div.navheader ul,
|
||||||
div.navfooter ul {
|
div.navfooter ul {
|
||||||
list-style: none;
|
list-style: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
li.preface,
|
li.preface,
|
||||||
.part li.appendix {
|
.part li.appendix {
|
||||||
margin-left: 1em;
|
margin-left: 1em;
|
||||||
}
|
}
|
||||||
@ -846,8 +846,8 @@ div.toc h3 {
|
|||||||
margin: 1em 0em 0.3em 0em;
|
margin: 1em 0em 0.3em 0em;
|
||||||
}
|
}
|
||||||
|
|
||||||
li.appendix h3,
|
li.appendix h3,
|
||||||
li.glossary h3,
|
li.glossary h3,
|
||||||
li.index h3 {
|
li.index h3 {
|
||||||
margin: 0.5em
|
margin: 0.5em
|
||||||
}
|
}
|
||||||
@ -911,13 +911,13 @@ li.chapter h4 a {
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
margin-left: 1em;
|
margin-left: 1em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.item + .indexref {
|
.item + .indexref {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
padding-left: 0px;
|
padding-left: 0px;
|
||||||
margin-left: 1em;
|
margin-left: 1em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.secitem + .indexref {
|
.secitem + .indexref {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
padding-left: 0px;
|
padding-left: 0px;
|
||||||
@ -947,7 +947,7 @@ div.admon pre {
|
|||||||
margin: 0.5em 3em;
|
margin: 0.5em 3em;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.note,
|
div.note,
|
||||||
div.tip {
|
div.tip {
|
||||||
margin: 1em;
|
margin: 1em;
|
||||||
padding: 0.2em 0.5em 0.75em 0.75em;
|
padding: 0.2em 0.5em 0.75em 0.75em;
|
||||||
@ -958,8 +958,8 @@ div.tip {
|
|||||||
line-height: 1.4em;
|
line-height: 1.4em;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.important,
|
div.important,
|
||||||
div.warning,
|
div.warning,
|
||||||
div.caution {
|
div.caution {
|
||||||
margin: 1em;
|
margin: 1em;
|
||||||
padding: 0.2em 0.5em 0.75em 0.75em;
|
padding: 0.2em 0.5em 0.75em 0.75em;
|
||||||
@ -970,14 +970,14 @@ div.caution {
|
|||||||
line-height: 1.4em;
|
line-height: 1.4em;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.important h3,
|
div.important h3,
|
||||||
div.warning h3,
|
div.warning h3,
|
||||||
div.caution h3 {
|
div.caution h3 {
|
||||||
color: #900;
|
color: #900;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.important em,
|
div.important em,
|
||||||
div.warning em,
|
div.warning em,
|
||||||
div.caution em {
|
div.caution em {
|
||||||
color: #000;
|
color: #000;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
@ -995,7 +995,7 @@ div.caution em {
|
|||||||
margin-right: auto;
|
margin-right: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.table table th,
|
.table table th,
|
||||||
.table table td {
|
.table table td {
|
||||||
padding: 0.2em 2em 0.2em 2em;
|
padding: 0.2em 2em 0.2em 2em;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
@ -1038,7 +1038,7 @@ div.caution em {
|
|||||||
}
|
}
|
||||||
/* End media */
|
/* End media */
|
||||||
|
|
||||||
.variablelist td span,
|
.variablelist td span,
|
||||||
td p {
|
td p {
|
||||||
margin: 0.25em;
|
margin: 0.25em;
|
||||||
padding: 0px;
|
padding: 0px;
|
||||||
@ -1112,7 +1112,7 @@ div.materials dd {
|
|||||||
display: block;
|
display: block;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.package .segbody, .content .segbody {
|
.package .segbody, .content .segbody {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
padding-left: 0px;
|
padding-left: 0px;
|
||||||
@ -1194,17 +1194,17 @@ ol.compact li p {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Indented blocks */
|
/* Indented blocks */
|
||||||
p,
|
p,
|
||||||
blockquote {
|
blockquote {
|
||||||
padding-left: 1em;
|
padding-left: 1em;
|
||||||
padding-right: 1em;
|
padding-right: 1em;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Monospaced elements */
|
/* Monospaced elements */
|
||||||
tt,
|
tt,
|
||||||
code,
|
code,
|
||||||
kbd,
|
kbd,
|
||||||
pre,
|
pre,
|
||||||
.command {
|
.command {
|
||||||
font-family: monospace;
|
font-family: monospace;
|
||||||
}
|
}
|
||||||
@ -1229,7 +1229,7 @@ pre.screen {
|
|||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
.literal,
|
.literal,
|
||||||
.prompt {
|
.prompt {
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
}
|
}
|
||||||
|
@ -8,257 +8,257 @@
|
|||||||
* Makefile.lfs: Adjust warning flags. Adjust linking rules to
|
* Makefile.lfs: Adjust warning flags. Adjust linking rules to
|
||||||
allow build with util-linux in LFS's /tools directory.
|
allow build with util-linux in LFS's /tools directory.
|
||||||
|
|
||||||
2010-01-26 Matt Burgess <matthew@linuxfromscratch.org>
|
2010-01-26 Matt Burgess <matthew@linuxfromscratch.org>
|
||||||
* 55-lfs.rules: Remove lots of rules that have been merged upstream.
|
* 55-lfs.rules: Remove lots of rules that have been merged upstream.
|
||||||
* 61-cdrom.rules: Remove as upstream has a replacement.
|
* 61-cdrom.rules: Remove as upstream has a replacement.
|
||||||
* doc/*: Cleanup and rewrite now that the rules are much simpler.
|
* doc/*: Cleanup and rewrite now that the rules are much simpler.
|
||||||
|
|
||||||
2009-09-25 Bryan Kadzban <bryan@linuxfromscratch.org>
|
2009-09-25 Bryan Kadzban <bryan@linuxfromscratch.org>
|
||||||
* 55-lfs.rules: Make the RTC rule (which runs setclock) work for people
|
* 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,
|
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
|
using KERNEL=="rtc" instead of SUBSYSTEM=="rtc". Also move the ACTION
|
||||||
match before the assignment to MODE.
|
match before the assignment to MODE.
|
||||||
|
|
||||||
2009-05-23 Bruce Dubbs <bdubbs@linuxfromscratch.org>
|
2009-05-23 Bruce Dubbs <bdubbs@linuxfromscratch.org>
|
||||||
* 55-lfs.rules: Set the rtc by udev upon boot. Removed aio device from
|
* 55-lfs.rules: Set the rtc by udev upon boot. Removed aio device from
|
||||||
udev configuration so defaults are used.
|
udev configuration so defaults are used.
|
||||||
|
|
||||||
2009-05-16 Bryan Kadzban <bryan@linuxfromscratch.org>
|
2009-05-16 Bryan Kadzban <bryan@linuxfromscratch.org>
|
||||||
* 55-lfs.rules: Adopt udev permissions for random, urandom, kmsg, and
|
* 55-lfs.rules: Adopt udev permissions for random, urandom, kmsg, and
|
||||||
input devices (including psaux, which probably doesn't exist anymore
|
input devices (including psaux, which probably doesn't exist anymore
|
||||||
anyway).
|
anyway).
|
||||||
|
|
||||||
2009-05-16 Matt Burgess <matthew@linuxfromscratch.org>
|
2009-05-16 Matt Burgess <matthew@linuxfromscratch.org>
|
||||||
* 55-lfs.rules: Remove the block rule as it was only setting
|
* 55-lfs.rules: Remove the block rule as it was only setting
|
||||||
permissions that Udev will set by default
|
permissions that Udev will set by default
|
||||||
* 55-lfs.rules: Remove the rfcomm rule as the group it sets is already
|
* 55-lfs.rules: Remove the rfcomm rule as the group it sets is already
|
||||||
included in upstream's rule
|
included in upstream's rule
|
||||||
* 55-lfs-rules: Remove the tape rules as the group they sets is already
|
* 55-lfs-rules: Remove the tape rules as the group they sets is already
|
||||||
included in upstream's rules
|
included in upstream's rules
|
||||||
|
|
||||||
2009-03-15 Bryan Kadzban <bryan@linuxfromscratch.org>
|
2009-03-15 Bryan Kadzban <bryan@linuxfromscratch.org>
|
||||||
* 55-lfs.rules: Remove the ISDN-handling rules (replaced with upstream's
|
* 55-lfs.rules: Remove the ISDN-handling rules (replaced with upstream's
|
||||||
version, which has a better match via SUBSYSTEM).
|
version, which has a better match via SUBSYSTEM).
|
||||||
* 55-lfs.rules: Replace "uucp" with "dialout" now that udev has decided
|
* 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
|
to standardize on a Debian-like setup (uucp is for UUCP daemons to use
|
||||||
for privilege separation; dialout is for users and devices).
|
for privilege separation; dialout is for users and devices).
|
||||||
|
|
||||||
2008-12-07 Bruce Dubbs <bdubbs@linuxfromscratch.org>
|
2008-12-07 Bruce Dubbs <bdubbs@linuxfromscratch.org>
|
||||||
* 55-lfs.rules: Change one line to use continuation so it does
|
* 55-lfs.rules: Change one line to use continuation so it does
|
||||||
not overflow the book's width.
|
not overflow the book's width.
|
||||||
|
|
||||||
2008-12-07 Bryan Kadzban <bryan@linuxfromscratch.org>
|
2008-12-07 Bryan Kadzban <bryan@linuxfromscratch.org>
|
||||||
* 55-lfs.rules: Remove several rules that are either provided by upstream,
|
* 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
|
or that don't have any effect (there is no /dev/js or /dev/djs according
|
||||||
to devices.txt).
|
to devices.txt).
|
||||||
* 55-lfs.rules, 61-cdrom.rules: Replace ACTION=="add" with "add|change"
|
* 55-lfs.rules, 61-cdrom.rules: Replace ACTION=="add" with "add|change"
|
||||||
everywhere, per upstream's general request.
|
everywhere, per upstream's general request.
|
||||||
|
|
||||||
2008-11-11 Bryan Kadzban <bryan@linuxfromscratch.org>
|
2008-11-11 Bryan Kadzban <bryan@linuxfromscratch.org>
|
||||||
* 55-lfs.rules, 61-cdrom.rules: Fix comments to use the right rule
|
* 55-lfs.rules, 61-cdrom.rules: Fix comments to use the right rule
|
||||||
numbers. Thanks to Trent Shea for the fix. Closes #2278.
|
numbers. Thanks to Trent Shea for the fix. Closes #2278.
|
||||||
|
|
||||||
2008-10-15 DJ Lucas <dj@linuxfromscratch.org>
|
2008-10-15 DJ Lucas <dj@linuxfromscratch.org>
|
||||||
* 55-lfs.rules: Override default perms on floppy disk devices provided
|
* 55-lfs.rules: Override default perms on floppy disk devices provided
|
||||||
by 50-udev-default.rules. Thanks to Bruce Dubbs for the fix. Closes
|
by 50-udev-default.rules. Thanks to Bruce Dubbs for the fix. Closes
|
||||||
LFS ticket #2076.
|
LFS ticket #2076.
|
||||||
|
|
||||||
2008-05-21 Bryan Kadzban <bryan@linuxfromscratch.org>
|
2008-05-21 Bryan Kadzban <bryan@linuxfromscratch.org>
|
||||||
* 81-firmware.rules, doc/81-firmware.txt: Remove. This rule is
|
* 81-firmware.rules, doc/81-firmware.txt: Remove. This rule is
|
||||||
already handled by udev's 50-udev-default.rules file. The docs
|
already handled by udev's 50-udev-default.rules file. The docs
|
||||||
can be added back later if needed.
|
can be added back later if needed.
|
||||||
* Makefile: Don't install the above deleted files.
|
* Makefile: Don't install the above deleted files.
|
||||||
* 55-lfs.rules: Remove the device-mapper rule, since the upstream
|
* 55-lfs.rules: Remove the device-mapper rule, since the upstream
|
||||||
50-udev-default.rules file handles it properly.
|
50-udev-default.rules file handles it properly.
|
||||||
|
|
||||||
2008-04-02 Bryan Kadzban <bryan@linuxfromscratch.org>
|
2008-04-02 Bryan Kadzban <bryan@linuxfromscratch.org>
|
||||||
* Makefile: Make the package DESTDIR-friendly by installing the docs
|
* Makefile: Make the package DESTDIR-friendly by installing the docs
|
||||||
into a fixed $(PREFIX)/share/doc/udev-config directory, instead of
|
into a fixed $(PREFIX)/share/doc/udev-config directory, instead of
|
||||||
trying to figure out what version of udev was just installed.
|
trying to figure out what version of udev was just installed.
|
||||||
|
|
||||||
2007-10-30 Bryan Kadzban <bryan@linuxfromscratch.org>
|
2007-10-30 Bryan Kadzban <bryan@linuxfromscratch.org>
|
||||||
* 55-lfs.rules: Since the dialout group was renamed to uucp, delete
|
* 55-lfs.rules: Since the dialout group was renamed to uucp, delete
|
||||||
the rules that override upstream's assignment of the dialout group.
|
the rules that override upstream's assignment of the dialout group.
|
||||||
Replace "dialout" with "uucp" on the remaining rules.
|
Replace "dialout" with "uucp" on the remaining rules.
|
||||||
|
|
||||||
2007-10-29 Bryan Kadzban <bryan@linuxfromscratch.org>
|
2007-10-29 Bryan Kadzban <bryan@linuxfromscratch.org>
|
||||||
* 51-lfs.rules: Move to 55-lfs.rules.
|
* 51-lfs.rules: Move to 55-lfs.rules.
|
||||||
* doc/51-lfs.rules: Move to doc/55-lfs.rules.
|
* doc/51-lfs.rules: Move to doc/55-lfs.rules.
|
||||||
|
|
||||||
2007-10-27 Bryan Kadzban <bryan@linuxfromscratch.org>
|
2007-10-27 Bryan Kadzban <bryan@linuxfromscratch.org>
|
||||||
* 25-lfs.rules: Some rules in here are duplicates of rules from udev's
|
* 25-lfs.rules: Some rules in here are duplicates of rules from udev's
|
||||||
new 50-udev-defaults.rules file; remove them. Override permissions
|
new 50-udev-defaults.rules file; remove them. Override permissions
|
||||||
where needed elsewhere (and document overrides in comments).
|
where needed elsewhere (and document overrides in comments).
|
||||||
* 26-modprobe.rules: Provided by udev's 80-drivers.rules and built-in
|
* 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.
|
modaliases for SCSI device-type modules in 2.6.22+ kernels; remove.
|
||||||
|
|
||||||
* 25-lfs.rules: Move to 51-lfs.rules.
|
* 25-lfs.rules: Move to 51-lfs.rules.
|
||||||
* 27-firmware.rules: Move to 81-firmware.rules.
|
* 27-firmware.rules: Move to 81-firmware.rules.
|
||||||
* 81-cdrom.rules: Move to 61-cdrom.rules.
|
* 81-cdrom.rules: Move to 61-cdrom.rules.
|
||||||
|
|
||||||
* doc/25-lfs.txt: Rename to 51-lfs.txt.
|
* doc/25-lfs.txt: Rename to 51-lfs.txt.
|
||||||
* doc/26-modprobe.txt: Rename to 80-drivers.txt, and modify to reflect
|
* doc/26-modprobe.txt: Rename to 80-drivers.txt, and modify to reflect
|
||||||
the upstream rules.
|
the upstream rules.
|
||||||
* doc/27-firmware.txt: Rename to 81-firmware.txt.
|
* doc/27-firmware.txt: Rename to 81-firmware.txt.
|
||||||
* doc/81-cdrom.txt: Rename to 61-cdrom.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>
|
2007-07-31 Dan Nicholson <dnicholson@linuxfromscratch.org>
|
||||||
* 25-lfs.rules: Changed the usb_device rule tto create /dev/bus/usb
|
* 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
|
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
|
to only trigger on "add" events. This change is not backwards
|
||||||
compatible with older kernels.
|
compatible with older kernels.
|
||||||
|
|
||||||
2007-06-12 Dan Nicholson <dnicholson@linuxfromscratch.org>
|
2007-06-12 Dan Nicholson <dnicholson@linuxfromscratch.org>
|
||||||
* 25-lfs.rules: Fix the CPUID nodes from cpu/%n/cpu to cpu/%n/cpuid,
|
* 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.
|
which is what's expected in userspace apps such as x86info.
|
||||||
|
|
||||||
2007-06-08 Bryan Kadzban <bryan@linuxfromscratch.org>
|
2007-06-08 Bryan Kadzban <bryan@linuxfromscratch.org>
|
||||||
* 25-lfs.rules: Add rules for DVB devices (create nodes in /dev/dvb/)
|
* 25-lfs.rules: Add rules for DVB devices (create nodes in /dev/dvb/)
|
||||||
and floppies (create extra nodes based on CMOS type), copied from
|
and floppies (create extra nodes based on CMOS type), copied from
|
||||||
the SuSE rules file. Thanks to Alexander Patrakov for the bugreport.
|
the SuSE rules file. Thanks to Alexander Patrakov for the bugreport.
|
||||||
|
|
||||||
2007-03-04 Matthew Burgess <matthew@linuxfromscratch.org>
|
2007-03-04 Matthew Burgess <matthew@linuxfromscratch.org>
|
||||||
* Makefile: Use `udevd --version' to work out what version of Udev is
|
* Makefile: Use `udevd --version' to work out what version of Udev is
|
||||||
installed (requires Udev >= 106)
|
installed (requires Udev >= 106)
|
||||||
|
|
||||||
2007-01-02 Bryan Kadzban <bryan@linuxfromscratch.org>
|
2007-01-02 Bryan Kadzban <bryan@linuxfromscratch.org>
|
||||||
* 25-lfs.rules: Change CPU devices (cpu, msr, microcode) to be in
|
* 25-lfs.rules: Change CPU devices (cpu, msr, microcode) to be in
|
||||||
/dev/cpu/ and /dev/cpu/N/, to match Documentation/devices.txt.
|
/dev/cpu/ and /dev/cpu/N/, to match Documentation/devices.txt.
|
||||||
|
|
||||||
2006-10-21 Bryan Kadzban <bryan@linuxfromscratch.org>
|
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,
|
* 05-udev-early.rules, 60-persistent-input.rules,
|
||||||
60-persistent-storage.rules, 95-udev-late.rules: Remove. The book
|
60-persistent-storage.rules, 95-udev-late.rules: Remove. The book
|
||||||
will install these files from udev's etc/udev/rules.d directory
|
will install these files from udev's etc/udev/rules.d directory
|
||||||
instead.
|
instead.
|
||||||
* Makefile: Don't install these rules files after all. Also, only
|
* Makefile: Don't install these rules files after all. Also, only
|
||||||
install corresponding docs if requested.
|
install corresponding docs if requested.
|
||||||
|
|
||||||
2006-10-20 Bryan Kadzban <bryan@linuxfromscratch.org>
|
2006-10-20 Bryan Kadzban <bryan@linuxfromscratch.org>
|
||||||
* Makefile: Added; contains targets to install rules and doc files.
|
* Makefile: Added; contains targets to install rules and doc files.
|
||||||
From Dan Nicholson.
|
From Dan Nicholson.
|
||||||
|
|
||||||
2006-10-14 Bryan Kadzban <bryan@linuxfromscratch.org>
|
2006-10-14 Bryan Kadzban <bryan@linuxfromscratch.org>
|
||||||
* 05-udev-early.rules, 60-persistent-storage.rules: Sync up with
|
* 05-udev-early.rules, 60-persistent-storage.rules: Sync up with
|
||||||
upstream sample rules files (from udev-102), except for one rule
|
upstream sample rules files (from udev-102), except for one rule
|
||||||
which is more specific in our tarball and should probably be changed
|
which is more specific in our tarball and should probably be changed
|
||||||
upstream.
|
upstream.
|
||||||
* doc/60-persistent-storage.txt: Modify to match the changes. Also
|
* doc/60-persistent-storage.txt: Modify to match the changes. Also
|
||||||
fix a couple typos.
|
fix a couple typos.
|
||||||
|
|
||||||
* 25-lfs.rules: Remove duplicate rules (ttyS[0-9]* is also matched by
|
* 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).
|
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
|
* 25-lfs.rules: Fix Alsa device KERNEL rules. Udev uses shell-style
|
||||||
glob matching, not regular expressions, so the old rules would match
|
glob matching, not regular expressions, so the old rules would match
|
||||||
nonsense device names like hw0asdf and pcmDzxcv. As long as the first
|
nonsense device names like hw0asdf and pcmDzxcv. As long as the first
|
||||||
character after the "fixed" portion was in the list, the rule would
|
character after the "fixed" portion was in the list, the rule would
|
||||||
match; it wouldn't apply the same character range to later characters.
|
match; it wouldn't apply the same character range to later characters.
|
||||||
|
|
||||||
* doc/25-lfs.txt: Add a note on interaction between permissions and
|
* doc/25-lfs.txt: Add a note on interaction between permissions and
|
||||||
symlinks.
|
symlinks.
|
||||||
|
|
||||||
2006-10-09 Bryan Kadzban <bryan@linuxfromscrtach.org>
|
2006-10-09 Bryan Kadzban <bryan@linuxfromscrtach.org>
|
||||||
* 25-lfs.rules: Fix fb[0-9]* device permissions (should use the default
|
* 25-lfs.rules: Fix fb[0-9]* device permissions (should use the default
|
||||||
0660).
|
0660).
|
||||||
|
|
||||||
* doc/25-lfs.txt: Fix typo: /dev/ptmx is given mode 0666, not 0660.
|
* doc/25-lfs.txt: Fix typo: /dev/ptmx is given mode 0666, not 0660.
|
||||||
Also tweak the comment about other TTY devices.
|
Also tweak the comment about other TTY devices.
|
||||||
|
|
||||||
2006-10-04 Bryan Kadzban <bryan@linuxfromscratch.org>
|
2006-10-04 Bryan Kadzban <bryan@linuxfromscratch.org>
|
||||||
* 05-udev-early.rules: Remove WAIT_FOR_SYSFS="bus" rule. With kernel
|
* 05-udev-early.rules: Remove WAIT_FOR_SYSFS="bus" rule. With kernel
|
||||||
2.6.18, this rule is no longer required.
|
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>
|
2006-09-28 Bryan Kadzban <bryan@linuxfromscratch.org>
|
||||||
* doc/60-persistent-storage.txt: Explain persistent storage rules, or
|
* doc/60-persistent-storage.txt: Explain persistent storage rules, or
|
||||||
at least the parts I understand. (I don't use DASD or netblock or
|
at least the parts I understand. (I don't use DASD or netblock or
|
||||||
several other supported configurations.)
|
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
|
* doc/95-udev-late.txt: Explain 95-udev-late.rules. Documentation is
|
||||||
now finished.
|
now finished.
|
||||||
|
|
||||||
2006-09-26 Bryan Kadzban <bryan@linuxfromscratch.org>
|
2006-09-26 Bryan Kadzban <bryan@linuxfromscratch.org>
|
||||||
* doc/60-persistent-input.txt: Explain (in probably too much detail)
|
* doc/60-persistent-input.txt: Explain (in probably too much detail)
|
||||||
60-persistent-input.rules.
|
60-persistent-input.rules.
|
||||||
|
|
||||||
2006-09-24 Bryan Kadzban <bryan@linuxfromscratch.org>
|
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>
|
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>
|
2006-09-23 Bryan Kadzban <bryan@linuxfromscratch.org>
|
||||||
* doc: New subdirectory to contain documentation of rules
|
* doc: New subdirectory to contain documentation of rules
|
||||||
* doc/README: New file, top-level documentation
|
* doc/README: New file, top-level documentation
|
||||||
* doc/*.txt: New documentation files, one for each rules file. Only
|
* doc/*.txt: New documentation files, one for each rules file. Only
|
||||||
05-udev-early.txt has anything in it.
|
05-udev-early.txt has anything in it.
|
||||||
|
|
||||||
2006-09-23 Bryan Kadzban <bryan@linuxfromscratch.org>
|
2006-09-23 Bryan Kadzban <bryan@linuxfromscratch.org>
|
||||||
* 25-lfs.rules: Add "ignore_device" to OPTIONS for DRI devices, instead
|
* 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
|
of setting NAME to an empty string. This matches the way we ignore
|
||||||
devmapper / LVM devices.
|
devmapper / LVM devices.
|
||||||
|
|
||||||
2006-09-22 Bryan Kadzban <bryan@linuxfromscratch.org>
|
2006-09-22 Bryan Kadzban <bryan@linuxfromscratch.org>
|
||||||
* 60-persistent-input.rules, 95-udev-late.rules: Import from udev-100.
|
* 60-persistent-input.rules, 95-udev-late.rules: Import from udev-100.
|
||||||
60-persistent-input.rules creates persistent symlinks for input
|
60-persistent-input.rules creates persistent symlinks for input
|
||||||
devices, and 95-udev-late.rules enables udevmonitor.
|
devices, and 95-udev-late.rules enables udevmonitor.
|
||||||
|
|
||||||
* 60-persistent-storage.rules: Replace ATTRS{../removable} with just
|
* 60-persistent-storage.rules: Replace ATTRS{../removable} with just
|
||||||
ATTRS{removable} on partition devices. Replace ATTRS{removable}
|
ATTRS{removable} on partition devices. Replace ATTRS{removable}
|
||||||
with ATTR{removable} on whole-disk devices.
|
with ATTR{removable} on whole-disk devices.
|
||||||
|
|
||||||
2006-09-20 Bryan Kadzban <bryan@linuxfromscratch.org>
|
2006-09-20 Bryan Kadzban <bryan@linuxfromscratch.org>
|
||||||
* 05-early.rules: Missed a rule in the last change. ENV{PHYSDEVBUS}
|
* 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
|
in the rule that waits for the "bus" symlink should be replaced by
|
||||||
SUBSYSTEMS.
|
SUBSYSTEMS.
|
||||||
|
|
||||||
2006-09-20 Bryan Kadzban <bryan@linuxfromscratch.org>
|
2006-09-20 Bryan Kadzban <bryan@linuxfromscratch.org>
|
||||||
* Adapted rules to the new matches used in udev-098 and above (e.g.,
|
* Adapted rules to the new matches used in udev-098 and above (e.g.,
|
||||||
SYSFS becomes ATTRS). Prevents warnings, and support for the old
|
SYSFS becomes ATTRS). Prevents warnings, and support for the old
|
||||||
matches will be removed eventually. These rules will not work with
|
matches will be removed eventually. These rules will not work with
|
||||||
udev-097 and before!
|
udev-097 and before!
|
||||||
* Fixed several bugs in the rules left over from previous udev
|
* Fixed several bugs in the rules left over from previous udev
|
||||||
versions (missing commas, overwriting user symlinks using ="..."
|
versions (missing commas, overwriting user symlinks using ="..."
|
||||||
instead of +="...", and matching against "*" instead of "?*").
|
instead of +="...", and matching against "*" instead of "?*").
|
||||||
|
|
||||||
* Renamed CHANGELOG to ChangeLog, started using pseudo-GNU-format
|
* Renamed CHANGELOG to ChangeLog, started using pseudo-GNU-format
|
||||||
entries. (See standards.info; search it for "changelog" to get
|
entries. (See standards.info; search it for "changelog" to get
|
||||||
the general gist.)
|
the general gist.)
|
||||||
|
|
||||||
dnicholson - Jul 14, 2006
|
dnicholson - Jul 14, 2006
|
||||||
* Fixed usbdev PROGRAM so that it works with the BusyBox sh. Thanks
|
* Fixed usbdev PROGRAM so that it works with the BusyBox sh. Thanks
|
||||||
to Anthony Wright.
|
to Anthony Wright.
|
||||||
|
|
||||||
n/a - Jul 12, 2006
|
n/a - Jul 12, 2006
|
||||||
* Added options so temporary nodes are not created with device-mapper
|
* Added options so temporary nodes are not created with device-mapper
|
||||||
* Adapted cdrom rules to identify CD-ROM drives correctly by adding
|
* Adapted cdrom rules to identify CD-ROM drives correctly by adding
|
||||||
SUBSYSTEM=="block" test.
|
SUBSYSTEM=="block" test.
|
||||||
* Added simple 81-cdrom.rules file to set cdrom group ownership
|
* Added simple 81-cdrom.rules file to set cdrom group ownership
|
||||||
|
|
||||||
n/a - Jun 07, 2006
|
n/a - Jun 07, 2006
|
||||||
* Removed nvidia rules
|
* Removed nvidia rules
|
||||||
* Removed bug reporting rule
|
* Removed bug reporting rule
|
||||||
* Moved Debian-based persistent CD-ROM rules to contrib
|
* Moved Debian-based persistent CD-ROM rules to contrib
|
||||||
* Adapted firmware rule to udev-093
|
* Adapted firmware rule to udev-093
|
||||||
|
|
||||||
n/a - May 15, 2006
|
n/a - May 15, 2006
|
||||||
* Part one of 25-lfs.rules rewrite
|
* Part one of 25-lfs.rules rewrite
|
||||||
* Some minor tweaking of the layout
|
* Some minor tweaking of the layout
|
||||||
|
|
||||||
n/a - May 12, 2006
|
n/a - May 12, 2006
|
||||||
* Initial import of the udev-config directory.
|
* Initial import of the udev-config directory.
|
||||||
* Reorganized and modularized the rules files.
|
* Reorganized and modularized the rules files.
|
||||||
* Added explanatory comments
|
* Added explanatory comments
|
||||||
|
@ -107,7 +107,7 @@ match="BUS==\"$PHYSDEVBUS\", ID==\"$id\""
|
|||||||
|
|
||||||
comment="$ID_MODEL ($ID_PATH)"
|
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_CD_RW" ] && write_rule "$match" "cdrw$link_num"
|
||||||
[ "$ID_CDROM_DVD" ] && write_rule "$match" "dvd$link_num"
|
[ "$ID_CDROM_DVD" ] && write_rule "$match" "dvd$link_num"
|
||||||
[ "$ID_CDROM_DVD_RW" ] && write_rule "$match" "dvdrw$link_num"
|
[ "$ID_CDROM_DVD_RW" ] && write_rule "$match" "dvdrw$link_num"
|
||||||
|
Loading…
Reference in New Issue
Block a user