335 Commits

Author SHA1 Message Date
Zeckmathederg
3463ee37df Merge branch 'trunk' into multilib 2026-05-11 17:05:20 -06:00
Bruce Dubbs
7199dfd2a0 Reword the warning in 'Host System Requirements' 2026-05-08 14:02:57 -05:00
Xi Ruoyao
7aad05e6c9 hostreqs: fix the note about newer GCC version
Another "stupid I" issue.
2026-05-08 23:20:45 +08:00
Xi Ruoyao
5ec6ec66b0 reword for the "rolling release" warning
The original warning is inaccurate/misleading in many aspects.

The critical thing is GCC version.  There's nothing to do with the
OpenSSL version (as nothing in ch5 or 6 ever uses OpenSSL).  There's
also nothing to do with the kernel "major" version as the "major"
version is just an arbitary choice to make the minor version not greater
than 19 by Linus.  It does not imply any aspect of the ABI, unlike the
"major" version in a SONAME or something.  The inablility to build Glibc
with Linux 7.0 API headers is simply a coincidence.  If another API
header change happens in Linux 7.6, it may break Glibc build as well.

And I cannot see how the Linux API header version of the host distro can
ever affect LFS.  LFS builds ch05 Glibc with its own Linux API header
installed just before Glibc, not the installation from the host distro.
So Glibc should just build fine with the 6.19 API header just installed
into $LFS/usr/include.  I know it would fail to build with Linux 7.0 API
headers but why it can ever find one - if it really finds the host
distro's API header instead of the one in $LFS/usr/include we have a
serious bug and it will have to be fixed instead of papered over by
limiting the host distro.

I also know the req test will fail if the host distro has Linux 7.0 but
I've no idea if the test failure is really related to the "massive
breakage of rseq" (I assume it refers to the jemalloc breakage?  But
AFAIK nothing in LFS uses jemalloc).  And the glibc upstream has just
fixed the test file simply.  We always treat test-file-only fixes as
"known failures" instead of "bugs requiring a fix" unless it aborts the
entire test suite too early.  Add a note in the glibc page to note there
can be additional failures with Linux >= the version we use for LFS.

And there's also nothing to do with the "rolling release."  For example,
you cannot build LFS 12.0 on LFS 12.4 because ch06 bash uses the host
compiler to build some code generators, and those generators are not
compatible with C23 (the default of GCC 15.2 shipped by LFS 12.4).  LFS
12.4 is definitely not a rolling release...

A rolling release just catches the breakage earlier and we shouldn't
blame it to do so.  IMO we should avoid the unfair accusion on rolling
distros as the same unfair accusion is often towards LFS (notably the
way we develop BLFS is very similar to a rolling release distro).

In the hostreqs page we already states building with a GCC newer than
the version specified for LFS in the book is "not tested and not
recommended."  I don't know why people must ignore it (AFAIU "not
recommended" in LFS means "not supported; don't report any bug" already:
for example those "recommended" dependencies in BLFS).  Make it more
explicit with assertive language and <warning>.
2026-05-06 13:14:54 +08:00
Zeckmathederg
f186938ff0 Merge branch 'trunk' into multilib 2026-05-03 13:02:53 -06:00
Zeckmathederg
8d92bc4025 Mention failures with rolling distros.
Twice in the past span of a year, Arch Linux has updates to new versions
of software rather quickly that causes LFS to be impossible without
modifications. The first instance was updating to GCC-15.1, of which
that disaster may be repeated with GCC-16.1. The second, most recent,
instance is that they updated to Linux-7. This changed behavior of
rseq, tables, and the ABI feature from 32 to 33, which messes with
Glibc, meaning users will need to use a host that has Linux <= 6.19.x
for now.

This distructive nature needs to be explained to the users to help to
prevent them from using broken hosts.

So many issues have popped up over on Discord and Reddit, and as an
aside and personal vent, I've been getting pretty tired of it each time
Arch pulls off something like this when it clearly isn't time yet.

