[lfs] 01/03: Merge remote-tracking branch 'origin/trunk' into xry111/loongarch

"Git Owner" ([email protected] via lfs-book Mailing List) <[email protected]>
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/loongarch
in repository lfs.

commit f642548a6b6dd5c7ae20cd54369218bfe01f14cc
Merge: dbb38594b bfb0cbae1
Author: Xi Ruoyao <[email protected]>
AuthorDate: Mon Jan 6 22:58:23 2025 +0800

    Merge remote-tracking branch 'origin/trunk' into xry111/loongarch
    
    This is a conflicting merge because of:
    
    - The trunk and loongarch branch are having two different binutils patch
    - The bump of min-kernel in trunk
    - The introduce of DRM panic in trunk

 appendices/dependencies.xml       |  12 +--
 chapter01/changelog.xml           | 196 ++++++++++++++++++++++++++++++++++++++
 chapter01/whatsnew.xml            |  50 +++++-----
 chapter03/introduction.xml        |   5 +-
 chapter03/patches.xml             |  10 +-
 chapter05/glibc.xml               |   4 +-
 chapter06/bash.xml                |   3 +-
 chapter08/bash.xml                |   1 -
 chapter08/binutils.xml            |   9 +-
 chapter08/e2fsprogs.xml           |   2 +-
 chapter08/gawk.xml                |   3 +-
 chapter08/gettext.xml             |   8 ++
 chapter08/grub.xml                |   2 +-
 chapter08/iproute2.xml            |   5 +-
 chapter08/python.xml              |   5 +-
 chapter08/readline.xml            |   6 +-
 chapter08/shadow.xml              |  37 ++++---
 chapter08/sysklogd.xml            |   3 +-
 chapter08/systemd.xml             |   5 +-
 chapter08/udev.xml                |  10 +-
 chapter10/grub.xml                |   9 ++
 chapter10/kernel.xml              | 102 +++++++++++++++++---
 chapter10/kernel/kernel.version   |   2 +-
 chapter10/kernel/systemd.toml     |  16 ++--
 chapter10/kernel/systemd.xml      |  13 ++-
 chapter10/kernel/sysv.toml        |  16 ++--
 chapter10/kernel/sysv.xml         |  13 ++-
 chapter11/afterlfs.xml            |   4 +-
 chapter11/theend.xml              |   1 +
 general.ent                       |   3 +
 lfs-latest-git.php                |  34 ++++---
 packages.ent                      | 146 ++++++++++++++--------------
 part3intro/toolchaintechnotes.xml |   2 +-
 patches.ent                       |   4 +
 34 files changed, 529 insertions(+), 212 deletions(-)

diff --cc chapter03/patches.xml
index 33594f396,1956d39f5..a98c6575f
--- a/chapter03/patches.xml
+++ b/chapter03/patches.xml
@@@ -36,14 -36,14 +36,22 @@@
      </varlistentry>
  -->
  
 +    <varlistentry>
 +      <term>Binutils LoongArch Fix Patch - <token>&binutils-loongarch-patch-size;</token>:</term>
 +      <listitem>
- 	<para>Download: <ulink url="&lfs-root;~xry111/lfs/patches/&binutils-loongarch-patch;"/></para>
++        <para>Download: <ulink url="&lfs-root;~xry111/lfs/patches/&binutils-loongarch-patch;"/></para>
 +        <para>MD5 sum: <literal>&binutils-loongarch-patch-md5;</literal></para>
 +      </listitem>
 +    </varlistentry>
 +
+     <varlistentry>
+       <term>Binutils Upstream Fixes Patch - <token>&binutils-upstream-patch-size;</token>:</term>
+       <listitem>
+         <para>Download: <ulink url="&patches-root;&binutils-upstream-patch;"/></para>
+         <para>MD5 sum: <literal>&binutils-upstream-patch-md5;</literal></para>
+       </listitem>
+     </varlistentry>
+ 
      <varlistentry>
        <term>Bzip2 Documentation Patch - <token>&bzip2-docs-patch-size;</token>:</term>
        <listitem>
diff --cc chapter08/binutils.xml
index 2716f4773,2c28df6f1..e06bafc4d
--- a/chapter08/binutils.xml
+++ b/chapter08/binutils.xml
@@@ -41,12 -41,12 +41,19 @@@
    <sect2 role="installation">
      <title>Installation of Binutils</title>
  
+     <para>First, apply a patch to prevent a bug that causing
+     unnecessary relinking with packages that depend on cmake-3.31.0
+     or newer:</para>
+ 
+ <screen><userinput remap="pre">patch -Np1 -i ../&binutils-upstream-patch;</userinput></screen>
+ 
 +    <para>
-       At first, fix a bug which may cause some packages fail to build:
++      Then fix a bug which may cause some packages fail to build for
++      LoongArch:
 +    </para>
 +
 +    <screen><userinput remap="pre">patch -Np1 -i ../&binutils-loongarch-patch;</userinput></screen>
 +
      <para>The Binutils documentation recommends building Binutils
      in a dedicated build directory:</para>
  
