| 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 --->
+ [*] 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 --->
+ [*] <emphasis role='blue'>E</emphasis>nable the generic EFI decompressor [EFI_ZBOOT]
<emphasis role='blue'>G</emphasis>raphics support --->
- < /*/M> <emphasis role='blue'>D</emphasis>irect Rendering Manager (XFree86 4.1.0 and higher DRI support) --->
+ <*> <emphasis role='blue'>D</emphasis>irect Rendering Manager (XFree86 4.1.0 and higher DRI support) --->
... [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]
+ <*> <emphasis role='blue'>S</emphasis>imple framebuffer driver [DRM_SIMPLEDRM]
<emphasis role='blue'>C</emphasis>onsole display driver support --->
- # 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