Changeset f4facc4
- Timestamp:
- 09/23/2022 04:06:19 PM (12 months ago)
- Branches:
- xry111/arm64, xry111/arm64-12.0
- Children:
- 44784c1
- Parents:
- c6df98a1 (diff), 10d7c7a8 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - Files:
-
- 1 added
- 60 edited
Legend:
- Unmodified
- Added
- Removed
-
Makefile
rc6df98a1 rf4facc4 27 27 PDF_OUTPUT ?= LFS-BOOK.pdf 28 28 NOCHUNKS_OUTPUT ?= LFS-BOOK.html 29 DUMPDIR ?= ~/ cross-lfs-commands29 DUMPDIR ?= ~/lfs-commands 30 30 else 31 31 BASEDIR ?= ~/lfs-systemd … … 137 137 --noent \ 138 138 --postvalid \ 139 139 -o $(RENDERTMP)/lfs-full.xml \ 140 140 $(RENDERTMP)/lfs-html2.xml 141 141 … … 148 148 $(Q)xsltproc --nonet \ 149 149 --stringparam profile.condition html \ 150 150 --output $(RENDERTMP)/lfs-html.xml \ 151 151 stylesheets/lfs-xsl/profile.xsl \ 152 152 $(RENDERTMP)/lfs-full.xml 153 153 154 154 wget-list: $(BASEDIR)/wget-list $(BASEDIR)/wget-list-$(REV) … … 159 159 $(Q)xsltproc --xinclude --nonet \ 160 160 --output $(BASEDIR)/wget-list \ 161 161 stylesheets/wget-list.xsl \ 162 162 chapter03/chapter03.xml 163 163 … … 198 198 $(Q)./git-version.sh $(REV) 199 199 200 #dump-commands: validate 201 # @echo "Dumping book commands..." 202 # $(Q)xsltproc --nonet \ 203 # --output $(RENDERTMP)/lfs-html.xml \ 204 # --stringparam profile.revision $(REV) \ 205 # stylesheets/lfs-xsl/profile.xsl \ 206 # $(RENDERTMP)/lfs-full.xml 207 208 # $(Q)rm -rf $(DUMPDIR) 209 210 # $(Q)xsltproc --output $(DUMPDIR)/ \ 211 # stylesheets/dump-commands.xsl \ 212 # $(RENDERTMP)/lfs-html.xml 213 # @echo "Dumping book commands complete in $(DUMPDIR)" 214 215 all: book nochunks pdf # dump-commands 200 dump-commands: validate 201 @echo "Dumping book commands..." 202 203 $(Q)rm -rf $(DUMPDIR) 204 205 $(Q)xsltproc --output $(DUMPDIR)/ \ 206 stylesheets/dump-commands.xsl \ 207 $(RENDERTMP)/lfs-full.xml 208 @echo "Dumping book commands complete in $(DUMPDIR)" 209 210 all: book nochunks pdf dump-commands 216 211 217 212 .PHONY : all book dump-commands nochunks pdf profile-html tmpdir validate md5sums wget-list version -
appendices/acknowledgments.xml
rc6df98a1 rf4facc4 248 248 <info@shizu-net.jp> – lfs.mirror.shizu-net.jp mirror</para> 249 249 </listitem> 250 250 <!-- domain name can't be resolved on Sept 5, 2022 251 251 <listitem> 252 252 <para><ulink url="http://www.initworld.com/">Init World</ulink> 253 253 <http://www.initworld.com/> – lfs.initworld.com mirror</para> 254 254 </listitem> 255 255 --> 256 256 </itemizedlist> 257 257 -
appendices/dependencies.xml
rc6df98a1 rf4facc4 949 949 <seglistitem> 950 950 <seg> 951 <ulink url="http ://gcc.gnu.org/wiki/GNAT">GNAT</ulink>951 <ulink url="https://gcc.gnu.org/wiki/GNAT">GNAT</ulink> 952 952 and 953 953 <ulink url="https://repo.or.cz/isl.git">ISL</ulink> … … 1187 1187 <seglistitem> 1188 1188 <seg> 1189 <ulink url="&blfs-book;general/pcre .html">PCRE</ulink>1189 <ulink url="&blfs-book;general/pcre2.html">PCRE2</ulink> 1190 1190 and 1191 1191 <ulink url="&blfs-book;general/libsigsegv.html">libsigsegv</ulink> … … 2357 2357 <segtitle>&runtime;</segtitle> 2358 2358 <seglistitem> 2359 <seg>Glibc and Patch</seg>2359 <seg>Glibc</seg> 2360 2360 </seglistitem> 2361 2361 </segmentedlist> … … 2814 2814 <ulink 2815 2815 url="&blfs-book;general/python-modules.html#lxml">lxml</ulink>, 2816 <ulink url="http ://lz4.github.io/lz4/">LZ4</ulink>,2816 <ulink url="https://lz4.github.io/lz4/">LZ4</ulink>, 2817 2817 <ulink url="&blfs-book;postlfs/make-ca.html">make-ca</ulink>, 2818 2818 <ulink url="&blfs-book;postlfs/p11-kit.html">p11-kit</ulink>, … … 3267 3267 <seglistitem> 3268 3268 <seg> 3269 <ulink url="http ://lz4.github.io/lz4/">LZ4</ulink>3269 <ulink url="https://lz4.github.io/lz4/">LZ4</ulink> 3270 3270 </seg> 3271 3271 </seglistitem> -
bootscripts/ChangeLog
rc6df98a1 rf4facc4 1 2022-09-30 Bruce Dubbs <bdubbs@linuxfromscratch.org> 2 * Mount /dev/shm as a tmpfs. 3 1 4 2022-07-23 Thomas Trepl <thomas@linuxfromscratch.org> 2 5 * Mark an raid array clean when root (/) has been remounted -
bootscripts/lfs/init.d/mountvirtfs
rc6df98a1 rf4facc4 39 39 fi 40 40 41 mkdir -p /run/lock /run/shm42 chmod 1777 /run/ shm /run/lock41 mkdir -p /run/lock 42 chmod 1777 /run/lock 43 43 44 44 log_info_msg "Mounting virtual file systems: ${INFO}/run" … … 59 59 fi 60 60 61 ln -sfn /run/shm /dev/shm 61 mkdir -p /dev/shm 62 log_info_msg2 " ${INFO}/dev/shm" 63 mount -o nosuid,nodev /dev/shm || failed=1 62 64 63 65 (exit ${failed}) -
bootscripts/lfs/sysconfig/createfiles
rc6df98a1 rf4facc4 9 9 # 10 10 # Notes : The syntax of this file is as follows: 11 # 12 # 13 # 14 # 11 # if type is equal to "file" or "dir" 12 # <filename> <type> <permissions> <user> <group> 13 # if type is equal to "dev" 14 # <filename> <type> <permissions> <user> <group> <devtype> 15 15 # <major> <minor> 16 16 # 17 # 18 # 19 # 20 # 21 # 22 # 23 # 24 # 25 # 17 # <filename> is the name of the file which is to be created 18 # <type> is either file, dir, or dev. 19 # file creates a new file 20 # dir creates a new directory 21 # dev creates a new device 22 # <devtype> is either block, char or pipe 23 # block creates a block device 24 # char creates a character deivce 25 # pipe creates a pipe, this will ignore the <major> and 26 26 # <minor> fields 27 # 27 # <major> and <minor> are the major and minor numbers used for 28 28 # the device. 29 29 ######################################################################## -
bootscripts/lfs/sysconfig/modules
rc6df98a1 rf4facc4 9 9 # 10 10 # Notes : The syntax of this file is as follows: 11 # 11 # <module> [<arg1> <arg2> ...] 12 12 # 13 13 # Each module should be on its own line, and any options that you want -
chapter01/changelog.xml
rc6df98a1 rf4facc4 42 42 43 43 <listitem> 44 <para>2022-09-22</para> 45 <itemizedlist> 46 <listitem> 47 <para>[bdubbs] - Update to expat-2.4.9 (Security Update). Fixes 48 <ulink url="&lfs-ticket-root;5117">#5117</ulink>.</para> 49 </listitem> 50 </itemizedlist> 51 </listitem> 52 53 <listitem> 54 <para>2022-09-20</para> 55 <itemizedlist> 56 <listitem> 57 <para>[bdubbs] - Adapt instructions depending on 58 host setup of /dev/shm when creating virtual filesystems 59 for chroot.</para> 60 </listitem> 61 </itemizedlist> 62 </listitem> 63 64 <listitem> 65 <para>2022-09-15</para> 66 <itemizedlist> 67 <listitem> 68 <para>[bdubbs] - Update to file-5.43. Fixes 69 <ulink url="&lfs-ticket-root;5113">#5113</ulink>.</para> 70 </listitem> 71 <listitem> 72 <para>[bdubbs] - Update to linux-5.19.8. Fixes 73 <ulink url="&lfs-ticket-root;5111">#5111</ulink>.</para> 74 </listitem> 75 <listitem> 76 <para>[bdubbs] - Update to gawk-5.2.0. Fixes 77 <ulink url="&lfs-ticket-root;5108">#5108</ulink>.</para> 78 </listitem> 79 <listitem> 80 <para>[bdubbs] - Update to meson-0.63.2. Fixes 81 <ulink url="&lfs-ticket-root;5106">#5106</ulink>.</para> 82 </listitem> 83 <listitem> 84 <para>[bdubbs] - Update to ninja-1.11.1. Fixes 85 <ulink url="&lfs-ticket-root;5103">#5103</ulink>.</para> 86 </listitem> 87 <listitem> 88 <para>[bdubbs] - Update to bc-6.0.2. Fixes 89 <ulink url="&lfs-ticket-root;5102">#5102</ulink>.</para> 90 </listitem> 91 <listitem revision="sysv"> 92 <para>[bdubbs] - Fix the location of udev rules in eudev. Fixes 93 <ulink url="&lfs-ticket-root;5112">#5112</ulink>.</para> 94 </listitem> 95 <listitem> 96 <para>[bdubbs] - Remove a warning for egrep and fgrep that 97 makes tests for some packages fail.</para> 98 </listitem> 99 <listitem> 100 <para>[bdubbs] - Delete an empty binutils man page. Fixes 101 <ulink url="&lfs-ticket-root;5100">#5100</ulink>.</para> 102 </listitem> 103 </itemizedlist> 104 </listitem> 105 106 <listitem> 107 <para>2022-09-10</para> 108 <itemizedlist> 109 <listitem> 110 <para>[pierre] - Add <option>--enable-default-pie</option> and 111 <option>--enable-default-ssp</option> to GCC build. Rationale 112 and some reports at 113 <ulink url="&lfs-ticket-root;5107">#5107</ulink>.</para> 114 </listitem> 115 </itemizedlist> 116 </listitem> 117 118 <listitem> 119 <para>2022-09-07</para> 120 <itemizedlist> 121 <listitem> 122 <para>[bdubbs] - Update to shadow-4.12.3. Fixes 123 <ulink url="&lfs-ticket-root;5101">#5101</ulink>.</para> 124 </listitem> 125 <listitem> 126 <para>[bdubbs] - Update to Python3-3.10.7. Fixes 127 <ulink url="&lfs-ticket-root;5109">#5109</ulink>.</para> 128 </listitem> 129 <listitem> 130 <para>[bdubbs] - Update to linux-5.19.7. Fixes 131 <ulink url="&lfs-ticket-root;5099">#5099</ulink>.</para> 132 </listitem> 133 <listitem> 134 <para>[bdubbs] - Update to less-608. Fixes 135 <ulink url="&lfs-ticket-root;5104">#5104</ulink>.</para> 136 </listitem> 137 <listitem> 138 <para>[bdubbs] - Update to grep-3.8. Fixes 139 <ulink url="&lfs-ticket-root;5105">#5105</ulink>.</para> 140 </listitem> 141 </itemizedlist> 142 </listitem> 143 144 <listitem> 44 145 <para>2022-09-01</para> 45 146 <itemizedlist> -
chapter01/how.xml
rc6df98a1 rf4facc4 47 47 work your way through <xref linkend="chapter-cross-tools"/> and beyond.</para> 48 48 49 <para><xref linkend="chapter-cross-tools"/> ,explains the installation of49 <para><xref linkend="chapter-cross-tools"/> explains the installation of 50 50 the initial tool chain, (binutils, gcc, and glibc) using cross compilation 51 51 techniques to isolate the new tools from the host system.</para> … … 62 62 provided in <xref linkend="ch-tools-toolchaintechnotes"/>.</para> 63 63 64 <para>In <xref linkend="chapter-building-system"/> , The64 <para>In <xref linkend="chapter-building-system"/> the 65 65 full LFS system is built. Another advantage provided by the chroot 66 66 environment is that it allows you to continue using the host system -
chapter01/whatsnew.xml
rc6df98a1 rf4facc4 45 45 <para>Bc &bc-version;</para> 46 46 </listitem> 47 < listitem>47 <!--<listitem> 48 48 <para>Binutils-&binutils-version;</para> 49 </listitem> 49 </listitem>--> 50 50 <!--<listitem> 51 51 <para>Bison-&bison-version;</para> … … 57 57 <para>Check-&check-version;</para> 58 58 </listitem>--> 59 < listitem>59 <!--<listitem> 60 60 <para>Coreutils-&coreutils-version;</para> 61 </listitem> 61 </listitem>--> 62 62 <!--<listitem> 63 63 <para>DejaGNU-&dejagnu-version;</para> 64 64 </listitem>--> 65 < listitem revision="systemd">65 <!--<listitem revision="systemd"> 66 66 <para>D-Bus-&dbus-version;</para> 67 </listitem> 67 </listitem>--> 68 68 <!--<listitem> 69 69 <para>Diffutils-&diffutils-version;</para> 70 70 </listitem>--> 71 < listitem>71 <!--<listitem> 72 72 <para>E2fsprogs-&e2fsprogs-version;</para> 73 </listitem> 73 </listitem>--> 74 74 <!--<listitem revision="sysv"> 75 75 <para>Eudev-&eudev-version;</para> … … 90 90 <para>Flex-&flex-version;</para> 91 91 </listitem>--> 92 < !--<listitem>92 <listitem> 93 93 <para>Gawk-&gawk-version;</para> 94 </listitem> -->95 < listitem>94 </listitem> 95 <!--<listitem> 96 96 <para>GCC-&gcc-version;</para> 97 </listitem> 97 </listitem>--> 98 98 <!--<listitem> 99 99 <para>GDBM-&gdbm-version;</para> … … 102 102 <para>Gettext-&gettext-version;</para> 103 103 </listitem>--> 104 < listitem>104 <!--<listitem> 105 105 <para>Glibc-&glibc-version;</para> 106 </listitem> 106 </listitem>--> 107 107 <!--<listitem> 108 108 <para>GMP-&gmp-version;</para> … … 111 111 <para>Gperf-&gperf-version;</para> 112 112 </listitem>--> 113 < !--<listitem>113 <listitem> 114 114 <para>Grep-&grep-version;</para> 115 </listitem> -->115 </listitem> 116 116 <!--<listitem> 117 117 <para>Groff-&groff-version;</para> … … 120 120 <para>GRUB-&grub-version;</para> 121 121 </listitem>--> 122 < listitem>122 <!--<listitem> 123 123 <para>Gzip-&gzip-version;</para> 124 </listitem> 125 < listitem>124 </listitem>--> 125 <!--<listitem> 126 126 <para>IANA-Etc-&iana-etc-version;</para> 127 </listitem>128 < listitem>127 </listitem>--> 128 <!--<listitem> 129 129 <para>Inetutils-&inetutils-version;</para> 130 </listitem> 130 </listitem>--> 131 131 <!--<listitem> 132 132 <para>Intltool-&intltool-version;</para> 133 133 </listitem>--> 134 < listitem>134 <!--<listitem> 135 135 <para>IPRoute2-&iproute2-version;</para> 136 </listitem> 137 < listitem revision="systemd">136 </listitem>--> 137 <!--<listitem revision="systemd"> 138 138 <para>Jinja2-&jinja2-version;</para> 139 </listitem> 140 < listitem>139 </listitem>--> 140 <!--<listitem> 141 141 <para>Kbd-&kbd-version;</para> 142 </listitem> 143 < listitem>142 </listitem>--> 143 <!--<listitem> 144 144 <para>Kmod-&kmod-version;</para> 145 </listitem> 146 < !--<listitem>145 </listitem>--> 146 <listitem> 147 147 <para>Less-&less-version;</para> 148 </listitem> -->148 </listitem> 149 149 <!--<listitem> 150 150 <para>LFS-Bootscripts-&lfs-bootscripts-version;</para> 151 151 </listitem>--> 152 < listitem>152 <!--<listitem> 153 153 <para>Libcap-&libcap-version;</para> 154 </listitem> 155 < listitem>154 </listitem>--> 155 <!--<listitem> 156 156 <para>Libelf-&elfutils-version; (from elfutils)</para> 157 </listitem> 157 </listitem>--> 158 158 <!--<listitem> 159 159 <para>Libffi-&libffi-version;</para> 160 160 </listitem>--> 161 < listitem>161 <!--<listitem> 162 162 <para>Libpipeline-&libpipeline-version;</para> 163 </listitem> 164 < listitem>163 </listitem>--> 164 <!--<listitem> 165 165 <para>Libtool-&libtool-version;</para> 166 </listitem> 166 </listitem>--> 167 167 <listitem> 168 168 <para>Linux-&linux-version;</para> … … 174 174 <para>Make-&make-version;</para> 175 175 </listitem>--> 176 < listitem>176 <!--<listitem> 177 177 <para>Man-DB-&man-db-version;</para> 178 </listitem> 178 </listitem>--> 179 179 <!--<listitem> 180 180 <para>Man-pages-&man-pages-version;</para> 181 181 </listitem>--> 182 < listitem revision="systemd">182 <!--<listitem revision="systemd"> 183 183 <para>MarkupSafe-&markupsafe-version;</para> 184 </listitem> 184 </listitem>--> 185 185 <listitem> 186 186 <para>Meson-&meson-version;</para> … … 198 198 <para>Ninja-&ninja-version;</para> 199 199 </listitem> 200 < listitem>200 <!--<listitem> 201 201 <para>Openssl-&openssl-version;</para> 202 </listitem> 202 </listitem>--> 203 203 <!--<listitem> 204 204 <para>Patch-&patch-version;</para> 205 205 </listitem>--> 206 < listitem>206 <!--<listitem> 207 207 <para>Perl-&perl-version;</para> 208 </listitem> 208 </listitem>--> 209 209 <!--<listitem> 210 210 <para>Pkg-config-&pkgconfig-version;</para> 211 211 </listitem>--> 212 < listitem>212 <!--<listitem> 213 213 <para>Procps-ng-&procps-ng-version;</para> 214 </listitem> 215 < listitem>214 </listitem>--> 215 <!--<listitem> 216 216 <para>Psmisc-&psmisc-version;</para> 217 </listitem> 217 </listitem>--> 218 218 <listitem> 219 219 <para>Python-&python-version;</para> … … 231 231 <para>Sysklogd-&sysklogd-version;</para> 232 232 </listitem>--> 233 < listitem revision="systemd">233 <!--<listitem revision="systemd"> 234 234 <para>Systemd-&systemd-version;</para> 235 </listitem> 236 < listitem revision="sysv">235 </listitem>--> 236 <!--<listitem revision="sysv"> 237 237 <para>SysVinit-&sysvinit-version;</para> 238 </listitem> 238 </listitem>--> 239 239 <!--<listitem> 240 240 <para>Tar-&tar-version;</para> … … 246 246 <para>Texinfo-&texinfo-version;</para> 247 247 </listitem>--> 248 < listitem>248 <!--<listitem> 249 249 <para>Tzdata-&tzdata-version;</para> 250 </listitem> 251 < listitem>250 </listitem>--> 251 <!--<listitem> 252 252 <para>Util-Linux-&util-linux-version;</para> 253 </listitem> 254 < listitem>253 </listitem>--> 254 <!--<listitem> 255 255 <para>Vim-&vim-version;</para> 256 </listitem> 256 </listitem>--> 257 257 <!--<listitem> 258 258 <para>XML-Parser-&xml-parser-version;</para> 259 259 </listitem>--> 260 < listitem>260 <!--<listitem> 261 261 <para>XZ-Utils-&xz-version;</para> 262 </listitem> 263 < listitem>262 </listitem>--> 263 <!--<listitem> 264 264 <para>Zlib-&zlib-version;</para> 265 </listitem> 265 </listitem>--> 266 266 <!--<listitem> 267 267 <para>Zstd-&zstd-version;</para> … … 281 281 <title>Added:</title> 282 282 <listitem><para></para></listitem> <!-- satisfy build --> 283 <listitem> 284 <para>Wheel-&wheel-version;</para> 285 </listitem> 286 <!-- 287 <listitem> 283 284 <!--<listitem> 288 285 <para>&xz-upstream-fix-patch;</para> 289 </listitem> 290 --> 291 <listitem> 292 <para>&zstd-upstream-fixes-patch;</para> 293 </listitem> 286 </listitem>--> 294 287 </itemizedlist> 295 288 … … 298 291 <listitem><para></para></listitem> <!-- satisfy build --> 299 292 300 < listitem>293 <!--<listitem> 301 294 <para>perl-5.34.0-upstream_fixes-1.patch</para> 302 </listitem> 303 <listitem> 304 <para>systemd-250-kernel_5.17_fixes-1.patch</para> 305 </listitem> 306 <listitem> 307 <para>systemd-250-upstream_fixes-1.patch</para> 308 </listitem> 309 295 </listitem>--> 310 296 </itemizedlist> 311 297 -
chapter02/creatingfilesystem.xml
rc6df98a1 rf4facc4 11 11 <title>Creating a File System on the Partition</title> 12 12 13 <para>Now that a blank partition has been set up, the file system can be 14 created. LFS can use any file system recognized by the Linux kernel, but the 15 most common types are ext3 and ext4. The choice of file system can be 16 complex and depends on the characteristics of the files and the size of 13 <para>A partition is just a range of sectors on a disk drive, delimited by 14 boundaries set in a partition table. Before the operating system can use 15 a blank partition, the partition must be formatted to contain a file 16 system, typically consisting of a label, directory blocks, data blocks, and 17 an indexing scheme to locate a particular file on demand. The file system 18 also helps the OS keep track of free space on the partition, reserve the 19 needed sectors when a new file is created or an existing file is extended, 20 and recycle the free data segments created when files are deleted. It may 21 also provide support for data redundancy, and for error recovery.</para> 22 23 <para>LFS can use any file system recognized by the Linux kernel, but the 24 most common types are ext3 and ext4. The choice of the right file system can be 25 complex; it depends on the characteristics of the files and the size of 17 26 the partition. For example:</para> 18 27 … … 34 43 <varlistentry> 35 44 <term>ext4</term> 36 <listitem><para>is the latest version of the ext f ile system family of37 partition types. It provides several new capabilities including38 nano-second timestamps, creation and use of very large files (16 TB), and39 speed improvements.</para>45 <listitem><para>is the latest version of the ext family of 46 file systems. It provides several new capabilities including 47 nano-second timestamps, creation and use of very large files 48 (up to 16 TB), and speed improvements.</para> 40 49 </listitem> 41 50 </varlistentry> … … 43 52 44 53 <para>Other file systems, including FAT32, NTFS, ReiserFS, JFS, and XFS are 45 useful for specialized purposes. More information about these file systems46 can be found at <ulink47 url="http ://en.wikipedia.org/wiki/Comparison_of_file_systems"/>.</para>54 useful for specialized purposes. More information about these file systems, 55 and many others, can be found at <ulink 56 url="https://en.wikipedia.org/wiki/Comparison_of_file_systems"/>.</para> 48 57 49 <para>LFS assumes that the root file system (/) is of type ext4. 58 <para>LFS assumes that the root file system (/) is of type ext4. To create 50 59 an <systemitem class="filesystem">ext4</systemitem> file system on the LFS 51 partition, run the following:</para>60 partition, issue the following command:</para> 52 61 53 62 <screen role="nodump"><userinput>mkfs -v -t ext4 /dev/<replaceable><xxx></replaceable></userinput></screen> -
chapter02/creatingpartition.xml
rc6df98a1 rf4facc4 95 95 <para>Swapping is never good. For mechanical hard drives you can generally 96 96 tell if a system is swapping by just listening to disk activity and 97 observing how the system reacts to commands. For an SSD driveyou will not98 be able to hear swapping but you can tell how much swap space is being used99 by the <command>top</command> or <command>free</command> programs. Use of100 an SSD drivefor a swap partition should be avoided if possible. The first97 observing how the system reacts to commands. With an SSD you will not 98 be able to hear swapping, but you can tell how much swap space is being used 99 by running the <command>top</command> or <command>free</command> programs. Use of 100 an SSD for a swap partition should be avoided if possible. The first 101 101 reaction to swapping should be to check for an unreasonable command such as 102 102 trying to edit a five gigabyte file. If swapping becomes a normal … … 113 113 loader. This partition will normally be labeled 'BIOS Boot' if using 114 114 <command>fdisk</command> or have a code of <emphasis>EF02</emphasis> if 115 using <command>gdisk</command>.</para>115 using the <command>gdisk</command> command.</para> 116 116 117 117 <note><para>The Grub Bios partition must be on the drive that the BIOS 118 uses to boot the system. This is not necessarily the same drive where the119 LFS root partition is located. Disks on a system may use different120 partition table types. The requirement for this partition depends118 uses to boot the system. This is not necessarily the drive that holds 119 the LFS root partition. The disks on a system may use different 120 partition table types. The necessity of the Grub Bios partition depends 121 121 only on the partition table type of the boot disk.</para></note> 122 122 </sect3> … … 134 134 store kernels and other booting information. To minimize potential boot 135 135 problems with larger disks, make this the first physical partition on 136 your first disk drive. A partition size of 200 megabytes is quite136 your first disk drive. A partition size of 200 megabytes is 137 137 adequate.</para></listitem> 138 138 … … 151 151 <filename class="directory">/lib</filename>, and 152 152 <filename class="directory">/sbin</filename> are symlinks to their 153 counterpart in <filename class="directory">/usr</filename>.154 So <filename class="directory">/usr</filename> contains all binaries153 counterparts in <filename class="directory">/usr</filename>. 154 So <filename class="directory">/usr</filename> contains all the binaries 155 155 needed for the system to run. For LFS a separate partition for 156 156 <filename class="directory">/usr</filename> is normally not needed. 157 If you needit anyway, you should make a partition large enough to158 fit all programs and libraries in the system.The root partition can be157 If you create it anyway, you should make a partition large enough to 158 fit all the programs and libraries in the system. The root partition can be 159 159 very small (maybe just one gigabyte) in this configuration, so it's 160 160 suitable for a thin client or diskless workstation (where 161 161 <filename class="directory">/usr</filename> is mounted from a remote 162 server). However you should take care that an initramfs (not covered by163 LFS) will be needed to boot a system with separate162 server). However, you should be aware that an initramfs (not covered by 163 LFS) will be needed to boot a system with a separate 164 164 <filename class="directory">/usr</filename> partition.</para></listitem> 165 165 166 166 <listitem><para>/opt – This directory is most useful for 167 BLFS where multiple installations of large packages like Gnome or KDEcan167 BLFS, where multiple large packages like KDE or Texlive can 168 168 be installed without embedding the files in the /usr hierarchy. If 169 169 used, 5 to 10 gigabytes is generally adequate.</para> 170 170 </listitem> 171 171 172 <listitem><para>/tmp – A separate /tmp directory is rare, but 173 useful if configuring a thin client. This partition, if used, will 174 usually not need to exceed a couple of gigabytes.</para></listitem> 172 <listitem revision='sysv'><para>/tmp – A separate /tmp directory 173 is rare, but useful if configuring a thin client. This partition, if 174 used, will usually not need to exceed a couple of 175 gigabytes. If you have enough RAM, you can mount a 176 <systemitem class='filesystem'>tmpfs</systemitem> on /tmp to make 177 access to temporary files faster.</para></listitem> 178 179 <listitem revision='systemd'><para>/tmp – By default, systemd 180 mounts a <systemitem class='filesystem'>tmpfs</systemitem> here. 181 If you want to override that behavior, follow 182 <xref linkend='systemd-no-tmpfs'/> when configuring the LFS 183 system.</para></listitem> 175 184 176 185 <listitem><para>/usr/src – This partition is very 177 186 useful for providing a location to store BLFS source files and 178 share them across LFS builds. 179 for building BLFS packages. 180 gigabytes allows plenty of room.</para></listitem>187 share them across LFS builds. It can also be used as a location 188 for building BLFS packages. A reasonably large partition of 30-50 189 gigabytes provides plenty of room.</para></listitem> 181 190 182 191 </itemizedlist> 183 192 184 <para>Any separate partition that you want automatically mounted upon boot185 needs to be specified in the <filename>/etc/fstab</filename>. Details186 about how to specify partitions will be discussed in <xref187 linkend="ch-bootable-fstab"/>. 193 <para>Any separate partition that you want automatically mounted when the 194 system starts must be specified in the <filename>/etc/fstab</filename> file. 195 Details about how to specify partitions will be discussed in <xref 196 linkend="ch-bootable-fstab"/>.</para> 188 197 189 198 </sect3> -
chapter02/hostreqs.xml
rc6df98a1 rf4facc4 37 37 <listitem> 38 38 <para><emphasis role="strong">Bison-2.7</emphasis> (/usr/bin/yacc 39 should be a link to bison or small script that executes bison)</para>39 should be a link to bison or a small script that executes bison)</para> 40 40 </listitem> 41 41 -
chapter02/mounting.xml
rc6df98a1 rf4facc4 11 11 <title>Mounting the New Partition</title> 12 12 13 <para>Now that a file system has been created, the partition needs to 14 be made accessible. In order to do this, the partition needs to be 15 mounted at a chosen mount point. For the purposes of this book, it is 16 assumed that the file system is mounted under the directory specified by the 17 <envar>LFS</envar> environment variable as described in the previous section. 13 <para>Now that a file system has been created, the partition must 14 be mounted so the host system can access it. This book assumes that 15 the file system is mounted at the directory specified by the 16 <envar>LFS</envar> environment variable described in the previous section. 18 17 </para> 19 18 20 <para>Create the mount point and mount the LFS file system by running:</para>19 <para>Create the mount point and mount the LFS file system with these commands:</para> 21 20 22 21 <screen role="nodump"><userinput>mkdir -pv $LFS 23 22 mount -v -t ext4 /dev/<replaceable><xxx></replaceable> $LFS</userinput></screen> 24 23 25 <para>Replace <replaceable><xxx></replaceable> with the designationof the LFS24 <para>Replace <replaceable><xxx></replaceable> with the name of the LFS 26 25 partition.</para> 27 26 28 <para>If using multiple partitions for LFS (e.g., one for <filename29 class="directory">/</filename> and another for <filename30 class="directory">/home</filename>), mount them using:</para>27 <para>If you are using multiple partitions for LFS (e.g., one for 28 <filename class="directory">/</filename> and another for <filename 29 class="directory">/home</filename>), mount them like this:</para> 31 30 32 31 <screen role="nodump"><userinput>mkdir -pv $LFS … … 44 43 without any parameters to see what options are set for the mounted LFS 45 44 partition. If <option>nosuid</option> and/or <option>nodev</option> are set, 46 the partition will need tobe remounted.</para>45 the partition must be remounted.</para> 47 46 48 <warning><para>The above instructions assume that you will not be restarting47 <warning><para>The above instructions assume that you will not restart 49 48 your computer throughout the LFS process. If you shut down your system, 50 49 you will either need to remount the LFS partition each time you restart 51 the build process or modify your host system's /etc/fstab file to automatically 52 remount it upon boot. For example: 50 the build process, or modify the host system's /etc/fstab file to automatically 51 remount it when you reboot. For example, you might add this line to your 52 /etc/fstab file: 53 53 54 54 <screen role="nodump">/dev/<replaceable><xxx></replaceable> /mnt/lfs ext4 defaults 1 1</screen> … … 68 68 <systemitem class="filesystem">swap</systemitem> partition.</para> 69 69 70 <para>Now that the re is an established place to work, it is time to70 <para>Now that the new LFS partition is open for business, it's time to 71 71 download the packages.</para> 72 72 -
chapter02/stages.xml
rc6df98a1 rf4facc4 35 35 36 36 <sect2> 37 <title>Chapter 5–6</title>37 <title>Chapters 5–6</title> 38 38 39 39 <itemizedlist> … … 45 45 <para>These two chapters <emphasis>must</emphasis> be done as user 46 46 <systemitem class="username">lfs</systemitem>. 47 A <command>su - lfs</command> needs to be donebefore any task in these48 chapters. Failing todo that, you are at risk of installing packages to the47 A <command>su - lfs</command> command must be issued before any task in these 48 chapters. If you don't do that, you are at risk of installing packages to the 49 49 host, and potentially rendering it unusable.</para> 50 50 </listitem> … … 55 55 doubt about installing a package, ensure any previously expanded 56 56 tarballs are removed, then re-extract the package files, and complete all 57 instructions in that section.</para>57 the instructions in that section.</para> 58 58 </listitem> 59 59 </itemizedlist> … … 61 61 62 62 <sect2> 63 <title>Chapter 7–10</title>63 <title>Chapters 7–10</title> 64 64 65 65 <itemizedlist> … … 70 70 <listitem> 71 71 <para>A few operations, from <quote>Changing Ownership</quote> to 72 <quote>Entering the Chroot Environment</quote> must be done as the72 <quote>Entering the Chroot Environment</quote>, must be done as the 73 73 <systemitem class="username">root</systemitem> user, with the LFS 74 74 environment variable set for the &root; user.</para> … … 78 78 <para> When entering chroot, the LFS environment variable must be set 79 79 for <systemitem class="username">root</systemitem>. The LFS 80 variable is not used after wards.</para>80 variable is not used after entering the chroot environment.</para> 81 81 </listitem> 82 82 -
chapter03/introduction.xml
rc6df98a1 rf4facc4 14 14 order to build a basic Linux system. The listed version numbers correspond to 15 15 versions of the software that are known to work, and this book is based on 16 their use. We highly recommend against using different versions because the build16 their use. We highly recommend against using different versions, because the build 17 17 commands for one version may not work with a different version, unless the 18 different version is specified by a LFS errataor security advisory.18 different version is specified by an LFS erratum or security advisory. 19 19 The newest package versions may also have problems that require 20 20 work-arounds. These work-arounds will be developed and stabilized in the … … 22 22 23 23 <para>For some packages, the release tarball and the (Git or SVN) 24 repository snapshot tarball for th isrelease may be published with25 similar file name . A release tarball contains generated files (for26 example, <command>configure</command> script generated by24 repository snapshot tarball for that release may be published with 25 similar file names. A release tarball contains generated files (for 26 example, a <command>configure</command> script generated by 27 27 <command>autoconf</command>), in addition to the contents of the 28 28 corresponding repository snapshot. The book uses release tarballs … … 32 32 <para>Download locations may not always be accessible. If a download 33 33 location has changed since this book was published, Google (<ulink 34 url="http ://www.google.com/"/>) provides a useful search engine for34 url="https://www.google.com/"/>) provides a useful search engine for 35 35 most packages. If this search is unsuccessful, try one of the 36 36 alternative means of downloading at <ulink … … 70 70 <listitem> 71 71 <para>For stable versions of the book, a tarball of all the needed files 72 can be downloaded from one of the LFS files mirrors listed at72 can be downloaded from one of the mirror sites listed at 73 73 <ulink url="https://www.linuxfromscratch.org/mirrors.html#files"/>.</para> 74 74 </listitem> -
chapter03/packages.xml
rc6df98a1 rf4facc4 21 21 if a newer version (with the vulnerability fixed) should be used. If 22 22 not, try to download the removed package from a mirror. Although it's 23 24 25 23 possible to download an old release from a mirror even if this release 24 has been removed because of a vulnerability, it's not recommended to 25 use a release known to be vulnerable for building your system.</para> 26 26 </note> 27 27 -
chapter04/settingenviron.xml
rc6df98a1 rf4facc4 187 187 user is finished at the beginning of <xref 188 188 linkend="chapter-chroot-temporary-tools"/>, you can restore 189 189 <filename>/etc/bash.bashrc</filename> (if desired).</para> 190 190 191 191 <para>Note that the LFS Bash package we will build in -
chapter05/gcc-pass1.xml
rc6df98a1 rf4facc4 84 84 --with-newlib \ 85 85 --without-headers \ 86 --enable-default-pie \ 87 --enable-default-ssp \ 86 88 --disable-nls \ 87 89 --disable-shared \ … … 130 132 131 133 <varlistentry> 134 <term><parameter>--enable-default-pie and 135 --enable-default-ssp</parameter></term> 136 <listitem> 137 <para>Those switches allow GCC to compile programs with 138 some hardening security features (more information on those in 139 the <xref linkend="pie-ssp-info"/> in chapter 8) by default. The 140 are not strictly needed at this stage, since the compiler will 141 only produce temporary executables. But it is cleaner to have the 142 temporary packages be as close as possible to the final ones. 143 </para> 144 </listitem> 145 </varlistentry> 146 147 <varlistentry> 132 148 <term><parameter>--disable-shared</parameter></term> 133 149 <listitem> -
chapter06/gcc-pass2.xml
rc6df98a1 rf4facc4 88 88 --prefix=/usr \ 89 89 --with-build-sysroot=$LFS \ 90 --enable-default-pie \ 91 --enable-default-ssp \ 90 92 --disable-nls \ 91 93 --disable-multilib \ -
chapter07/cleanup.xml
rc6df98a1 rf4facc4 19 19 <screen><userinput>rm -rf /usr/share/{info,man,doc}/*</userinput></screen> 20 20 21 <para>Second, the libtool .la files are only useful when linking with static22 libraries. They are unneeded and potentially harmful when using dynamic23 shared libraries, especially when using non-autotools build systems.24 While still in chroot, remove those files now:</para>21 <para>Second, on a modern Linux system, the libtool .la files are only 22 useful for libltdl. No libraries in LFS are expected to be loaded by 23 libltdl, and it's known that some .la files can cause BLFS packages 24 fail to build. Remove those files now:</para> 25 25 26 26 <screen><userinput>find /usr/{lib,libexec} -name \*.la -delete</userinput></screen> … … 96 96 <para>Before making a backup, unmount the virtual file systems:</para> 97 97 98 <screen role="nodump"><userinput>umount $LFS/dev/pts 98 <screen role="nodump"><userinput>mountpoint -q $LFS/dev/shm && umount $LFS/dev/shm 99 umount $LFS/dev/pts 99 100 umount $LFS/{sys,proc,run,dev}</userinput></screen> 100 101 -
chapter07/createfiles.xml
rc6df98a1 rf4facc4 49 49 50 50 <screen><userinput>cat > /etc/hosts << EOF 51 127.0.0.1 localhost $(hostname)52 ::1 localhost 51 <literal>127.0.0.1 localhost $(hostname) 52 ::1 localhost</literal> 53 53 EOF</userinput></screen> 54 54 … … 163 163 distributions. In addition, some test suites rely on specific users or 164 164 groups. The Linux Standard Base (LSB, available at <ulink 165 url="http ://refspecs.linuxfoundation.org/lsb.shtml"/>) only recommends that,165 url="https://refspecs.linuxfoundation.org/lsb.shtml"/>) only recommends that, 166 166 besides the group <systemitem class="groupname">root</systemitem> with a 167 167 Group ID (GID) of 0, a group <systemitem class="groupname">bin</systemitem> -
chapter07/kernfs.xml
rc6df98a1 rf4facc4 90 90 directory needs to be created.</para> 91 91 92 <para>In other cases <filename>/dev/shm</filename> is a mountpoint 93 for a tmpfs. In that case the mount of /dev above will only create 94 /dev/shm in the chroot environment as a directory. In this situation 95 we explicitly mount a tmpfs,</para> 96 92 97 <screen><userinput>if [ -h $LFS/dev/shm ]; then 93 98 mkdir -pv $LFS/$(readlink $LFS/dev/shm) 99 else 100 mount -t tmpfs -o nosuid,nodev tmpfs $LFS/dev/shm 94 101 fi</userinput></screen> 95 102 -
chapter08/binutils.xml
rc6df98a1 rf4facc4 168 168 </para> 169 169 170 <para>Twelve tests fail in the <command>gold</command> testsuite when the 171 <option>--enable-default-pie</option> and 172 <option>--enable-default-ssp</option> options are passed to GCC. 173 <!-- Caused by egrep deprecation. Note that we don't "patch" temp grep. 174 And it seems unworthy to add a sed into temp grep just for one test 175 failure. (I don't really agree to "patch" grep in the first place, 176 anyway.) --> 177 The test named <filename>ar with versioned solib</filename> is also 178 known to fail.</para> 179 170 180 <para>Install the package:</para> 171 181 172 182 <screen><userinput remap="install">make tooldir=/usr install</userinput></screen> 173 183 174 <para>Remove useless static libraries:</para> 175 176 <screen><userinput remap="install">rm -fv /usr/lib/lib{bfd,ctf,ctf-nobfd,opcodes}.a</userinput></screen> 184 <para>Remove useless static libraries and an empty man page:</para> 185 186 <screen><userinput remap="install">rm -fv /usr/lib/lib{bfd,ctf,ctf-nobfd,opcodes}.a 187 rm -fv /usr/share/man/man1/gprofng.1</userinput></screen> 177 188 178 189 </sect2> -
chapter08/cleanup.xml
rc6df98a1 rf4facc4 17 17 <para>There are also several files installed in the /usr/lib and /usr/libexec 18 18 directories with a file name extension of .la. These are "libtool archive" 19 files. As already said, they are only useful when linking with static20 libraries. They are unneeded, and potentially harmful, when using dynamic21 shared libraries, specially when using also non-autotools build systems.22 To remove them, run:</para>19 files. As already said, on a modern Linux system the libtool .la files are 20 only useful for libltdl. No libraries in LFS are expected to be loaded 21 by libltdl, and it's known that some .la files can cause BLFS packages 22 fail to build. Remove those files now:</para> 23 23 24 24 <screen><userinput>find /usr/lib /usr/libexec -name \*.la -delete</userinput></screen> -
chapter08/eudev.xml
rc6df98a1 rf4facc4 40 40 <sect2 role="installation"> 41 41 <title>Installation of Eudev</title> 42 <!--43 <para>First, fix a test script:</para>44 42 45 <screen><userinput remap="pre">sed -r -i 's|/usr(/bin/test)|\1|' test/udev-test.pl</userinput></screen> 46 --> 47 <!-- 48 <para>Next, remove an unneeded line that causes a build failure:</para> 43 49 44 50 <screen><userinput remap="pre">sed -i '/keyboard_lookup_key/d' src/udev/udev-builtin-keyboard.c</userinput></screen> 51 --> 45 <para>First fix the location of udev rules in the .pc file:</para> 46 47 <screen><userinput remap="pre">sed -i '/udevdir/a udev_dir=${udevdir}' src/udev/udev.pc.in</userinput></screen> 52 48 53 49 <para>Prepare Eudev for compilation:</para> -
chapter08/gawk.xml
rc6df98a1 rf4facc4 44 44 45 45 <screen><userinput remap="pre">sed -i 's/extras//' Makefile.in</userinput></screen> 46 47 <para>Now fix a programming error identified upstream:</para> 48 49 <screen><userinput remap="pre">sed -i '241i UPREF(m);' interpret.h</userinput></screen> 46 50 47 51 <para>Prepare Gawk for compilation:</para> -
chapter08/gcc.xml
rc6df98a1 rf4facc4 71 71 LD=ld \ 72 72 --enable-languages=c,c++ \ 73 --enable-default-pie \ 74 --enable-default-ssp \ 73 75 --disable-multilib \ 74 76 --disable-bootstrap \ … … 101 103 </variablelist> 102 104 105 <note> 106 <anchor id="pie-ssp-info" xreflabel="note on PIE and SSP"/> 107 <para> 108 PIE (position-independent executable) is a technique to produce 109 binary programs that can be loaded anywhere in memory. Without PIE, 110 the security feature named ASLR (Address Space Layout Randomization) 111 can be applied for the shared libraries, but not the executable 112 itself. Enabling PIE allows ASLR for the executables in addition to 113 the shared libraries, and mitigates some attacks based on fixed 114 addresses of sensitive code or data in the executables. 115 </para> 116 <para> 117 SSP (Stack Smashing Protection) is a technique to ensure 118 that the parameter stack is not corrupted. Stack corruption can 119 for example alter the return address of a subroutine, 120 which would allow transferring control to some dangerous code 121 (existing in the program or shared libraries, or injected by the 122 attacker somehow) instead of the original one. 123 </para> 124 </note> 125 103 126 <para>Compile the package:</para> 104 127 … … 107 130 <important> 108 131 <para>In this section, the test suite for GCC is considered 109 important, but it takes a long time. First time builders are 132 important, but it takes a long time. First time builders are 110 133 encouraged to not skip it. The time to run the tests can be 111 134 reduced significantly by adding -jx to the make command below … … 133 156 url="&test-results;"/> and 134 157 <ulink url="https://gcc.gnu.org/ml/gcc-testresults/"/>.</para> 158 159 <para>In gcc, eleven tests, in the i386 test suite are known to FAIL. 160 It's because the test files do not account for the 161 <parameter>--enable-default-pie</parameter> option.</para> 135 162 136 163 <para>In g++, four tests related to PR100400 are known to be reported … … 211 238 <para>Now make sure that we're setup to use the correct start files:</para> 212 239 213 <screen><userinput>grep - o '/usr/lib.*/crt[1in].*succeeded' dummy.log</userinput></screen>240 <screen><userinput>grep -E -o '/usr/lib.*/S?crt[1in].*succeeded' dummy.log</userinput></screen> 214 241 215 242 <para>The output of the last command should be:</para> 216 243 217 <screen><computeroutput>/usr/lib/gcc/aarch64-unknown-linux-gnu/&gcc-version;/../../../../lib/ crt1.o succeeded244 <screen><computeroutput>/usr/lib/gcc/aarch64-unknown-linux-gnu/&gcc-version;/../../../../lib/Scrt1.o succeeded 218 245 /usr/lib/gcc/aarch64-unknown-linux-gnu/&gcc-version;/../../../../lib/crti.o succeeded 219 246 /usr/lib/gcc/aarch64-unknown-linux-gnu/&gcc-version;/../../../../lib/crtn.o succeeded</computeroutput></screen> … … 573 600 <listitem> 574 601 <para>Contains routines supporting GCC's stack-smashing protection 575 functionality</para> 602 functionality. Normally it's unused because glibc also provides 603 those routines</para> 576 604 <indexterm zone="ch-system-gcc libssp"> 577 605 <primary sortas="c-libssp">libssp</primary> -
chapter08/gettext.xml
rc6df98a1 rf4facc4 63 63 <para>Since bison is not yet installed in /usr, configure hardcodes 64 64 the directory containing translations for the bison program (the 65 65 "locale" directory) as /tools/share/locale. Passing this variable 66 66 to make allows overriding the choice made by configure.</para> 67 67 </listitem> -
chapter08/grep.xml
rc6df98a1 rf4facc4 40 40 <sect2 role="installation"> 41 41 <title>Installation of Grep</title> 42 43 <para> 44 First, remove a warning about using egrep and fgrep that makes 45 tests on some packages fail: 46 </para> 47 48 <screen><userinput remap="pre">sed -i "s/echo/#echo/" src/egrep.sh</userinput></screen> 42 49 43 50 <para>Prepare Grep for compilation:</para> -
chapter08/groff.xml
rc6df98a1 rf4facc4 53 53 54 54 <screen><userinput remap="configure">PAGE=<replaceable><paper_size></replaceable> ./configure --prefix=/usr</userinput></screen> 55 56 <para>Build the package:</para> 55 57 56 58 <screen><userinput remap="make">make</userinput></screen> -
chapter08/libtool.xml
rc6df98a1 rf4facc4 53 53 <para>To test the results<!--(about 11.0 SBU)-->, issue:</para> 54 54 55 <screen><userinput remap="test">make check</userinput></screen>55 <screen><userinput remap="test">make -k check</userinput></screen> 56 56 57 57 <note><para>The test time for libtool can be reduced significantly on a … … 62 62 63 63 <para>Five tests are known to fail in the LFS build environment due 64 to a circular dependency, but all tests pass if rechecked after 65 automake is installed.</para> 64 to a circular dependency, but these tests pass if rechecked after 65 automake is installed. Additionally, with grep-3.8, two tests will 66 trigger a warning for non-POSIX regular expressions and fail.</para> 66 67 67 68 <para>Install the package:</para> -
chapter08/meson.xml
rc6df98a1 rf4facc4 97 97 <seg>meson</seg> 98 98 <seg> 99 /usr/lib/python&python-minor;/site-packages/meson-&meson-version;.dist-info and 99 /usr/lib/python&python-minor;/site-packages/meson-&meson-version;.dist-info and 100 100 /usr/lib/python&python-minor;/site-packages/mesonbuild 101 101 </seg> … … 109 109 110 110 <varlistentry id="meson"> 111 111 <term><command>meson</command></term> 112 112 <listitem> 113 113 <para>A high productivity build system</para> -
chapter08/ncurses.xml
rc6df98a1 rf4facc4 123 123 124 124 <!-- To editors: crash of shell process was very rare but really 125 observed. We can't simply remove /usr/lib/libncursesw.so.6.x like 125 observed. We can't simply remove /usr/lib/libncursesw.so.6.x like 126 126 how we handle libmozjs-xx.so in BLFS because bash needs it, and 127 127 make will spawn new shell processes during "make install". --> … … 132 132 from the library file. Install the package with 133 133 <literal>DESTDIR</literal>, and replace the library file correctly using 134 <command>install</command> command. A useless static archive which is 135 not handled by <command>configure</command> is also removed:</para> 134 <command>install</command> command:</para> 136 135 137 136 <screen><userinput remap="install">make DESTDIR=$PWD/dest install … … 213 212 libmenuw.so, 214 213 libncursesw.so, 214 libncurses++w.so, 215 215 libpanelw.so, and their non-wide-character counterparts without "w" 216 216 in the library names.</seg> … … 367 367 </varlistentry> 368 368 369 <varlistentry id="libncurses__w"> 370 <term><filename class="libraryfile">libncurses++w</filename></term> 371 <listitem> 372 <para>Contains C++ binding for other libraries in this package</para> 373 <indexterm zone="ch-system-ncurses libncurses__w"> 374 <primary sortas="c-libncurses++w">libncurses++w</primary> 375 </indexterm> 376 </listitem> 377 </varlistentry> 378 369 379 <varlistentry id="libformw"> 370 380 <term><filename class="libraryfile">libformw</filename></term> -
chapter08/openssl.xml
rc6df98a1 rf4facc4 44 44 <title>Installation of OpenSSL</title> 45 45 <!-- 46 <para>First fix a problem with some advanced arc itectures with avx51246 <para>First fix a problem with some advanced architectures with avx512 47 47 capability:</para> 48 48 -
chapter08/pkgmgt.xml
rc6df98a1 rf4facc4 284 284 commercial distributions. Examples of package managers that follow this 285 285 approach are RPM (which, incidentally, is required by the <ulink 286 url="http ://refspecs.linuxfoundation.org/lsb.shtml">Linux286 url="https://refspecs.linuxfoundation.org/lsb.shtml">Linux 287 287 Standard Base Specification</ulink>), pkg-utils, Debian's apt, and 288 288 Gentoo's Portage system. A hint describing how to adopt this style of … … 297 297 as more complex package managers do. For details of Slackware package 298 298 management, see <ulink 299 url="http ://www.slackbook.org/html/package-management.html"/>.</para>299 url="https://www.slackbook.org/html/package-management.html"/>.</para> 300 300 </sect3> 301 301 -
chapter08/python.xml
rc6df98a1 rf4facc4 117 117 commands:</para> 118 118 119 120 [global]119 <screen><userinput remap="install">cat > /etc/pip.conf << EOF 120 <literal>[global] 121 121 root-user-action = ignore 122 disable-pip-version-check = true 122 disable-pip-version-check = true</literal> 123 123 EOF 124 124 </userinput></screen> -
chapter08/readline.xml
rc6df98a1 rf4facc4 64 64 <listitem> 65 65 <para>This option tells Readline that it can find the termcap 66 67 68 66 library functions in the curses library, rather than a separate 67 termcap library. It allows generating a correct 68 <filename>readline.pc</filename> file.</para> 69 69 </listitem> 70 70 </varlistentry> -
chapter08/util-linux.xml
rc6df98a1 rf4facc4 101 101 su tester -c "make -k check"</userinput></screen> 102 102 103 <para>The <emphasis>hardlink</emphasis> tests will fail if the host's kernel 103 <para>The <emphasis>hardlink</emphasis> tests will fail if the host's kernel 104 104 does not have the option CONFIG_CRYPTO_USER_API_HASH set.</para> 105 105 -
chapter08/vim.xml
rc6df98a1 rf4facc4 168 168 <note> 169 169 <para>By default, vim only installs spell files for the English language. 170 To install spell files for your preferred language, download the 171 <filename>*.spl</filename> and optionally, the <filename>*.sug</filename> 172 files for your language and character encoding from <ulink 173 url="ftp://ftp.vim.org/pub/vim/runtime/spell/"/> and save them to 174 <filename class='directory'>/usr/share/&vim-docdir;/spell/</filename>.</para> 170 To install spell files for your preferred language, copy the 171 <filename class='extension'>.spl</filename> and optionally, the 172 <filename class='extension'>.sug</filename> files for your language 173 and character encoding from 174 <filename class='directory'>runtime/spell</filename> into 175 <filename class='directory'> 176 /usr/share/&vim-docdir;/spell/</filename>.</para> 175 177 176 178 <para>To use these spell files, some configuration in … … 180 182 set spell</literal></screen> 181 183 182 <para>For more information, see the appropriate README file located183 at the URL above.</para>184 <para>For more information, see 185 <filename>runtime/spell/README.txt</filename>.</para> 184 186 </note> 185 187 -
chapter09/consoled.xml
rc6df98a1 rf4facc4 24 24 information. Decide which keymap and screen font will be used. Various 25 25 language-specific HOWTOs can also help with this, see <ulink 26 url="http ://www.tldp.org/HOWTO/HOWTO-INDEX/other-lang.html"/>.26 url="https://tldp.org/HOWTO/HOWTO-INDEX/other-lang.html"/>. 27 27 Examine the output of <command>localectl list-keymaps</command> for a list of 28 28 valid console keymaps. Look in the -
chapter09/systemd-custom.xml
rc6df98a1 rf4facc4 47 47 </sect2> 48 48 49 <sect2 >49 <sect2 id='systemd-no-tmpfs'> 50 50 <title>Disabling tmpfs for /tmp</title> 51 51 -
chapter09/udev.xml
rc6df98a1 rf4facc4 326 326 <listitem> 327 327 <para>The <systemitem class="filesystem">sysfs</systemitem> Filesystem 328 <ulink url="http ://www.kernel.org/pub/linux/kernel/people/mochel/doc/papers/ols-2005/mochel.pdf"/></para>328 <ulink url="https://www.kernel.org/pub/linux/kernel/people/mochel/doc/papers/ols-2005/mochel.pdf"/></para> 329 329 </listitem> 330 330 -
chapter09/usage.xml
rc6df98a1 rf4facc4 44 44 <note> 45 45 <para> 46 Classically, run level 2 above was defined as 47 "multi-user mode without networking", but this was only the case 46 Classically, run level 2 above was defined as 47 "multi-user mode without networking", but this was only the case 48 48 many years ago when multiple users could log into a system connected via 49 49 serial ports. In today's environment it makes no sense and … … 167 167 is that when a user is going to reboot or halt the system, nothing 168 168 needs to be started, but the order of shutdown needs to be controlled. 169 For these run levels, all <emphasis>K</emphasis> prefixed scripts will be 169 For these run levels, all <emphasis>K</emphasis> prefixed scripts will be 170 170 run before any <emphasis>S</emphasis> prefixed scripts are run with the 171 171 <parameter>stop</parameter> parameter. … … 335 335 information. Decide which keymap and screen font will be used. Various 336 336 language-specific HOWTOs can also help with this, see <ulink 337 url="http ://www.tldp.org/HOWTO/HOWTO-INDEX/other-lang.html"/>. If still in337 url="https://tldp.org/HOWTO/HOWTO-INDEX/other-lang.html"/>. If still in 338 338 doubt, look in the <filename class="directory">/usr/share/keymaps</filename> 339 339 and <filename class="directory">/usr/share/consolefonts</filename> directories -
chapter10/fstab.xml
rc6df98a1 rf4facc4 33 33 tmpfs /run tmpfs defaults 0 0 34 34 devtmpfs /dev devtmpfs mode=0755,nosuid 0 0 35 tmpfs /dev/shm tmpfs nosuid,nodev 0 0 35 36 36 37 # End /etc/fstab</literal> -
chapter10/kernel.xml
rc6df98a1 rf4facc4 106 106 not work correctly or boot at all:</para> 107 107 108 <screen role="nodump" revision="sysv">General setup --> 108 <screen role="nodump" revision="sysv">Processor type and features ---> 109 [*] Build a relocatable kernel [CONFIG_RELOCATABLE] 110 [*] Randomize the address of the kernel image (KASLR) [CONFIG_RANDOMIZE_BASE] 111 General setup ---> 109 112 [ ] Compile the kernel with warnings as errors [CONFIG_WERROR] 110 113 < > Enable kernel headers through /sys/kernel/kheaders.tar.xz [CONFIG_IKHEADERS] 114 General architecture-dependent options ---> 115 [*] Stack Protector buffer overflow detection [CONFIG_STACKPROTECTOR] 116 [*] Strong Stack Protector [CONFIG_STACKPROTECTOR_STRONG] 111 117 Device Drivers ---> 112 118 Graphics support ---> 113 119 Frame buffer Devices ---> 114 [*] Support for frame buffer devices ---- 120 <*> Support for frame buffer devices ---> 121 Console display driver support ---> 122 [*] Framebuffer Console support [CONFIG_FRAMEBUFFER_CONSOLE] 115 123 Generic Driver Options ---> 116 124 [ ] Support for uevent helper [CONFIG_UEVENT_HELPER] … … 118 126 [*] Automount devtmpfs at /dev, after the kernel mounted the rootfs [CONFIG_DEVTMPFS_MOUNT]</screen> 119 127 120 <screen role="nodump" revision="systemd">General setup --> 128 <screen role="nodump" revision="systemd">Processor type and features ---> 129 [*] Build a relocatable kernel [CONFIG_RELOCATABLE] 130 [*] Randomize the address of the kernel image (KASLR) [CONFIG_RANDOMIZE_BASE] 131 General setup ---> 121 132 [ ] Compile the kernel with warnings as errors [CONFIG_WERROR] 122 133 [ ] Auditing Support [CONFIG_AUDIT] … … 131 142 General architecture-dependent options ---> 132 143 [*] Enable seccomp to safely compute untrusted bytecode [CONFIG_SECCOMP] 144 [*] Stack Protector buffer overflow detection [CONFIG_STACKPROTECTOR] 145 [*] Strong Stack Protector [CONFIG_STACKPROTECTOR_STRONG] 133 146 Networking support ---> 134 147 Networking options ---> … … 146 159 Frame buffer Devices ---> 147 160 <*> Support for frame buffer devices ---> 161 Console display driver support ---> 162 [*] Framebuffer Console support [CONFIG_FRAMEBUFFER_CONSOLE] 148 163 File systems ---> 149 164 [*] Inotify support for userspace [CONFIG_INOTIFY_USER] 150 165 Pseudo filesystems ---> 151 166 [*] Tmpfs POSIX Access Control Lists [CONFIG_TMPFS_POSIX_ACL]</screen> 152 153 <para>Disable a feature which is security compromised in this kernel154 release:</para>155 156 <screen role="nodump">Memory Management options --->157 [ ] Enable userfaultfd() system call [CONFIG_USERFAULTFD]</screen>158 167 </note> 159 168 … … 181 190 182 191 <varlistentry> 192 <term><parameter>Randomize the address of the kernel image (KASLR)</parameter></term> 193 <listitem> 194 <para>Enable ASLR for kernel image, to mitigate some attacks based 195 on fixed addresses of sensitive data or code in the kernel.</para> 196 </listitem> 197 </varlistentry> 198 199 <varlistentry> 183 200 <term> 184 201 <parameter> … … 206 223 207 224 <varlistentry> 225 <term><parameter>Strong Stack Protector</parameter></term> 226 <listitem> 227 <para>Enable SSP for the kernel. We've enabled it for the entire 228 userspace with <parameter>--enable-default-ssp</parameter> 229 configuring GCC, but the kernel does not use GCC default setting 230 for SSP. We enable it explicitly here.</para> 231 </listitem> 232 </varlistentry> 233 234 <varlistentry> 208 235 <term><parameter>Support for uevent helper</parameter></term> 209 236 <listitem> … … 233 260 234 261 <varlistentry> 235 <term><parameter>Enable userfaultfd() system call</parameter></term> 236 <listitem> 237 <para>If this option is enabled, a security vulnerability not 238 resolved in Linux-&linux-version; yet will be exploitable. 239 Disable this option to avoid the vulnerability. This system call 240 is not used by any part of LFS or BLFS.</para> 262 <term><parameter>Framebuffer Console support</parameter></term> 263 <listitem> 264 <para>This is needed to display the Linux console on a frame 265 buffer device. To allow the kernel to print debug messages at an 266 early boot stage, it shouldn't be built as a kernel module 267 unless an initramfs will be used. And, if 268 <option>CONFIG_DRM</option> (Direct Rendering Manager) is enabled, 269 it's likely <option>CONFIG_DRM_FBDEV_EMULATION</option> (Enable 270 legacy fbdev support for your modesetting driver) should be 271 enabled as well.</para> 241 272 </listitem> 242 273 </varlistentry> -
chapter11/chapter11.xml
rc6df98a1 rf4facc4 16 16 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="reboot.xml"/> 17 17 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="whatnow.xml"/> 18 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="afterlfs.xml"/> 18 19 19 20 </chapter> -
chapter11/reboot.xml
rc6df98a1 rf4facc4 10 10 11 11 <title>Rebooting the System</title> 12 <para> 13 Now that all of the software has been installed, it is time to reboot 14 your computer. However, there are still a few things to check. 15 Here are some suggestions:</para> 12 16 13 <para>Now that all of the software has been installed, it is time to reboot 14 your computer. However, you should be aware of a few things. The system you 17 18 <!-- 19 The system you 15 20 have created in this book is quite minimal, and most likely will not have 16 21 the functionality you would need to be able to continue forward. By installing … … 18 23 environment, you can leave yourself in a much better position to continue on 19 24 once you reboot into your new LFS installation. Here are some suggestions:</para> 20 25 --> 21 26 <itemizedlist> 22 27 <!-- 23 28 <listitem><para>A text mode browser such as <ulink 24 29 url='&blfs-book;basicnet/lynx.html'>Lynx</ulink> … … 61 66 url='&blfs-book;basicnet/wpa_supplicant.html'>wpa_supplicant</ulink>. 62 67 </para></listitem> 68 --> 69 <listitem> 70 <para> 71 Install any <ulink 72 url='&blfs-book;postlfs/firmware.html'>firmware</ulink> needed if the 73 kernel driver for your hardware requires some firmware files to function 74 properly. 75 </para> 76 </listitem> 63 77 64 <listitem><para>Install <ulink 65 url='&blfs-book;postlfs/firmware.html'>firmwares</ulink> if the kernel 66 driver for your hardware require some firmware to function properly. 67 </para></listitem> 68 69 <listitem><para>Finally, a review of the following configuration files 70 is also appropriate at this point.</para> 78 <listitem> 79 <para> 80 A review of the following configuration files 81 is also appropriate at this point. 82 </para> 71 83 72 84 <itemizedlist> … … 87 99 88 100 <para>Now that we have said that, let's move on to booting our shiny new LFS 89 installation for the first time! First exit from the chroot environment:</para> 101 installation for the first time! <emphasis>First exit from the chroot 102 environment</emphasis>:</para> 90 103 91 104 <screen><userinput>logout</userinput></screen> 92 <!-- We need to show the user the details... 93 <para>Unmount the LFS file system hierarchy:</para> 94 95 <screen><userinput>umount -Rv $LFS</userinput></screen> 96 --> 105 <!-- We need to show the user the details...--> 97 106 98 107 <para>Then unmount the virtual file systems:</para> … … 107 116 partitions before unmounting the main one, like this:</para> 108 117 109 <screen role="nodump"><userinput>umount -v $LFS/usr 110 umount -v $LFS/home 118 <screen role="nodump"><userinput>umount -v $LFS/home 111 119 umount -v $LFS</userinput></screen> 112 120 … … 115 123 <screen role="nodump"><userinput>umount -v $LFS</userinput></screen> 116 124 117 <para>Now, reboot the system with:</para>125 <para>Now, reboot the system.</para> 118 126 119 <screen role="nodump"><userinput>shutdown -r now</userinput></screen> 127 <!-- Commented out because we don't have a host system requirement on 128 its init, and different init system may recommend different commands 129 for reboot. --> 130 <!--<screen role="nodump"><userinput>shutdown -r now</userinput></screen>--> 120 131 121 132 <para>Assuming the GRUB boot loader was set up as outlined earlier, the menu -
chapter11/theend.xml
rc6df98a1 rf4facc4 61 61 EOF</userinput></screen> 62 62 63 <para>Be sure to put some sort of customization for the fields 64 'DISTRIB_CODENAME' and 'VERSION_CODENAME' to make the system uniquely 65 yours.</para> 63 <para>Be sure to customize the fields 'DISTRIB_CODENAME' and 64 'VERSION_CODENAME' to make the system uniquely yours.</para> 66 65 67 66 </sect1> -
chapter11/whatnow.xml
rc6df98a1 rf4facc4 9 9 <?dbhtml filename="whatnow.html"?> 10 10 11 <title> What Now?</title>11 <title>Additional Resources</title> 12 12 13 13 <para>Thank you for reading this LFS book. We hope that you have … … 32 32 33 33 <listitem> 34 <para><ulink url="http://www.cert.org/">CERT</ulink> (Computer 35 Emergency Response Team)</para> 34 <para><ulink url="&lfs-root;lfs/advisories/">LFS Security Advisories</ulink></para> 36 35 37 <para>CERT has a mailing list that publishes security alerts concerning 38 various operating systems and applications. Subscription information is 39 available at <ulink 40 url="http://www.us-cert.gov/cas/signup.html"/>.</para> 36 <para>This is a list of security vulnerabilities discovered in the 37 LFS book after it's published.</para> 41 38 </listitem> 42 39 43 40 <listitem> 44 <para>Bugtraq</para> 41 <para><ulink url="https://seclists.org/oss-sec/">Open Source Security 42 Mailing List</ulink></para> 45 43 46 <para>Bugtraq is a full-disclosure computer security mailing list. It 47 publishes newly discovered security issues, and occasionally potential 48 fixes for them. Subscription information is available at <ulink 49 url="http://www.securityfocus.com/archive"/>.</para> 44 <para>This is a mailing list for discussion of security flaws, 45 concepts, and practices in the Open Source community.</para> 50 46 </listitem> 51 47 52 48 </itemizedlist> 53 49 </listitem> 54 50 <!-- 55 51 <listitem> 56 52 <para>Beyond Linux From Scratch</para> … … 61 57 </para> 62 58 </listitem> 63 59 --> 64 60 <listitem> 65 61 <para>LFS Hints</para> … … 86 82 collaborate on all of the issues of Linux documentation. The TLDP features 87 83 a large collection of HOWTOs, guides, and man pages. It is located at 88 <ulink url="http ://www.tldp.org/"/>.</para>84 <ulink url="https://tldp.org/"/>.</para> 89 85 </listitem> 90 86 -
git-version.sh
rc6df98a1 rf4facc4 2 2 3 3 if [ "$1" = sysv ]; then 4 5 4 SYSV="INCLUDE" 5 SYSTEMD="IGNORE " 6 6 elif [ "$1" = systemd ]; then 7 8 7 SYSV="IGNORE " 8 SYSTEMD="INCLUDE" 9 9 else 10 11 10 echo You must provide either \"sysv\" or \"systemd\" as argument 11 exit 1 12 12 fi 13 13 … … 16 16 17 17 if ! git status > /dev/null; then 18 19 20 21 22 23 24 25 26 27 28 18 # Either it's not a git repository, or git is unavaliable. 19 # Just workaround. 20 echo "<![ %sysv; [" > version.ent 21 echo "<!ENTITY version \"unknown\">" >> version.ent 22 echo "]]>" >> version.ent 23 echo "<![ %systemd; [" >> version.ent 24 echo "<!ENTITY version \"unknown-systemd\">" >> version.ent 25 echo "]]>" >> version.ent 26 echo "<!ENTITY releasedate \"unknown\">" >> version.ent 27 echo "<!ENTITY copyrightdate \"1999-2022\">" >> version.ent 28 exit 0 29 29 fi 30 30 … … 40 40 41 41 case $day in 42 43 44 45 42 "1" | "21" | "31" ) suffix="st";; 43 "2" | "22" ) suffix="nd";; 44 "3" | "23" ) suffix="rd";; 45 * ) suffix="th";; 46 46 esac 47 47 … … 54 54 55 55 if [ "$(git diff HEAD | wc -l)" != "0" ]; then 56 57 56 version="$version+" 57 versiond="$versiond+" 58 58 fi 59 59 -
lfs-latest-git.php
rc6df98a1 rf4facc4 35 35 // Isolate the version and put in an array 36 36 $slice = preg_replace( $regex_replace, "$1", $line ); 37 if ( $slice == $line) continue;37 if ( strcmp( $slice, $line ) == 0 ) continue; 38 38 39 39 array_push( $a, $slice ); … … 267 267 return find_max( $lines, "/^\d/", "/^(\d[\d\.]+\d)\/.*$/" ); 268 268 269 if ( $package == "iana-etc" ) 270 return find_max( $lines, "/^\s*20\d\d/", "/^\s+(\d+).*$/" ); 271 272 if ( $package == "meson" ) 273 return find_max( $lines, "/^\s+\d\./", "/^\s+([\d\.]+)$/" ); 274 275 if ( $package == "shadow" ) 276 return find_max( $lines, "/^\s+\d\./", "/^\s+([\d\.]+)$/" ); 277 269 278 if ( $package == "XML-Parser" ) 270 279 { … … 292 301 return str_replace( "_", ".", $max ); 293 302 } 303 304 if ( $package == "libffi" ) 305 return find_max( $lines, "/v\d/", "/^.*v([\d\.]+)$/" ); 294 306 295 307 if ( $package == "procps-ng" ) -
packages.ent
rc6df98a1 rf4facc4 59 59 <!ENTITY bash-fin-sbu "1.4 SBU"> 60 60 61 <!ENTITY bc-version "6.0. 1">62 <!ENTITY bc-size "44 1KB">61 <!ENTITY bc-version "6.0.2"> 62 <!ENTITY bc-size "442 KB"> 63 63 <!ENTITY bc-url "https://github.com/gavinhoward/bc/releases/download/&bc-version;/bc-&bc-version;.tar.xz"> 64 <!ENTITY bc-md5 " 4c8b8d51eb52ee66f5bcf6a6a1ca576e">64 <!ENTITY bc-md5 "101e62dd9c2b90bf18c38d858aa36f0d"> 65 65 <!ENTITY bc-home "https://git.yzena.com/gavin/bc"> 66 66 <!ENTITY bc-fin-du "7.4 MB"> … … 164 164 <!ENTITY eudev-fin-sbu "0.2 SBU"> 165 165 166 <!ENTITY expat-version "2.4. 8">167 <!ENTITY expat-size "44 4KB">166 <!ENTITY expat-version "2.4.9"> 167 <!ENTITY expat-size "449 KB"> 168 168 <!ENTITY expat-url "&sourceforge;expat/expat-&expat-version;.tar.xz"> 169 <!ENTITY expat-md5 " 0584a7318a4c007f7ec94778799d72fe">169 <!ENTITY expat-md5 "8d7fcf7d02d08bf79d9ae5c21cc72c03"> 170 170 <!ENTITY expat-home "https://libexpat.github.io/"> 171 171 <!ENTITY expat-fin-du "12 MB"> … … 180 180 <!ENTITY expect-tmp-sbu "0.2 SBU"> 181 181 182 <!ENTITY file-version "5.4 2">183 <!ENTITY file-size "1, 080KB">182 <!ENTITY file-version "5.43"> 183 <!ENTITY file-size "1,136 KB"> 184 184 <!ENTITY file-url "https://astron.com/pub/file/file-&file-version;.tar.gz"> 185 <!ENTITY file-md5 " 4d4f70c3b08a8a70d8baf67f085d7e92">185 <!ENTITY file-md5 "8effd70da368210a6c6eece037f978eb"> 186 186 <!ENTITY file-home "https://www.darwinsys.com/file/"> 187 187 <!ENTITY file-tmp-du "34 MB"> … … 208 208 <!ENTITY flex-fin-sbu "0.4 SBU"> 209 209 210 <!ENTITY gawk-version "5. 1.1">211 <!ENTITY gawk-size "3, 075KB">210 <!ENTITY gawk-version "5.2.0"> 211 <!ENTITY gawk-size "3,307 KB"> 212 212 <!ENTITY gawk-url "&gnu;gawk/gawk-&gawk-version;.tar.xz"> 213 <!ENTITY gawk-md5 " 83650aa943ff2fd519b2abedf8506ace">213 <!ENTITY gawk-md5 "2f724d925873fc82f5e7b1d605ba9a42"> 214 214 <!ENTITY gawk-home "&gnu-software;gawk/"> 215 215 <!ENTITY gawk-tmp-du "45 MB"> … … 282 282 <!ENTITY gperf-fin-sbu "less than 0.1 SBU"> 283 283 284 <!ENTITY grep-version "3. 7">285 <!ENTITY grep-size "1,6 03KB">284 <!ENTITY grep-version "3.8"> 285 <!ENTITY grep-size "1,670 KB"> 286 286 <!ENTITY grep-url "&gnu;grep/grep-&grep-version;.tar.xz"> 287 <!ENTITY grep-md5 " 7c9cca97fa18670a21e72638c3e1dabf">287 <!ENTITY grep-md5 "dc6e4d18d4659e6e7552fc4a183c8ac9"> 288 288 <!ENTITY grep-home "&gnu-software;grep/"> 289 289 <!ENTITY grep-tmp-du "25 MB"> … … 375 375 <!ENTITY kmod-fin-sbu "0.1 SBU"> 376 376 377 <!ENTITY less-version " 590">378 <!ENTITY less-size "3 48KB">377 <!ENTITY less-version "608"> 378 <!ENTITY less-size "354 KB"> 379 379 <!ENTITY less-url "https://www.greenwoodsoftware.com/less/less-&less-version;.tar.gz"> 380 <!ENTITY less-md5 " f029087448357812fba450091a1172ab">380 <!ENTITY less-md5 "1cdec714569d830a68f4cff11203cdba"> 381 381 <!ENTITY less-home "https://www.greenwoodsoftware.com/less/"> 382 382 <!ENTITY less-fin-du "4.2 MB"> 383 383 <!ENTITY less-fin-sbu "less than 0.1 SBU"> 384 384 385 <!ENTITY lfs-bootscripts-version "20220 723"> <!-- Scripts depend on this format -->385 <!ENTITY lfs-bootscripts-version "20220920"> <!-- Scripts depend on this format --> 386 386 <!ENTITY lfs-bootscripts-size "BOOTSCRIPTS-SIZE KB"> 387 387 <!ENTITY lfs-bootscripts-url "&downloads-root;lfs-bootscripts-&lfs-bootscripts-version;.tar.xz"> … … 411 411 <!ENTITY libpipeline-url "&savannah;/releases/libpipeline/libpipeline-&libpipeline-version;.tar.gz"> 412 412 <!ENTITY libpipeline-md5 "829c9ba46382b0b3e12dd11fcbc1bb27"> 413 <!ENTITY libpipeline-home "http ://libpipeline.nongnu.org/">413 <!ENTITY libpipeline-home "https://libpipeline.nongnu.org/"> 414 414 <!ENTITY libpipeline-fin-du "10 MB"> 415 415 <!ENTITY libpipeline-fin-sbu "0.1 SBU"> … … 425 425 <!ENTITY linux-major-version "5"> 426 426 <!ENTITY linux-minor-version "19"> 427 <!ENTITY linux-patch-version " 2">427 <!ENTITY linux-patch-version "8"> 428 428 <!--<!ENTITY linux-version "&linux-major-version;.&linux-minor-version;">--> 429 429 <!ENTITY linux-version "&linux-major-version;.&linux-minor-version;.&linux-patch-version;"> 430 <!ENTITY linux-size "128,5 53KB">430 <!ENTITY linux-size "128,547 KB"> 431 431 <!ENTITY linux-url "&kernel;linux/kernel/v&linux-major-version;.x/linux-&linux-version;.tar.xz"> 432 <!ENTITY linux-md5 " 391274e2e49a881403b0ff2e0712bf82">432 <!ENTITY linux-md5 "ae08d14f9b7ed3d47c0d22b6d235507a"> 433 433 <!ENTITY linux-home "https://www.kernel.org/"> 434 434 <!-- measured for 5.13.4 / gcc-11.1.0 on x86_64 : minimum is … … 488 488 <!ENTITY markupsafe-fin-sbu "less than 0.1 SBU"> 489 489 490 <!ENTITY meson-version "0.63. 1">490 <!ENTITY meson-version "0.63.2"> 491 491 <!ENTITY meson-size "2,016 KB"> 492 492 <!ENTITY meson-url "&github;/mesonbuild/meson/releases/download/&meson-version;/meson-&meson-version;.tar.gz"> 493 <!ENTITY meson-md5 " 078e59d11a72b74c3bd78cb8205e9ed7">493 <!ENTITY meson-md5 "12ae3150982645790a4f8a8e8795173c"> 494 494 <!ENTITY meson-home "https://mesonbuild.com"> 495 495 <!ENTITY meson-fin-du "38 MB"> … … 500 500 <!ENTITY mpc-url "https://ftp.gnu.org/gnu/mpc/mpc-&mpc-version;.tar.gz"> 501 501 <!ENTITY mpc-md5 "9f16c976c25bb0f76b50be749cd7a3a8"> 502 <!ENTITY mpc-home "http ://www.multiprecision.org/">502 <!ENTITY mpc-home "https://www.multiprecision.org/"> 503 503 <!ENTITY mpc-fin-du "21 MB"> 504 504 <!ENTITY mpc-fin-sbu "0.3 SBU"> … … 522 522 <!ENTITY ncurses-fin-sbu "0.4 SBU"> 523 523 524 <!ENTITY ninja-version "1.11. 0">525 <!ENTITY ninja-size "22 8KB">524 <!ENTITY ninja-version "1.11.1"> 525 <!ENTITY ninja-size "225 KB"> 526 526 <!ENTITY ninja-url "&github;/ninja-build/ninja/archive/v&ninja-version;/ninja-&ninja-version;.tar.gz"> 527 <!ENTITY ninja-md5 " 7d1a1a2f5cdc06795b3054df5c17d5ef">527 <!ENTITY ninja-md5 "32151c08211d7ca3c1d832064f6939b0"> 528 528 <!ENTITY ninja-home "https://ninja-build.org/"> 529 529 <!ENTITY ninja-fin-du "79 MB"> … … 589 589 meson pages will be needed: python3.6 and python3.6m --> 590 590 591 <!ENTITY python-version "3.10. 6">591 <!ENTITY python-version "3.10.7"> 592 592 <!ENTITY python-minor "3.10"> 593 <!ENTITY python-size "19,1 42KB">593 <!ENTITY python-size "19,159 KB"> 594 594 <!ENTITY python-url "https://www.python.org/ftp/python/&python-version;/Python-&python-version;.tar.xz"> 595 <!ENTITY python-md5 " afc7e14f7118d10d1ba95ae8e2134bf0">595 <!ENTITY python-md5 "b8094f007b3a835ca3be6bdf8116cccc"> 596 596 <!ENTITY python-home "https://www.python.org/"> 597 597 <!ENTITY python-tmp-du "364 MB"> … … 600 600 <!ENTITY python-fin-sbu "3.4 SBU"> 601 601 <!ENTITY python-docs-url "https://www.python.org/ftp/python/doc/&python-version;/python-&python-version;-docs-html.tar.bz2"> 602 <!ENTITY python-docs-md5 " 8f32c4f4f0b18ec56e8b3822bbaeb017">603 <!ENTITY python-docs-size "7, 321KB">602 <!ENTITY python-docs-md5 "d5923c417995334e72c2561812905d23"> 603 <!ENTITY python-docs-size "7,176 KB"> 604 604 605 605 <!ENTITY readline-version "8.1.2"> … … 622 622 <!ENTITY sed-fin-sbu "0.4 SBU"> 623 623 624 <!ENTITY shadow-version "4.12. 2">625 <!ENTITY shadow-size "1,70 6KB">624 <!ENTITY shadow-version "4.12.3"> 625 <!ENTITY shadow-size "1,707 KB"> 626 626 <!ENTITY shadow-url "&github;/shadow-maint/shadow/releases/download/&shadow-version;/shadow-&shadow-version;.tar.xz"> 627 <!ENTITY shadow-md5 " 52637cb34c357acf85c617cf95da34a6">627 <!ENTITY shadow-md5 "710bcc89c39683609aacfef9f08bd854"> 628 628 <!ENTITY shadow-home "https://shadow-maint.github.io/shadow/"> 629 629 <!ENTITY shadow-fin-du "46 MB"> -
part3intro/generalinstructions.xml
rc6df98a1 rf4facc4 83 83 <para>Place all the sources and patches in a directory that will be 84 84 accessible from the chroot environment such as 85 85 <filename class="directory">/mnt/lfs/sources/</filename>.<!-- Do 86 86 <emphasis>not</emphasis> put sources in 87 87 <filename class="directory">/mnt/lfs/tools/</filename>. --></para> 88 88 </listitem> 89 89 <listitem> -
prologue/prerequisites.xml
rc6df98a1 rf4facc4 31 31 <listitem> 32 32 <para>Software-Building-HOWTO 33 <ulink url="http ://www.tldp.org/HOWTO/Software-Building-HOWTO.html"/></para>33 <ulink url="https://tldp.org/HOWTO/Software-Building-HOWTO.html"/></para> 34 34 35 35 <para>This is a comprehensive guide to building and installing … … 41 41 <listitem> 42 42 <para>Beginner's Guide to Installing from Source 43 <ulink url="http ://moi.vonos.net/linux/beginners-installing-from-source/"/></para>43 <ulink url="https://moi.vonos.net/linux/beginners-installing-from-source/"/></para> 44 44 45 45 <para>This guide provides a good summary of basic skills and -
prologue/standards.xml
rc6df98a1 rf4facc4 19 19 <itemizedlist> 20 20 <listitem> 21 <para><ulink url="http ://pubs.opengroup.org/onlinepubs/9699919799/">21 <para><ulink url="https://pubs.opengroup.org/onlinepubs/9699919799/"> 22 22 POSIX.1-2008</ulink>.</para> 23 23 </listitem> 24 24 <listitem> 25 25 <para><ulink 26 url="http ://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html">26 url="https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html"> 27 27 Filesystem Hierarchy Standard (FHS) Version 3.0</ulink></para> 28 28 29 29 </listitem> 30 30 <listitem> 31 <para><ulink url="http ://refspecs.linuxfoundation.org/lsb.shtml">Linux31 <para><ulink url="https://refspecs.linuxfoundation.org/lsb.shtml">Linux 32 32 Standard Base (LSB) Version 5.0 (2015)</ulink></para> 33 33 -
prologue/why.xml
rc6df98a1 rf4facc4 596 596 <para>Wheel</para> 597 597 598 <para>This package contains a Python module that is the 598 <para>This package contains a Python module that is the 599 599 reference implementation of the Python wheel packaging standard. 600 600 </para> -
stylesheets/lfs-xsl/lfs.css.new
rc6df98a1 rf4facc4 15 15 a:link { 16 16 color: #22b; 17 font-weight: bold; 17 font-weight: bold; 18 18 text-decoration: none; 19 19 } 20 20 21 21 a.ulink:link { 22 font-weight: bold; 22 font-weight: bold; 23 23 color: #55f; 24 24 text-decoration: none; … … 30 30 } 31 31 32 a:hover, 32 a:hover, 33 33 a:focus { 34 34 color: #d30e08 ! important; … … 82 82 83 83 /* Sections */ 84 div.sect1, 85 div.appendix, 86 div.wrap, 87 div.chapter, 84 div.sect1, 85 div.appendix, 86 div.wrap, 87 div.chapter, 88 88 div.part, 89 89 div.preface, … … 101 101 102 102 @media(max-width:1220px) and (min-height:550px){ 103 div.sect1, 104 div.appendix, 105 div.wrap, 106 div.chapter, 103 div.sect1, 104 div.appendix, 105 div.wrap, 106 div.chapter, 107 107 div.part, 108 108 div.preface, … … 121 121 (max-width:1050px) and (min-width:800px) and (max-height:550px){ 122 122 123 div.sect1, 124 div.appendix, 125 div.wrap, 126 div.chapter, 123 div.sect1, 124 div.appendix, 125 div.wrap, 126 div.chapter, 127 127 div.part, 128 128 div.preface, … … 139 139 @media(max-width:550px), 140 140 (max-width:800px) and (max-height:550px){ 141 div.sect1, 142 div.appendix, 143 div.wrap, 144 div.chapter, 141 div.sect1, 142 div.appendix, 143 div.wrap, 144 div.chapter, 145 145 div.part, 146 146 div.preface, … … 170 170 } 171 171 172 .package, 173 .kernel, 174 .installation, 175 .commands, 176 .testing, 177 .configuration, 172 .package, 173 .kernel, 174 .installation, 175 .commands, 176 .testing, 177 .configuration, 178 178 .content { 179 179 padding: 0em 0.5em 0.2em 0em; … … 223 223 } 224 224 225 .preface h1, 226 .part h1, 227 .chapter h1, 228 .appendix h1, 229 .index h1, 230 .sect1 h1, 225 .preface h1, 226 .part h1, 227 .chapter h1, 228 .appendix h1, 229 .index h1, 230 .sect1 h1, 231 231 .wrap h1 { 232 232 background: none; /*#f5f6f7;*/ … … 247 247 } 248 248 249 .titlepage h2, 249 .titlepage h2, 250 250 div.navheader h2 { 251 251 font-size: 120%; … … 277 277 } 278 278 279 .titlepage h3, 279 .titlepage h3, 280 280 div.navheader h3 { 281 281 font-size: 120%; … … 284 284 } 285 285 286 .titlepage h4, 286 .titlepage h4, 287 287 div.navheader h4 { 288 288 font-size: 110%; … … 292 292 293 293 @media(max-width:550px){ 294 .titlepage h2, 294 .titlepage h2, 295 295 div.navheader h2 { 296 296 font-size: 4.7vmin; … … 299 299 } 300 300 301 .titlepage h3, 301 .titlepage h3, 302 302 div.navheader h3 { 303 303 font-size: 4.5vmin; … … 306 306 } 307 307 308 .titlepage h4, 308 .titlepage h4, 309 309 div.navheader h4 { 310 310 font-size: 4.3vmin; … … 338 338 } 339 339 340 @media(min-width:550px) and (min-height:550px), 340 @media(min-width:550px) and (min-height:550px), 341 341 (min-width:1220px) and (min-height:550px){ 342 342 div.navfooter{ … … 407 407 } 408 408 409 div.navheader ul li.prev, 409 div.navheader ul li.prev, 410 410 div.navfooter ul li.prev { 411 411 position: fixed; … … 422 422 } 423 423 /* 424 div.navheader ul li.next, 424 div.navheader ul li.next, 425 425 div.navfooter ul li.next { 426 426 position: fixed; … … 434 434 } 435 435 */ 436 div.navheader ul li.next, 436 div.navheader ul li.next, 437 437 div.navfooter ul li.next { 438 438 position: fixed; … … 446 446 } 447 447 448 div.navheader ul li.prev p, 448 div.navheader ul li.prev p, 449 449 div.navfooter ul li.prev p, 450 div.navheader ul li.next p, 450 div.navheader ul li.next p, 451 451 div.navfooter ul li.next p { 452 452 padding: 0em; … … 459 459 } 460 460 461 div.navheader ul li.home, 461 div.navheader ul li.home, 462 462 div.navfooter ul li.home { 463 463 position: fixed; … … 473 473 } 474 474 475 div.navheader ul li.up, 475 div.navheader ul li.up, 476 476 div.navfooter ul li.up { 477 477 position: fixed; … … 488 488 } 489 489 490 div.navheader ul li.up a, 490 div.navheader ul li.up a, 491 491 div.navfooter ul li.up a { 492 492 display: block; … … 496 496 } 497 497 498 div.navheader ul li.home a, 498 div.navheader ul li.home a, 499 499 div.navfooter ul li.home a { 500 500 display: block; … … 504 504 } 505 505 506 div.navheader ul li.prev a, 506 div.navheader ul li.prev a, 507 507 div.navfooter ul li.prev a { 508 508 display: block; … … 523 523 } 524 524 */ 525 div.navheader ul li.next a, 525 div.navheader ul li.next a, 526 526 div.navfooter ul li.next a{ 527 527 display: block; … … 532 532 533 533 @media(max-width:1220px) and (min-height:550px){ 534 div.navheader ul li, 534 div.navheader ul li, 535 535 div.navfooter ul li{ 536 536 width: 120px; 537 537 } 538 539 div.navheader ul li.prev p, 538 539 div.navheader ul li.prev p, 540 540 div.navheader ul li.next p, 541 div.navfooter ul li.prev p, 541 div.navfooter ul li.prev p, 542 542 div.navfooter ul li.next p{ 543 543 text-align: center; … … 545 545 margin: 2px;*/ 546 546 height: 7.5vh; /* 7.5% ov viewport height */ 547 overflow: hidden; 547 overflow: hidden; 548 548 } 549 549 /* 550 div.navheader ul li.prev p:after, 551 div.navheader ul li.next p:after, 552 div.navfooter ul li.prev p:after, 550 div.navheader ul li.prev p:after, 551 div.navheader ul li.next p:after, 552 div.navfooter ul li.prev p:after, 553 553 div.navfooter ul li.next p:after{ 554 554 content: ""; … … 559 559 width: 100%; 560 560 height: 2.8em; 561 561 562 562 background: linear-gradient(to bottom, rgba(0, 0, 0, 1), rgba(255, 255, 255, 1) 100%); 563 563 564 564 } 565 565 */ 566 div.navheader ul li.prev, 566 div.navheader ul li.prev, 567 567 div.navfooter ul li.prev { 568 568 position: fixed; … … 574 574 } 575 575 576 div.navheader ul li.prev a, 576 div.navheader ul li.prev a, 577 577 div.navfooter ul li.prev a{ 578 578 display: block; … … 583 583 background-size: 25px 25px; 584 584 } 585 586 div.navheader ul li.next, 585 586 div.navheader ul li.next, 587 587 div.navfooter ul li.next { 588 588 position: fixed; … … 593 593 margin: 0px; 594 594 } 595 596 div.navheader ul li.next a, 595 596 div.navheader ul li.next a, 597 597 div.navfooter ul li.next a { 598 598 display: block; … … 603 603 background-size: 25px 25px; 604 604 } 605 606 div.navheader ul li.home, 605 606 div.navheader ul li.home, 607 607 div.navheader ul li.up, 608 div.navfooter ul li.home, 608 div.navfooter ul li.home, 609 609 div.navfooter ul li.up { 610 610 position: fixed; … … 616 616 } 617 617 618 div.navheader ul li.home, 618 div.navheader ul li.home, 619 619 div.navfooter ul li.home{ 620 620 top:25vh; 621 621 } 622 622 623 div.navheader ul li.up, 623 div.navheader ul li.up, 624 624 div.navfooter ul li.up{ 625 625 top:10vh; 626 626 } 627 628 div.navheader ul li.home a, 627 628 div.navheader ul li.home a, 629 629 div.navfooter ul li.home a{ 630 630 display: block; … … 636 636 } 637 637 638 div.navheader ul li.up a, 638 div.navheader ul li.up a, 639 639 div.navfooter ul li.up a{ 640 640 display: block; … … 648 648 /* End media */ 649 649 650 @media(max-width:1220px) and (max-height:550px) and (min-width:800px), 650 @media(max-width:1220px) and (max-height:550px) and (min-width:800px), 651 651 (min-width:1220px) and (max-height:350px){ 652 div.navheader ul li.prev p, 652 div.navheader ul li.prev p, 653 653 div.navfooter ul li.prev p, 654 div.navheader ul li.next p, 654 div.navheader ul li.next p, 655 655 div.navfooter ul li.next p 656 656 { 657 657 display: none; 658 658 } 659 660 div.navheader ul li.prev, 659 660 div.navheader ul li.prev, 661 661 div.navfooter ul li.prev { 662 662 max-width: 120px; 663 663 position: fixed; 664 664 display: block; 665 top: 45vmin; /* smaller of 60% viewport height, width */ 665 top: 45vmin; /* smaller of 60% viewport height, width */ 666 666 padding: 0px; 667 667 margin-left: 10px; 668 668 font-size: 90%; 669 669 } 670 671 div.navheader ul li.next, 670 671 div.navheader ul li.next, 672 672 div.navfooter ul li.next { 673 673 max-width: 120px; … … 680 680 font-size: 90%; 681 681 } 682 683 div.navheader ul li.prev a, 682 683 div.navheader ul li.prev a, 684 684 div.navfooter ul li.prev a { 685 685 background-size: 20px 20px; 686 686 } 687 688 div.navheader ul li.next a, 687 688 div.navheader ul li.next a, 689 689 div.navfooter ul li.next a{ 690 690 display: block; … … 694 694 text-align: left; 695 695 } 696 697 div.navheader ul li.home, 696 697 div.navheader ul li.home, 698 698 div.navheader ul li.up, 699 div.navfooter ul li.home, 699 div.navfooter ul li.home, 700 700 div.navfooter ul li.up { 701 701 max-width: 120px; … … 707 707 font-size: 90%; 708 708 } 709 710 div.navheader ul li.home, 709 710 div.navheader ul li.home, 711 711 div.navfooter ul li.home{ 712 712 top: 35vmin; 713 713 } 714 715 div.navheader ul li.up, 714 715 div.navheader ul li.up, 716 716 div.navfooter ul li.up{ 717 717 top: 10vmin; 718 718 } 719 720 div.navheader ul li.home a, 719 720 div.navheader ul li.home a, 721 721 div.navfooter ul li.home a, 722 div.navheader ul li.up a, 722 div.navheader ul li.up a, 723 723 div.navfooter ul li.up a{ 724 724 padding: 10px 5px 10px 35px; … … 729 729 @media(max-width:550px), 730 730 (max-width:800px) and (max-height:550px){ 731 div.navheader ul li.prev p, 731 div.navheader ul li.prev p, 732 732 div.navfooter ul li.prev p, 733 div.navheader ul li.next p, 733 div.navheader ul li.next p, 734 734 div.navfooter ul li.next p { 735 735 display: none; 736 736 } 737 738 div.navheader ul li.prev, 737 738 div.navheader ul li.prev, 739 739 div.navfooter ul li.prev { 740 740 position: fixed; … … 745 745 margin: 0px; 746 746 } 747 748 div.navheader ul li.prev a, 747 748 div.navheader ul li.prev a, 749 749 div.navfooter ul li.prev a{ 750 750 display: block; … … 758 758 overflow: hidden; 759 759 } 760 761 div.navheader ul li.next, 760 761 div.navheader ul li.next, 762 762 div.navfooter ul li.next { 763 763 position: fixed; … … 768 768 margin: 0px; 769 769 } 770 771 div.navheader ul li.next a, 770 771 div.navheader ul li.next a, 772 772 div.navfooter ul li.next a{ 773 773 display: block; … … 781 781 overflow: hidden; 782 782 } 783 784 div.navheader ul li.home, 783 784 div.navheader ul li.home, 785 785 div.navheader ul li.up, 786 div.navfooter ul li.home, 786 div.navfooter ul li.home, 787 787 div.navfooter ul li.up { 788 788 position: fixed; … … 793 793 left: 0px; 794 794 } 795 796 div.navheader ul li.home, 795 796 div.navheader ul li.home, 797 797 div.navfooter ul li.home{ 798 798 top: 40vmin; 799 799 } 800 801 div.navheader ul li.up, 800 801 div.navheader ul li.up, 802 802 div.navfooter ul li.up{ 803 803 top: 20vmin; 804 804 } 805 806 div.navheader ul li.home a, 805 806 div.navheader ul li.home a, 807 807 div.navfooter ul li.home a{ 808 808 display: block; … … 815 815 overflow: hidden; 816 816 } 817 818 div.navheader ul li.up a, 817 818 div.navheader ul li.up a, 819 819 div.navfooter ul li.up a{ 820 820 display: block; … … 831 831 832 832 /* TOC */ 833 div.toc ul, 834 div.index ul, 835 div.navheader ul, 833 div.toc ul, 834 div.index ul, 835 div.navheader ul, 836 836 div.navfooter ul { 837 837 list-style: none; 838 838 } 839 839 840 li.preface, 840 li.preface, 841 841 .part li.appendix { 842 842 margin-left: 1em; … … 847 847 } 848 848 849 li.appendix h3, 850 li.glossary h3, 849 li.appendix h3, 850 li.glossary h3, 851 851 li.index h3 { 852 852 margin: 0.5em … … 912 912 margin-left: 1em; 913 913 } 914 914 915 915 .item + .indexref { 916 916 display: inline-block; … … 918 918 margin-left: 1em; 919 919 } 920 920 921 921 .secitem + .indexref { 922 922 display: inline-block; … … 948 948 } 949 949 950 div.note, 950 div.note, 951 951 div.tip { 952 952 margin: 1em; … … 959 959 } 960 960 961 div.important, 962 div.warning, 961 div.important, 962 div.warning, 963 963 div.caution { 964 964 margin: 1em; … … 971 971 } 972 972 973 div.important h3, 974 div.warning h3, 973 div.important h3, 974 div.warning h3, 975 975 div.caution h3 { 976 976 color: #900; 977 977 } 978 978 979 div.important em, 980 div.warning em, 979 div.important em, 980 div.warning em, 981 981 div.caution em { 982 982 color: #000; … … 996 996 } 997 997 998 .table table th, 998 .table table th, 999 999 .table table td { 1000 1000 padding: 0.2em 2em 0.2em 2em; … … 1039 1039 /* End media */ 1040 1040 1041 .variablelist td span, 1041 .variablelist td span, 1042 1042 td p { 1043 1043 margin: 0.25em; … … 1113 1113 width: 100%; 1114 1114 } 1115 1115 1116 1116 .package .segbody, .content .segbody { 1117 1117 display: inline-block; … … 1195 1195 1196 1196 /* Indented blocks */ 1197 p, 1197 p, 1198 1198 blockquote { 1199 1199 padding-left: 1em; … … 1202 1202 1203 1203 /* Monospaced elements */ 1204 tt, 1205 code, 1206 kbd, 1207 pre, 1204 tt, 1205 code, 1206 kbd, 1207 pre, 1208 1208 .command { 1209 1209 font-family: monospace; … … 1230 1230 } 1231 1231 1232 .literal, 1232 .literal, 1233 1233 .prompt { 1234 1234 font-weight: normal; -
udev-lfs/ChangeLog
rc6df98a1 rf4facc4 9 9 allow build with util-linux in LFS's /tools directory. 10 10 11 2010-01-26 12 13 14 15 16 2009-09-25 17 18 19 20 21 22 2009-05-23 23 24 25 26 2009-05-16 27 28 29 30 31 2009-05-16 32 33 34 35 36 37 38 39 2009-03-15 40 41 42 43 44 11 2010-01-26 Matt Burgess <matthew@linuxfromscratch.org> 12 * 55-lfs.rules: Remove lots of rules that have been merged upstream. 13 * 61-cdrom.rules: Remove as upstream has a replacement. 14 * doc/*: Cleanup and rewrite now that the rules are much simpler. 15 16 2009-09-25 Bryan Kadzban <bryan@linuxfromscratch.org> 17 * 55-lfs.rules: Make the RTC rule (which runs setclock) work for people 18 that don't use the RTC-class driver -- add another copy of the rule, 19 using KERNEL=="rtc" instead of SUBSYSTEM=="rtc". Also move the ACTION 20 match before the assignment to MODE. 21 22 2009-05-23 Bruce Dubbs <bdubbs@linuxfromscratch.org> 23 * 55-lfs.rules: Set the rtc by udev upon boot. Removed aio device from 24 udev configuration so defaults are used. 25 26 2009-05-16 Bryan Kadzban <bryan@linuxfromscratch.org> 27 * 55-lfs.rules: Adopt udev permissions for random, urandom, kmsg, and 28 input devices (including psaux, which probably doesn't exist anymore 29 anyway). 30 31 2009-05-16 Matt Burgess <matthew@linuxfromscratch.org> 32 * 55-lfs.rules: Remove the block rule as it was only setting 33 permissions that Udev will set by default 34 * 55-lfs.rules: Remove the rfcomm rule as the group it sets is already 35 included in upstream's rule 36 * 55-lfs-rules: Remove the tape rules as the group they sets is already 37 included in upstream's rules 38 39 2009-03-15 Bryan Kadzban <bryan@linuxfromscratch.org> 40 * 55-lfs.rules: Remove the ISDN-handling rules (replaced with upstream's 41 version, which has a better match via SUBSYSTEM). 42 * 55-lfs.rules: Replace "uucp" with "dialout" now that udev has decided 43 to standardize on a Debian-like setup (uucp is for UUCP daemons to use 44 for privilege separation; dialout is for users and devices). 45 45 46 46 2008-12-07 Bruce Dubbs <bdubbs@linuxfromscratch.org> 47 48 47 * 55-lfs.rules: Change one line to use continuation so it does 48 not overflow the book's width. 49 49 50 50 2008-12-07 Bryan Kadzban <bryan@linuxfromscratch.org> 51 52 53 54 55 51 * 55-lfs.rules: Remove several rules that are either provided by upstream, 52 or that don't have any effect (there is no /dev/js or /dev/djs according 53 to devices.txt). 54 * 55-lfs.rules, 61-cdrom.rules: Replace ACTION=="add" with "add|change" 55 everywhere, per upstream's general request. 56 56 57 57 2008-11-11 Bryan Kadzban <bryan@linuxfromscratch.org> 58 59 58 * 55-lfs.rules, 61-cdrom.rules: Fix comments to use the right rule 59 numbers. Thanks to Trent Shea for the fix. Closes #2278. 60 60 61 61 2008-10-15 DJ Lucas <dj@linuxfromscratch.org> 62 63 64 62 * 55-lfs.rules: Override default perms on floppy disk devices provided 63 by 50-udev-default.rules. Thanks to Bruce Dubbs for the fix. Closes 64 LFS ticket #2076. 65 65 66 66 2008-05-21 Bryan Kadzban <bryan@linuxfromscratch.org> 67 68 69 70 71 72 67 * 81-firmware.rules, doc/81-firmware.txt: Remove. This rule is 68 already handled by udev's 50-udev-default.rules file. The docs 69 can be added back later if needed. 70 * Makefile: Don't install the above deleted files. 71 * 55-lfs.rules: Remove the device-mapper rule, since the upstream 72 50-udev-default.rules file handles it properly. 73 73 74 74 2008-04-02 Bryan Kadzban <bryan@linuxfromscratch.org> 75 76 77 75 * Makefile: Make the package DESTDIR-friendly by installing the docs 76 into a fixed $(PREFIX)/share/doc/udev-config directory, instead of 77 trying to figure out what version of udev was just installed. 78 78 79 79 2007-10-30 Bryan Kadzban <bryan@linuxfromscratch.org> 80 81 82 80 * 55-lfs.rules: Since the dialout group was renamed to uucp, delete 81 the rules that override upstream's assignment of the dialout group. 82 Replace "dialout" with "uucp" on the remaining rules. 83 83 84 84 2007-10-29 Bryan Kadzban <bryan@linuxfromscratch.org> 85 86 85 * 51-lfs.rules: Move to 55-lfs.rules. 86 * doc/51-lfs.rules: Move to doc/55-lfs.rules. 87 87 88 88 2007-10-27 Bryan Kadzban <bryan@linuxfromscratch.org> 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 89 * 25-lfs.rules: Some rules in here are duplicates of rules from udev's 90 new 50-udev-defaults.rules file; remove them. Override permissions 91 where needed elsewhere (and document overrides in comments). 92 * 26-modprobe.rules: Provided by udev's 80-drivers.rules and built-in 93 modaliases for SCSI device-type modules in 2.6.22+ kernels; remove. 94 95 * 25-lfs.rules: Move to 51-lfs.rules. 96 * 27-firmware.rules: Move to 81-firmware.rules. 97 * 81-cdrom.rules: Move to 61-cdrom.rules. 98 99 * doc/25-lfs.txt: Rename to 51-lfs.txt. 100 * doc/26-modprobe.txt: Rename to 80-drivers.txt, and modify to reflect 101 the upstream rules. 102 * doc/27-firmware.txt: Rename to 81-firmware.txt. 103 * doc/81-cdrom.txt: Rename to 61-cdrom.txt. 104 105 * Makefile: Use new filenames. 106 106 107 107 2007-07-31 Dan Nicholson <dnicholson@linuxfromscratch.org> 108 109 110 111 108 * 25-lfs.rules: Changed the usb_device rule tto create /dev/bus/usb 109 nodes if the usb_device in 2.6.22+ kernels. The rule was also changed 110 to only trigger on "add" events. This change is not backwards 111 compatible with older kernels. 112 112 113 113 2007-06-12 Dan Nicholson <dnicholson@linuxfromscratch.org> 114 115 114 * 25-lfs.rules: Fix the CPUID nodes from cpu/%n/cpu to cpu/%n/cpuid, 115 which is what's expected in userspace apps such as x86info. 116 116 117 117 2007-06-08 Bryan Kadzban <bryan@linuxfromscratch.org> 118 119 120 121 122 2007-03-04 Matthew Burgess 123 124 118 * 25-lfs.rules: Add rules for DVB devices (create nodes in /dev/dvb/) 119 and floppies (create extra nodes based on CMOS type), copied from 120 the SuSE rules file. Thanks to Alexander Patrakov for the bugreport. 121 122 2007-03-04 Matthew Burgess <matthew@linuxfromscratch.org> 123 * Makefile: Use `udevd --version' to work out what version of Udev is 124 installed (requires Udev >= 106) 125 125 126 126 2007-01-02 Bryan Kadzban <bryan@linuxfromscratch.org> 127 128 127 * 25-lfs.rules: Change CPU devices (cpu, msr, microcode) to be in 128 /dev/cpu/ and /dev/cpu/N/, to match Documentation/devices.txt. 129 129 130 130 2006-10-21 Bryan Kadzban <bryan@linuxfromscratch.org> 131 132 133 134 135 136 137 138 131 * Makefile: Add a missing backslash in install-extra-doc. 132 133 * 05-udev-early.rules, 60-persistent-input.rules, 134 60-persistent-storage.rules, 95-udev-late.rules: Remove. The book 135 will install these files from udev's etc/udev/rules.d directory 136 instead. 137 * Makefile: Don't install these rules files after all. Also, only 138 install corresponding docs if requested. 139 139 140 140 2006-10-20 Bryan Kadzban <bryan@linuxfromscratch.org> 141 142 141 * Makefile: Added; contains targets to install rules and doc files. 142 From Dan Nicholson. 143 143 144 144 2006-10-14 Bryan Kadzban <bryan@linuxfromscratch.org> 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 145 * 05-udev-early.rules, 60-persistent-storage.rules: Sync up with 146 upstream sample rules files (from udev-102), except for one rule 147 which is more specific in our tarball and should probably be changed 148 upstream. 149 * doc/60-persistent-storage.txt: Modify to match the changes. Also 150 fix a couple typos. 151 152 * 25-lfs.rules: Remove duplicate rules (ttyS[0-9]* is also matched by 153 tty[BC...S...][0-9]*, and ttyUSB[0-9]* is in there twice). 154 155 * 25-lfs.rules: Fix Alsa device KERNEL rules. Udev uses shell-style 156 glob matching, not regular expressions, so the old rules would match 157 nonsense device names like hw0asdf and pcmDzxcv. As long as the first 158 character after the "fixed" portion was in the list, the rule would 159 match; it wouldn't apply the same character range to later characters. 160 161 * doc/25-lfs.txt: Add a note on interaction between permissions and 162 symlinks. 163 163 164 164 2006-10-09 Bryan Kadzban <bryan@linuxfromscrtach.org> 165 166 167 168 169 165 * 25-lfs.rules: Fix fb[0-9]* device permissions (should use the default 166 0660). 167 168 * doc/25-lfs.txt: Fix typo: /dev/ptmx is given mode 0666, not 0660. 169 Also tweak the comment about other TTY devices. 170 170 171 171 2006-10-04 Bryan Kadzban <bryan@linuxfromscratch.org> 172 173 174 175 172 * 05-udev-early.rules: Remove WAIT_FOR_SYSFS="bus" rule. With kernel 173 2.6.18, this rule is no longer required. 174 175 * doc/05-udev-early.txt: Update to match. 176 176 177 177 2006-09-28 Bryan Kadzban <bryan@linuxfromscratch.org> 178 179 180 181 182 183 184 185 178 * doc/60-persistent-storage.txt: Explain persistent storage rules, or 179 at least the parts I understand. (I don't use DASD or netblock or 180 several other supported configurations.) 181 182 * doc/81-cdrom.txt: Explain 81-cdrom.rules. 183 184 * doc/95-udev-late.txt: Explain 95-udev-late.rules. Documentation is 185 now finished. 186 186 187 187 2006-09-26 Bryan Kadzban <bryan@linuxfromscratch.org> 188 189 188 * doc/60-persistent-input.txt: Explain (in probably too much detail) 189 60-persistent-input.rules. 190 190 191 191 2006-09-24 Bryan Kadzban <bryan@linuxfromscratch.org> 192 193 194 195 196 192 * doc/05-udev-early.txt: Rewrap to fit 80 columns. 193 194 * doc/26-modprobe.txt: Explain 26-modprobe.rules, and modaliases. 195 196 * doc/27-firmware.txt: Explain 27-firmware.rules. 197 197 198 198 2006-09-24 Bryan Kadzban <bryan@linuxfromscratch.org> 199 200 201 199 * doc/25-lfs.txt: Explain 25-lfs.rules. 200 201 * 25-lfs.rules: Use SYMLINK+= for isdn/capi20 also. 202 202 203 203 2006-09-23 Bryan Kadzban <bryan@linuxfromscratch.org> 204 205 206 207 204 * doc: New subdirectory to contain documentation of rules 205 * doc/README: New file, top-level documentation 206 * doc/*.txt: New documentation files, one for each rules file. Only 207 05-udev-early.txt has anything in it. 208 208 209 209 2006-09-23 Bryan Kadzban <bryan@linuxfromscratch.org> 210 211 212 210 * 25-lfs.rules: Add "ignore_device" to OPTIONS for DRI devices, instead 211 of setting NAME to an empty string. This matches the way we ignore 212 devmapper / LVM devices. 213 213 214 214 2006-09-22 Bryan Kadzban <bryan@linuxfromscratch.org> 215 216 217 218 219 220 221 215 * 60-persistent-input.rules, 95-udev-late.rules: Import from udev-100. 216 60-persistent-input.rules creates persistent symlinks for input 217 devices, and 95-udev-late.rules enables udevmonitor. 218 219 * 60-persistent-storage.rules: Replace ATTRS{../removable} with just 220 ATTRS{removable} on partition devices. Replace ATTRS{removable} 221 with ATTR{removable} on whole-disk devices. 222 222 223 223 2006-09-20 Bryan Kadzban <bryan@linuxfromscratch.org> 224 225 226 224 * 05-early.rules: Missed a rule in the last change. ENV{PHYSDEVBUS} 225 in the rule that waits for the "bus" symlink should be replaced by 226 SUBSYSTEMS. 227 227 228 228 2006-09-20 Bryan Kadzban <bryan@linuxfromscratch.org> 229 230 231 232 233 234 235 236 237 238 239 229 * Adapted rules to the new matches used in udev-098 and above (e.g., 230 SYSFS becomes ATTRS). Prevents warnings, and support for the old 231 matches will be removed eventually. These rules will not work with 232 udev-097 and before! 233 * Fixed several bugs in the rules left over from previous udev 234 versions (missing commas, overwriting user symlinks using ="..." 235 instead of +="...", and matching against "*" instead of "?*"). 236 237 * Renamed CHANGELOG to ChangeLog, started using pseudo-GNU-format 238 entries. (See standards.info; search it for "changelog" to get 239 the general gist.) 240 240 241 241 dnicholson - Jul 14, 2006 242 243 242 * Fixed usbdev PROGRAM so that it works with the BusyBox sh. Thanks 243 to Anthony Wright. 244 244 245 245 n/a - Jul 12, 2006 246 247 248 249 246 * Added options so temporary nodes are not created with device-mapper 247 * Adapted cdrom rules to identify CD-ROM drives correctly by adding 248 SUBSYSTEM=="block" test. 249 * Added simple 81-cdrom.rules file to set cdrom group ownership 250 250 251 251 n/a - Jun 07, 2006 252 253 254 255 252 * Removed nvidia rules 253 * Removed bug reporting rule 254 * Moved Debian-based persistent CD-ROM rules to contrib 255 * Adapted firmware rule to udev-093 256 256 257 257 n/a - May 15, 2006 258 259 258 * Part one of 25-lfs.rules rewrite 259 * Some minor tweaking of the layout 260 260 261 261 n/a - May 12, 2006 262 263 264 262 * Initial import of the udev-config directory. 263 * Reorganized and modularized the rules files. 264 * Added explanatory comments -
udev-lfs/contrib/debian/write_cd_aliases
rc6df98a1 rf4facc4 108 108 comment="$ID_MODEL ($ID_PATH)" 109 109 110 110 write_rule "$match" "cdrom$link_num" "$comment" 111 111 [ "$ID_CDROM_CD_RW" ] && write_rule "$match" "cdrw$link_num" 112 112 [ "$ID_CDROM_DVD" ] && write_rule "$match" "dvd$link_num"
Note:
See TracChangeset
for help on using the changeset viewer.