| Newsgroups |
gmane.linux.lfs.book |
| Message-ID |
<[email protected]> |
This is an automated email from the git hooks/post-receive script.
git pushed a commit to branch xry111/clfs-ng
in repository lfs.
commit aac337e2133bc9623166e5539bb39fd2830903ca
Merge: 8392e57ae a7f60249e
Author: Xi Ruoyao <[email protected]>
AuthorDate: Wed Sep 3 21:44:05 2025 +0800
Merge remote-tracking branch 'origin/trunk' into xry111/clfs-ng
Well let's not allow the branch rot too much.
I still don't have a chance to really use it now. I actually intend to
buy an Apple M1 and try cross building from Mac OS X (merge arm64 and
this branch as a base, then add a few packages like m1n1 and uboot).
But I don't know when exactly I can get the spare money and time.
appendices/dependencies.xml | 5 +-
bootscripts/ChangeLog | 3 +
bootscripts/lfs/init.d/network | 2 +-
chapter01/changelog.xml | 193 +-------------------
chapter01/whatsnew.xml | 140 +++++++--------
chapter02/hostreqs.xml | 9 +-
chapter03/patches.xml | 42 +++--
chapter05/binutils-pass1.xml | 10 ++
chapter05/gcc-pass1.xml | 17 ++
chapter05/glibc.xml | 4 +-
chapter05/libstdc++.xml | 14 +-
chapter06/bash.xml | 4 +
chapter06/gcc-pass2.xml | 54 +++---
chapter06/ncurses.xml | 25 +--
chapter06/tar.xml | 4 +-
chapter07/changingowner.xml | 2 +-
chapter07/cleanup.xml | 4 +-
chapter07/python.xml | 14 +-
chapter08/acl.xml | 4 +-
chapter08/bash.xml | 10 +-
chapter08/bc.xml | 6 +-
chapter08/coreutils.xml | 4 +
chapter08/e2fsprogs.xml | 14 +-
chapter08/expect.xml | 4 +-
chapter08/gcc.xml | 19 +-
chapter08/glibc.xml | 45 ++---
chapter08/gmp.xml | 4 +
chapter08/grub.xml | 6 +-
chapter08/inetutils.xml | 16 +-
chapter08/kbd.xml | 9 +-
chapter08/libelf.xml | 7 +-
chapter08/libffi.xml | 4 +-
chapter08/libpipeline.xml | 5 +-
chapter08/libtool.xml | 2 +-
chapter08/ncurses.xml | 9 +-
chapter08/perl.xml | 4 +
chapter08/pkgconf.xml | 4 +-
chapter08/python.xml | 9 +-
chapter08/stripping.xml | 21 ++-
chapter08/systemd.xml | 2 +-
chapter08/tcl.xml | 9 +-
chapter08/texinfo.xml | 5 +
chapter08/util-linux.xml | 4 +-
chapter09/networkd.xml | 15 ++
chapter10/kernel.xml | 7 -
chapter10/kernel/highmem.toml | 1 -
chapter10/kernel/highmem.xml | 8 -
chapter10/kernel/kernel.version | 2 +-
chapter10/kernel/systemd.xml | 13 +-
chapter10/kernel/sysv.xml | 13 +-
chapter10/kernel/x2apic.xml | 2 +-
chapter11/reboot.xml | 9 +-
general.ent | 6 +-
packages.ent | 389 ++++++++++++++++++++--------------------
patches.ent | 42 +++--
prologue/typography.xml | 5 +-
stylesheets/lfs-xsl/lfs.css | 4 +
57 files changed, 584 insertions(+), 704 deletions(-)
diff --cc chapter05/gcc-pass1.xml
index b4e33ce55,a5aa62e45..786d312c0
--- a/chapter05/gcc-pass1.xml
+++ b/chapter05/gcc-pass1.xml
@@@ -62,14 -62,33 +62,31 @@@ mv -v gmp-&gmp-version; gm
tar -xf ../mpc-&mpc-version;.tar.gz
mv -v mpc-&mpc-version; mpc</userinput></screen>
- <para>On x86_64 hosts, set the default directory name for
- 64-bit libraries to <quote>lib</quote>:</para>
-
-<screen><userinput remap="pre">case $(uname -m) in
- x86_64)
- sed -e '/m64=/s/lib64/lib/' \
- -i.orig gcc/config/i386/t-linux64
- ;;
-esac</userinput></screen>
+ <para>For x86_64 target, set the default directory name for
+ 64-bit libraries to <quote>lib</quote>. The command is unnecessary,
+ but harmless for 32-bit x86. If you are building for another target,
+ you may need to adjust the command for your target.</para>
+
+<screen><userinput remap="pre">sed -e '/m64=/s/lib64/lib/' \
+ -i.orig gcc/config/i386/t-linux64</userinput></screen>
+ <note>
+ <para>
+ This example demonstrates the use of the
+ <parameter>-i.orig</parameter> switch. It makes the
+ <command>sed</command> copy the <filename>t-linux64</filename> file
+ to <filename>t-linux64.orig</filename>, and then edit the original
+ <filename>t-linux64</filename> file inplace. So you may run
+ <command>diff -u gcc/config/i386/t-linux64{.orig,}</command>
+ to visualize the change done by the <command>sed</command> command
+ afterwards. We'll simply use <parameter>-i</parameter> (which just
+ edits the original file inplace without copying it) for all other
+ packages in the book, but you can change it to
+ <parameter>-i.orig</parameter> in any case you want to keep a copy
+ of the original file.
+ </para>
+ </note>
+
<para>The GCC documentation recommends building GCC
in a dedicated build directory:</para>
diff --cc chapter05/glibc.xml
index 49291daa3,def63edf0..e6691ca90
--- a/chapter05/glibc.xml
+++ b/chapter05/glibc.xml
@@@ -92,9 -90,9 +92,9 @@@ cd build</userinput></screen
--prefix=/usr \
--host=$LFS_TGT \
--build=$(../scripts/config.guess) \
- --enable-kernel=&linux-major-version;.&linux-minor-version; \
--disable-nscd \
- libc_cv_slibdir=/usr/lib</userinput></screen>
+ libc_cv_slibdir=/usr/lib \
- --enable-kernel=&min-kernel;</userinput></screen>
++ --enable-kernel=&linux-version;</userinput></screen>
<variablelist>
<title>The meaning of the configure options:</title>
diff --cc chapter06/gcc-pass2.xml
index 6fb0277cf,d02ff5457..1467f86a4
--- a/chapter06/gcc-pass2.xml
+++ b/chapter06/gcc-pass2.xml
@@@ -57,15 -53,17 +53,15 @@@ mv -v gmp-&gmp-version; gm
tar -xf ../mpc-&mpc-version;.tar.gz
mv -v mpc-&mpc-version; mpc</userinput></screen>
- <para>For x86_64 target, set the default directory name for
- <para>If you are building on x86_64, change the default directory name for
- 64-bit libraries to <quote>lib</quote>:</para>
-
-<screen><userinput remap="pre">case $(uname -m) in
- x86_64)
- sed -e '/m64=/s/lib64/lib/' \
- -i.orig gcc/config/i386/t-linux64
- ;;
-esac</userinput></screen>
++ <para>For x86_64 target, change the default directory name for
+ 64-bit libraries to <quote>lib</quote>. The command is unnecessary,
+ but harmless for 32-bit x86. If you are building for another target,
- you may need to adjust the command for your target.</para>
++ you may need to adjust the command for your target:</para>
+
+<screen><userinput remap="pre">sed -e '/m64=/s/lib64/lib/' \
+ -i.orig gcc/config/i386/t-linux64</userinput></screen>
- <para>Override the building rule of libgcc and libstdc++ headers, to
+ <para>Override the build rules of the libgcc and libstdc++ headers to
allow building these libraries with POSIX threads support:</para>
<screen><userinput remap="pre">sed '/thread_header =/s/@.*@/gthr-posix.h/' \
diff --cc chapter07/cleanup.xml
index f215a5e67,8181a0f57..bed54a52a
--- a/chapter07/cleanup.xml
+++ b/chapter07/cleanup.xml
@@@ -127,33 -153,28 +127,33 @@@ tar -cJpf /mnt/lfs-temp-tools-&version;
<!-- Make the following look different so users don't blindly run the
restore when they don't need to. -->
+<screen role="nodump"><computeroutput>mkdir -pv /mnt/lfs-{target,backup}
+mount -v -t ext4 <replaceable>/dev/sdx</replaceable>3 /mnt/lfs-target
+mount -v -t ext4 <replaceable>/dev/sdx4</replaceable> /mnt/lfs-backup</computeroutput></screen>
+
+
<warning><para>The following commands are extremely dangerous. If
you run <command>rm -rf ./*</command> as the &root; user and you
- do not change to the $LFS directory or the <envar>LFS</envar>
- environment variable is not set for the &root; user, it will destroy
- your entire host system. YOU ARE WARNED.</para></warning>
+ do not change to the <filename>lfs-target</filename> directory,
+ it will destroy your entire host system.
+ YOU ARE WARNED.</para></warning>
- <screen role="nodump"><computeroutput>cd /mnt/lfs-target
-<screen role="nodump"><literal>cd $LFS
++<screen role="nodump"><literal>cd /mnt/lfs-target
rm -rf ./*
- tar -xpf /mnt/lfs-backup/lfs-temp-tools-&version;.tar.xz</computeroutput></screen>
-tar -xpf $HOME/lfs-temp-tools-&version;.tar.xz</literal></screen>
++tar -xpf /mnt/lfs-backup/lfs-temp-tools-&version;.tar.xz</literal></screen>
<para>
- Again, double check that the environment has been set up properly
- and continue building the rest of the system.
+ Again, unmount the two partitions, reconnect the device to the target
+ machine, boot it and continue building the rest of system:
</para>
+<screen role="nodump"><computeroutput>umount /mnt/lfs-{target,backup}</computeroutput></screen>
+
<important>
<para>
- If you left the chroot environment to create a backup or restart
- building using a restore, remember to check that the virtual
- file systems are still mounted (<command>findmnt | grep
- $LFS</command>). If they are not mounted, remount them now as
- described in <xref linkend='ch-tools-kernfs'/> and re-enter the chroot
+ If you reboot your target machine and restart
+ building using a restore, remount the virtual filesystems now as
+ described in <xref linkend='ch-tools-kernfs'/> and re-enter the build
environment (see <xref linkend='ch-tools-chroot'/>) before continuing.
</para>
</important>
diff --cc chapter08/bash.xml
index bb27e9e45,26141f861..e40482605
--- a/chapter08/bash.xml
+++ b/chapter08/bash.xml
@@@ -95,10 -95,12 +95,12 @@@ EOF</userinput></screen
there is a message saying the difference can be ignored.
<!-- Some host distros set core file size hard limit < 1000, then the
test "ulimit -c -S 1000" attempts to set soft limit > hard limit
- and fail. -->
+ and fail. [Cannot affect cross build.]
- One test named <filename>run-builtins</filename> is known to fail on
- some host distros with a difference on the first line of the
- output. --></para>
+ The test named <filename>run-builtins</filename> is known to fail on
+ some host distros with a difference on the 479 and 480 lines of the
- output. Some other tests need the <literal>zh_TW.BIG5</literal> and
++ output. -->Some other tests need the <literal>zh_TW.BIG5</literal> and
+ <literal>ja_JP.SJIS</literal> locales, they are known to fail unless
+ those locales are installed.</para>
<para>Install the package:</para>
diff --cc chapter08/gcc.xml
index 6157a2fd9,da439145d..312b3a7a4
--- a/chapter08/gcc.xml
+++ b/chapter08/gcc.xml
@@@ -148,14 -149,10 +148,11 @@@ cd build</userinput></screen
not exceed the hard limit:</para>
<screen><userinput remap="test">ulimit -s -H unlimited</userinput></screen>
+-->
- <para>Now remove/fix several known test failures:</para>
- <screen><userinput remap="test">sed -e '/cpython/d' -i ../gcc/testsuite/gcc.dg/plugin/plugin.exp
- sed -e 's/no-pic /&-no-pie /' -i ../gcc/testsuite/gcc.target/i386/pr113689-1.c
- sed -e 's/300000/(1|300000)/' -i ../libgomp/testsuite/libgomp.c-c++-common/pr109062.c
- sed -e 's/{ target nonpic } //' \
- -e '/GOTPCREL/d' -i ../gcc/testsuite/gcc.target/i386/fentryname3.c</userinput></screen>
+ <para>Now remove several known test failures:</para>
+
+ <screen><userinput remap="test">sed -e '/cpython/d' -i ../gcc/testsuite/gcc.dg/plugin/plugin.exp</userinput></screen>
<para>Test the results as a non-privileged user, but do not stop at errors:</para>
diff --cc chapter08/glibc.xml
index 24133c40a,de16b900b..4cdbe4955
--- a/chapter08/glibc.xml
+++ b/chapter08/glibc.xml
@@@ -68,12 -72,12 +72,12 @@@ cd build</userinput></screen
<para>Prepare Glibc for compilation:</para>
- <screen><userinput remap="configure">../configure --prefix=/usr \
- --disable-werror \
- --enable-kernel=&linux-major-version;.&linux-minor-version; \
- --enable-stack-protector=strong \
- --disable-nscd \
- libc_cv_slibdir=/usr/lib</userinput></screen>
+ <screen><userinput remap="configure">../configure --prefix=/usr \
+ --disable-werror \
+ --disable-nscd \
+ libc_cv_slibdir=/usr/lib \
+ --enable-stack-protector=strong \
- --enable-kernel=&min-kernel;</userinput></screen>
++ --enable-kernel=&linux-version;</userinput></screen>
<variablelist>
<title>The meaning of the configure options:</title>
@@@ -139,16 -142,16 +143,6 @@@
<para>Generally a few tests do not pass. The test failures listed below
are usually safe to ignore.</para>
--<!-- Use remap="make" here to work around a jhalfs issue. -->
--<!--<screen><userinput remap="make">case $(uname -m) in
-- i?86) ln -sfnv $PWD/elf/ld-linux.so.2 /lib ;;
-- x86_64) ln -sfnv $PWD/elf/ld-linux-x86-64.so.2 /lib ;;
--esac</userinput></screen>
--
-- <note><para>The symbolic link above is needed to run the tests at this
-- stage of building in the chroot environment. It will be overwritten
-- in the install phase below.</para></note>
---->
<screen><userinput remap="test">make check</userinput></screen>
<para>You may see some test failures. The Glibc test suite is
@@@ -157,6 -160,18 +151,12 @@@
most common issues seen for recent versions of LFS:</para>
<itemizedlist>
-
- <listitem>
- <para><emphasis>io/tst-lchmod</emphasis>
- is known to fail in the LFS chroot environment.</para>
- </listitem>
-
+ <!-- https://sourceware.org/pipermail/libc-alpha/2025-August/169612.html -->
+ <listitem>
+ <para><emphasis>misc/tst-preadvwritev2</emphasis> and
+ <emphasis>misc/tst-preadvwritev64v2</emphasis> are known to fail
+ if the host kernel is Linux-6.14 or later.</para>
+ </listitem>
<listitem>
<para>Some tests, for example
diff --cc packages.ent
index 23676107a,9c158c48c..e4fa3bcaa
--- a/packages.ent
+++ b/packages.ent
@@@ -444,11 -440,7 +444,11 @@@
<!ENTITY linux-knl-du "1.7 - 14 GB (typically about 2.3 GB)">
<!ENTITY linux-knl-sbu "0.4 - 32 SBU (typically about 2.5 SBU)">
+<!-- For temporary kernel use the minimal value -->
+<!ENTITY linux-tmp-du "1.7 GB">
+<!ENTITY linux-tmp-sbu "0.4 SBU">
+
- <!ENTITY linux-headers-tmp-du "1.6 GB">
+ <!ENTITY linux-headers-tmp-du "1.7 GB">
<!ENTITY linux-headers-tmp-sbu "less than 0.1 SBU">
<!ENTITY lz4-version "1.10.0">
@@@ -738,27 -731,24 +739,27 @@@
<!ENTITY udev-lfs-url "&anduin-sources;/&udev-lfs-version;.tar.xz">
<!ENTITY udev-lfs-md5 "acd4360d8a5c3ef320b9db88d275dae6">
<!ENTITY udev-lfs-home " ">
- <!ENTITY udev-fin-du "161 MB">
- <!ENTITY udev-fin-sbu "0.3 SBU">
+ <!ENTITY udev-fin-du "162 MB">
+ <!ENTITY udev-fin-sbu "0.1 SBU">
<!ENTITY util-linux-minor "2.41">
- <!ENTITY util-linux-version "2.41"> <!-- 2.33.x -->
- <!ENTITY util-linux-size "9,313 KB">
+ <!ENTITY util-linux-version "2.41.1"> <!-- 2.33.x -->
+ <!ENTITY util-linux-size "9,382 KB">
<!ENTITY util-linux-url "&kernel;linux/utils/util-linux/v&util-linux-minor;/util-linux-&util-linux-version;.tar.xz">
- <!ENTITY util-linux-md5 "e666a34b03554c18a1073347b16661ce">
+ <!ENTITY util-linux-md5 "7e5e68845e2f347cf96f5448165f1764">
<!ENTITY util-linux-home "https://git.kernel.org/pub/scm/utils/util-linux/util-linux.git/">
- <!ENTITY util-linux-tmp-du "182 MB">
+ <!ENTITY util-linux-tmp-du "192 MB">
<!ENTITY util-linux-tmp-sbu "0.2 SBU">
- <!ENTITY util-linux-fin-du "316 MB">
+ <!ENTITY util-linux-fin-du "346 MB">
<!ENTITY util-linux-fin-sbu "0.5 SBU">
+<!ENTITY mount-setsid-du "85 MB">
+<!ENTITY mount-setsid-sbu "less than 0.1 SBU">
+
- <!ENTITY vim-version "9.1.1263">
+ <!ENTITY vim-version "9.1.1629">
<!-- <!ENTITY vim-majmin "90"> -->
<!ENTITY vim-docdir "vim/vim91">
- <!ENTITY vim-size "18,260 KB">
+ <!ENTITY vim-size "18,317 KB">
<!ENTITY vim-url "https://github.com/vim/vim/archive/v&vim-version;/vim-&vim-version;.tar.gz">
<!-- N.B. LFS 9.0 uses
https://github.com/vim/vim/archive/v8.1.1846/vim-8.1.1846.tar.gz
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
--
http://lists.linuxfromscratch.org/sympa/info/lfs-book
Unsubscribe: See the above information page