[lfs] 02/03: loongarch: hostreqs: stop abusing the "old/new-world" concepts

"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 d4a6dfcdcac4bd9fa08e4ed95a2ca2f1344cbe4e
Author: Xi Ruoyao <[email protected]>
AuthorDate: Sat May 9 00:54:11 2026 +0800

    loongarch: hostreqs: stop abusing the "old/new-world" concepts
    
    It's now 2026 and it unfortunately turns out the "old-world" and
    "new-world" concepts have become overloaded too much.  In many contexts
    they are even abused for well-known platform-independant ABI issues like
     SONAME differences.
    
    As an educational project, let's get ourselves out of this mess.
---
 chapter02/hostreqs.xml | 71 +++++++++++++++++++++++++++++++++++++++++---------
 1 file changed, 58 insertions(+), 13 deletions(-)

diff --git a/chapter02/hostreqs.xml b/chapter02/hostreqs.xml
index 9067e4a11..fbf583f89 100644
--- a/chapter02/hostreqs.xml
+++ b/chapter02/hostreqs.xml
@@ -110,24 +110,69 @@
       LoongArch.</para>
 
       <important>
+        <!-- We deliberately hard-code 5.19 instead of using min-kernel
+             here, for the correctness even after we raise min-kernel to
+             6.1 - I'm not so optimistic to believe old-world will have
+             its natural death before Dec. 2027, when the LFS trunk will
+             eventually raise min-kernel to 6.1 and we'll merge.  -->
         <para>
-          If a Linux distribution on LoongArch provides a kernel older than
-          &min-kernel;, it indicates the distribution is using a preliminary
-          version of the kernel ABI.  The preliminary draft was rejected by
-          the kernel maintainers and it's fundamentally incompatible with
-          the packages we will built for LFS.  Such <quote>old-world</quote>
-          distributions (for example, Loongnix) cannot be used as a host
-          distro for building LFS.
+          If a Linux distribution on LoongArch provides a kernel older
+          (exclusively) than 5.19, it indicates the distribution is using a
+          preliminary draft of the ABI provided by the kernel for the
+          userspace.  The ABI had been revised for several times before it
+          was finally integrated into Linux 5.19 and stablized, so those old
+          kernel versions are incompatible with some critical packages those
+          we will build (at least, glibc and GCC).  Such an
+          <quote>old-world</quote> distro (for example, Loongnix 20) cannot
+          be used as a host distro for building LFS.
         </para>
 
         <para>
           Do not attempt to update the kernel to &min-kernel; or later on
-          a old-world distro because doing so will cause a boot failure.
-          Use a <quote>new-world</quote> distribution providing Linux Kernel
-          &min-kernel; or newer instead.  You may need to contact the vendor
-          of your hardware to get a firmware update for booting a new-world
-          distribution because the boot protocol of LoongArch is stabilized
-          after the launch of the early LoongArch hardwares.
+          an old-world distro because doing so will almost definitely cause
+          a boot failure due to the ABI difference (i.e. the
+          <command>init</command> process will likely crash very soon after
+          startup).  Use a <quote>new-world</quote> distro providing Linux
+          5.19 or newer instead.  <!-- If the kernel version of a
+          <quote>new-world</quote> distro is older than &min-kernel;, you
+          may upgrade the kernel on your own.  (uncomment when we raise
+          min-kernel to 6.1) -->
+        </para>
+
+        <para>
+          Another source of the compatability issues is the boot protocol
+          provided by the firmware.  The UEFI specification for LoongArch
+          had been also revised for several times, similar to the revisions
+          of the kernel ABI for userspace.  The GRUB and Linux kernel
+          packages those we'll build for LFS are not compatible with the
+          old firmware developed following the early drafts of the UEFI
+          specifications.  Those old firmware implementations are only
+          reported to exist on the earliest models of the LoongArch hardware
+          based on Loongson 3A5000 processors and Loongson 7A1000 bridge
+          chips.  If you have such a board, you may need to contact the
+          vendor of your hardware to get a firmware update in order to boot
+          LFS.
+        </para>
+
+        <para>
+          Some sources describe the boot protocol difference as a part of
+          the <quote>old-world</quote> with <quote>new-world</quote>
+          difference.  We consider such a description misleading and
+          confusing.  In fact, the boot protocol difference is orthogonal
+          with the difference of the kernel ABI for userspace.  You may boot
+          some <quote>new-world</quote> distros (for example, AOSC OS) on
+          a firmware implementation providing the old boot protocol because
+          the maintainers of those distros have custom modifications to the
+          GRUB and Linux kernel for the old boot protocol support and build
+          LFS fine, but then LFS will fail to boot there.  Similarly, many
+          <quote>old-world</quote> distros can also boot on newer firmware
+          implementations following the stabilized UEFI specification.  As
+          the result, clearly distinguishing those two kinds of differences
+          is important to avoid confusions like <quote>my board has a [so
+          called] new-world firmware and I've booted a distro
+          [actually, old-world, perhaps just Loongnix 20] there fine, so the
+          distro must be new-world but why does it fail to work as a host
+          distro for building LFS?</quote>
         </para>
       </important>
 

-- 
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.