diff --cc chapter08/python.xml
index 3dca716f6,75f18945f..0ed7c6c7c
--- a/chapter08/python.xml
+++ b/chapter08/python.xml
@@@ -88,15 -88,9 +88,16 @@@
      limit and 1 SBU (measured when building Binutils pass 1 with one CPU
      core) should be enough.  Some tests are flaky, so the test suite will
      automatically re-run failed tests.  If a test failed but then passed
-     when re-run, it should be considered as passed.</para>
+     when re-run, it should be considered as passed.  One test, test_ssl,
+     is known to fail in the chroot environment.</para>
  
 +    <!-- https://github.com/python/cpython/pull/120227
 +         The typical page size of LoongArch Linux is 16 KiB so this issu
 +         can be triggered.  -->
 +    <para>One test named <literal>test.test_asyncio.test_sendfile</literal>
 +    is known to fail depending on the version and configuration of the host
 +    kernel.</para>
 +
      <para>Install the package:</para>
  
  <screen><userinput remap="install">make install</userinput></screen>
diff --cc chapter10/grub.xml
index 3afb4185f,00be1d6c0..19e5c6bd1
--- a/chapter10/grub.xml
+++ b/chapter10/grub.xml
@@@ -186,9 -135,8 +186,10 @@@ set timeout=
  insmod part_gpt
  insmod ext2
  set root=(hd0,2)
+ set gfxpayload=1024x768x32
  
 +insmod efi_gop
 +
  menuentry "GNU/Linux, Linux &linux-version;-lfs-&version;" {
          linux   /boot/vmlinuz-&linux-version;-lfs-&version; root=/dev/sda2 ro
  }</literal>
diff --cc chapter10/kernel.xml
index b8ba4eb8c,327e3de60..fde02b4c2
--- a/chapter10/kernel.xml
+++ b/chapter10/kernel.xml
@@@ -255,15 -272,71 +255,80 @@@
          </listitem>
        </varlistentry>
  
 +      <varlistentry>
 +        <term><parameter>Enable the generic EFI decompressor</parameter></term>
 +        <listitem>
 +          <para>Create the bootable image as an EFI application that carries
 +          the actual kernel image in compressed form.  It can make the
 +          bootable image 50% smaller.</para>
 +        </listitem>
 +      </varlistentry>
 +
+       <varlistentry>
+         <term>
+           <parameter>
+             Display a user-friendly message when a kernel panic occurs
+           </parameter>
+         </term>
+         <listitem>
+           <para>This will make the kernel correctly display the message
+           in case a kernel panic happens and a running DRM driver
+           supports to do so.  Without this, it would be more
+           difficult to diagnose a panic: if no DRM driver is running,
+           we'd be on the VGA console which can only hold 24 lines and
+           the relevant kernel message is often flushed away; if a DRM
+           driver is running, the display is often completely messed up
+           on panic.  As of Linux-6.12, none of the dedicated drivers for
+           mainstream GPU models really supports this, but it's supported by
+           the <quote>Simple framebuffer driver</quote> which runs on the
+           VESA (or EFI) framebuffer before the dedicated GPU driver is
+           loaded.  If the dedicated GPU driver is built as a module
+           (instead of a part of the kernel image) and no initramfs is
+           used, this functionality will work just fine before the root
+           file system is mounted and it's already enough for providing
+           information about most LFS configuration errors causing a
+           panic (for example, an incorrect <parameter>root=</parameter>
+           setting in <xref linkend='ch-bootable-grub'/>).</para>
+         </listitem>
+       </varlistentry>
+ 
+       <varlistentry>
+         <term>
+           <parameter>
+             Panic screen formatter
+           </parameter>
+         </term>
+         <listitem>
+           <para>Set this <literal>kmsg</literal> to make sure the last
+           kernel messages lines are displayed when a kernel panic happens.
+           The default, <literal>user</literal>, would make the kernel show
+           only a <quote>user friendly</quote> panic message which is not
+           helpful on diagnostic.  The third choice,
+           <literal>qr_code</literal>, would make the kernel to compress
+           the last kernel message lines into a QR code and display it.
+           The QR code can hold more message lines than plain text and it
+           can be decoded with an external device (like a smart phone).
+           But it requires a Rust compiler that LFS does not provide.</para>
+         </listitem>
+       </varlistentry>
+ 
+       <varlistentry>
+         <term>
+           <parameter>
+             Mark VGA/VBE/EFI FB as generic system framebuffer
+           </parameter> and
+           <parameter>Simple framebuffer driver</parameter>
+         </term>
+         <listitem>
+           <para>These allow to use the VESA framebuffer (or the EFI
+           framebuffer if booting the LFS system via UEFI) as a DRM device.
+           The VESA framebuffer will be set up by GRUB (or the EFI
+           framebuffer will be set up by the UEFI firmware), so the DRM panic
+           handler can function before the GPU-specific DRM driver is
+           loaded.</para>
+         </listitem>
+       </varlistentry>
+ 
        <varlistentry>
          <term>
            <parameter>