The Gentoo GUI LiveCD (and Gentoo itself in general) is a good example
of how to treat the software set, and too not update too early.
2026-05-03 12:56:02 -06:00
Douglas R. Reno
960d10a458 Merge branch 'trunk' into multilib 2026-04-30 14:27:40 -05:00
Xi Ruoyao
c1f817ffb0 creatingpartition: reword
Fix the explanation for CSM (here M stands for Module, not Mode).

Keep the terminology "BIOS" soly for "booting via MBR" and use
"firmware" instead for other purposes.
2026-05-01 02:03:01 +08:00
Xi Ruoyao
fa8ce85b31 hostreqs: missing punct 2026-05-01 01:47:13 +08:00
Xi Ruoyao
74dc9140e8 creatingpartition: align the terminology for mkswap as creatingfilesystem
Technically the swap partition does not contain a file system, thus
"formatting" seems puzzling.  And the next section is using a better
terminology "initialized" (copied from the man page of mkswap).
2026-04-30 11:28:51 +08:00
Xi Ruoyao
64fe812f2a hostreqs: mention creating ESP needs dosfstools 2026-04-30 11:16:23 +08:00
Xi Ruoyao
1e6adb866f creatingfilesystem: drop extra whitespace in systemitem 2026-04-30 11:06:54 +08:00
Douglas R. Reno
c16d4870aa Merge branch 'trunk' into multilib 2026-04-09 10:47:42 -05:00
Douglas R. Reno
e34aca456d Typo fixes from rhubarbpieguy 2026-04-09 10:46:25 -05:00
Zeckmathederg
b67bea305c Provide OpenRC support.
This doesn't replace Systemd or SysVinit rendering options.

When going through, I discovered some issues with the main OpenRC branch
which I fixed along the way. There is a UEFI issue I'm embarresed I
didn't notice yet, which was a /boot/efi entry in the /etc/fstab
section. So I will resolve that soon here.
2026-04-06 21:09:52 -06:00
Zeckmathederg
c076c72d9d Merge branch 'trunk' into multilib 2026-04-04 20:24:39 -06:00
Zeckmathederg
67ebdb0a15 Merge branch 'trunk' into multilib 2026-04-04 09:59:29 -06:00
Zeckmathederg
edcab0432d Merge branch 'trunk' into zeckma/uefi-support 2026-04-04 09:57:08 -06:00
Zeckmathederg
816b4a5ebb creatingpartition: Grammar. 2026-04-04 09:56:41 -06:00
Bruce Dubbs
a4468deb2c Tweaks to example partition table. 2026-04-03 18:07:08 -05:00
Bruce Dubbs
30025733d4 Add a subsection with an example disk layout. 2026-04-03 16:18:55 -05:00
Zeckmathederg
ab6e014a2d Removed x32-bit support for ML.
In most cases, there is no need for x32-bit support unless the main
architecture being used is x32-bit support, not 64-bit. Please read the
x32-bit removal announcement for more information if curious.
2026-03-19 16:46:02 -06:00
Zeckmathederg
e53e689502 *: Bios -> BIOS. 2026-02-12 00:08:51 -07:00
Pierre Labastie
6808ceb5ef Add a missing </para> 2026-02-10 17:58:52 +01:00
Zeckmathederg
9a803f34b8 UEFI: Address comments by Bruce. 2026-02-06 18:21:35 -07:00
Zeckmathederg
6de91a12a0 Merge branch 'trunk' into zeckma/uefi-support 2026-02-02 19:24:39 -07:00
Thomas Trepl
6fac5d60ac Merge branch 'trunk' into multilib 2025-08-29 07:59:32 +02:00
Xi Ruoyao
3ce9115c4f hostreqs: Bump the GCC version in the check script too
I forgot this :(.
2025-08-23 19:14:02 +08:00
Xi Ruoyao
8f6ef36f74 hostreqs: Bump minimum GCC version to 5.4
GCC-15 has bumped the C++ standard to C++14, and the required GCC
version to 5.4 because 5.3 and earlier may generate some wrong code with
C++14 and constexpr (that GCC-15 code base uses).
2025-08-23 17:57:47 +08:00
Thomas Trepl
b036ebf2c5 Automatic merge of trunk into multilib 2025-02-02 00:30:13 +01:00
Xi Ruoyao
ce20367007 stages: "Changing Ownership" shouldn't be executed resuming an interrupted build
Before we added "--from lfs", it'll break a half-baken LFS system.

After we added "--from lfs", it has no effect.
2025-02-01 20:12:49 +08:00
Thomas Trepl
5b588ef0e1 Automatic merge of trunk into multilib 2025-01-26 00:30:12 +01:00
Xi Ruoyao
ff4a32ec01 aboutlfs: Fix umask expect output
On a latest LFS system the output is 0022.  It seems depending on host
shell version.
2025-01-25 22:15:31 +08:00
Thomas Trepl
1c0ba86037 Merge at Mon Jan 13 23:45:01 GMT 2025 2025-01-13 23:45:01 +00:00
Xi Ruoyao
7622257836 Move fixup for $LFS owner/permssion to mounting the new partition 2025-01-13 11:25:01 +08:00
Thomas Trepl
d806708dcb Merge at Sun Jan 12 23:45:01 GMT 2025 2025-01-12 23:45:01 +00:00
Douglas R. Reno
bb5bf3b9d8 Minor typo fixes 2025-01-12 12:13:06 -06:00
Xi Ruoyao
39679232f7 Move the explanation of umask 022 from settingenviron to aboutlfs
Explain it once we use it.  Also fix an error in the text (we don't make
files executable, we only make directories searchable).
2025-01-12 11:56:30 +08:00
Xi Ruoyao
625969c2de aboutlfs: Also mention umask in addition to export LFS= for bash profiles 2025-01-12 11:53:48 +08:00
Thomas Trepl
27a6991443 Merge at Sat Jan 11 23:45:01 GMT 2025 2025-01-11 23:45:01 +00:00
Xi Ruoyao
cacb470c97 aboutlfs: Set umask to 022
I know some distros are using a different default and we are having
reports of some mysterious permission issue via lfs-support those I
highly suspect as some umask issue.  Let's just explicitly set it (like
setting $LFS) to protect us from such distros without changing every
"mkdir -pv" to "install -vdm755".
2025-01-11 23:34:14 +08:00
Zeckmathederg
2b934273e5 Better document the ESP during partition and file system creation. 2024-12-22 22:47:16 -07:00
Thomas Trepl
5fe13d78f5 Automatic merge of trunk into multilib 2024-12-13 00:30:10 +01:00
Xi Ruoyao
6d36d72175 hostreq: Bump min-kernel to 5.4
4.19 LTS is EOL now.
2024-12-12 14:37:56 +08:00
Thomas Trepl
faf4963f4c Fix some typos 2024-11-07 14:48:54 +01:00
Xi Ruoyao
0b4c2e218b multilib: Update host kernel requirement for multilib
Switch to the new kernel config rendering infrastructure.  Remove the
"IA32 a.out support" which is already removed and was completely useless
for multilib even before the removal.  Mention the new "IA32 emulation
disabled by default" option.  Separate mx32 and m32 kernel
configuration.  Fix the consequences building a multilib when lacking
the corresponding kernel feature.
2024-09-08 14:21:09 +08:00
Thomas Trepl
d9c8637857 Automatic merge of trunk into multilib 2024-06-23 00:30:20 +02:00
Xi Ruoyao
201aa93863 Move punctuation/comma into quotes for <xref>s
We are using American rule for punctuation/comma vs. quotes.  We've
fixed most cases but not <xref>s.
2024-06-22 11:43:31 +08:00
Thomas Trepl
400f700fd3 Automatic merge of trunk into multilib 2024-05-14 00:30:10 +02:00
Xi Ruoyao
5ff2f2e472 creatingfilesystem: Remove reference to ReiserFS
It's deprecated by the kernel developers and we've archived the tools
for it in BLFS as well.
2024-05-13 20:17:46 +08:00