diff --cc chapter10/kernel/sysv.toml
index f431327f0,c8267a303..0f182dbda
--- a/chapter10/kernel/sysv.toml
+++ b/chapter10/kernel/sysv.toml
@@@ -12,16 -12,12 +12,14 @@@ STACKPROTECTOR_STRONG='*
  UEVENT_HELPER=' '
  DEVTMPFS='*'
  DEVTMPFS_MOUNT='*'
- DRM=' *M'
+ SYSFB_SIMPLEFB='*'
+ DRM='*'
+ DRM_PANIC='*'
+ DRM_PANIC_SCREEN='kmsg'
+ DRM_FBDEV_EMULATION='*'
+ DRM_SIMPLEDRM='*'
+ FRAMEBUFFER_CONSOLE='*'
  
 +EFI_ZBOOT='*'
 +
  revision='sysv'
- 
- [DRM_FBDEV_EMULATION]
- value = ' *'
- comment = 'If [DRM] is selected as * or M, this must be selected'
- 
- [FRAMEBUFFER_CONSOLE]
- value = ' *'
- comment = 'If [DRM] is selected as * or M, this must be selected'
diff --cc chapter10/kernel/sysv.xml
index f3cabda67,f90164d65..855593f8c
--- a/chapter10/kernel/sysv.xml
+++ b/chapter10/kernel/sysv.xml
@@@ -29,14 -29,15 +29,17 @@@
      [*]   <emphasis role='blue'>A</emphasis>utomount devtmpfs at /dev, after the kernel mounted the rootfs
                                                             ...  [DEVTMPFS_MOUNT]
    <emphasis role='blue'>F</emphasis>irmware Drivers ---&gt;
+     [*] M<emphasis role='blue'>a</emphasis>rk VGA/VBE/EFI FB as generic system framebuffer       [SYSFB_SIMPLEFB]
 +    <emphasis role='blue'>E</emphasis>FI (Extensible Firmware Interface) Support ---&gt;
 +      [*] <emphasis role='blue'>E</emphasis>nable the generic EFI decompressor                        [EFI_ZBOOT]
    <emphasis role='blue'>G</emphasis>raphics support ---&gt;
-     &lt; /*/M&gt; <emphasis role='blue'>D</emphasis>irect Rendering Manager (XFree86 4.1.0 and higher DRI support) ---&gt;
+     &lt;*&gt; <emphasis role='blue'>D</emphasis>irect Rendering Manager (XFree86 4.1.0 and higher DRI support) ---&gt;
                                                                        ...  [DRM]
-       # If [DRM] is selected as * or M, this must be selected:
-       [ /*] <emphasis role='blue'>E</emphasis>nable legacy fbdev support for your modesetting driver
+       [*]    <emphasis role='blue'>D</emphasis>isplay a user-friendly message when a kernel panic occurs
+                                                                 ...  [DRM_PANIC]
+       (kmsg)   <emphasis role='blue'>P</emphasis>anic screen formatter                         [DRM_PANIC_SCREEN]
+       [*]    <emphasis role='blue'>E</emphasis>nable legacy fbdev support for your modesetting driver
                                                        ...  [DRM_FBDEV_EMULATION]
+       &lt;*&gt;    <emphasis role='blue'>S</emphasis>imple framebuffer driver                           [DRM_SIMPLEDRM]
      <emphasis role='blue'>C</emphasis>onsole display driver support ---&gt;
-       # If [DRM] is selected as * or M, this must be selected:
-       [ /*] <emphasis role='blue'>F</emphasis>ramebuffer Console support                    [FRAMEBUFFER_CONSOLE]</screen>
+       [*] <emphasis role='blue'>F</emphasis>ramebuffer Console support                      [FRAMEBUFFER_CONSOLE]</screen>
diff --cc patches.ent
index 814a88105,7035044cd..35c52c3d4
--- a/patches.ent
+++ b/patches.ent
@@@ -7,11 -7,10 +7,15 @@@
  <!ENTITY bash-upstream-fixes-patch-md5 "2d1691a629c558e894dbb78ee6bf34ef">
  <!ENTITY bash-upstream-fixes-patch-size "5.9 KB">
  -->
 +
 +<!ENTITY binutils-loongarch-patch "binutils-&binutils-version;-loongarch_fix-1.patch">
 +<!ENTITY binutils-loongarch-patch-md5 "a04da0c03fef8ef3fae780eefd7aa6a7">
 +<!ENTITY binutils-loongarch-patch-size "1.2 KB">
 +
+ <!ENTITY binutils-upstream-patch "binutils-&binutils-version;-upstream_fix-1.patch">
+ <!ENTITY binutils-upstream-patch-md5 "eddd9860af589ec328541a9ec5e5928e">
+ <!ENTITY binutils-upstream-patch-size "18 KB">
+ 
  <!ENTITY bzip2-docs-patch "bzip2-&bzip2-version;-install_docs-1.patch">
  <!ENTITY bzip2-docs-patch-md5 "6a5ac7e89b791aae556de0f745916f7f">
  <!ENTITY bzip2-docs-patch-size "1.6 KB">

-- 
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.