Commit Graph

8616 Commits

Author SHA1 Message Date
Xi Ruoyao
af6ea195fe
prologue/standards: rewrite LSB description
Well, somehow this paragraph has become too imprecise.

1. We don't support IA64.  Both Intel and AMD uses x86_64 now, which is
   referred as "AMD64" because it's first proposed by AMD.  Intel
   attempted to use IA64 (which is a VLIW architecture completely
   different with x86_64) to compete with AMD64, but failed.  Then Intel
   adapted x86_64.
2. The architecture specific part belongs to Core and Desktop.
3. LFS cannot conform to both AMD64 and IA32 because we don't support
   multilib.  It's "or", not "and".
2022-10-18 14:41:25 +08:00
David Bryant
294ea05cd1 Clarified verbiage here and there. Used the present perfect tense instead
of the simple present to make the order of events clearer.
2022-10-17 16:12:16 -05:00
David Bryant
86f386863e Websters spells it up-to-date. Added one word for clarity. 2022-10-17 15:46:25 -05:00
David Bryant
6d46ee62eb Made grammatical corrections, clarified a few things. 2022-10-17 15:30:27 -05:00
David Bryant
ee0959b64a Corrected grammar and idiom, clarified a couple of things. 2022-10-17 15:19:01 -05:00
David Bryant
99ecc76577 Clarified a few things, edited for idiom and punctuation. 2022-10-17 15:00:38 -05:00
Bruce Dubbs
c5d10b5afb Update to linux-6.0.2 (Security update). 2022-10-17 14:12:15 -05:00
David Bryant
62a598f586 Corrected grammatical errors, polished English idiom. Tried
to introduce some variety by rephrasing "This package contains ...".
2022-10-15 17:01:50 -05:00
David Bryant
b64efa28d0 Clarfied a few points and corrected English idiom. 2022-10-15 15:05:17 -05:00
David Bryant
2e45b62428 Polished the prose; fixed some punctuation. 2022-10-15 14:28:46 -05:00
David Bryant
7739ad32c7 Edited for English idiom and general readability. Fixed some
punctuation here and there.
2022-10-15 13:25:26 -05:00
David Bryant
e0ae8cba63 Improved English idiom and puctuation. Short, punchy sentences are good! 2022-10-15 12:26:28 -05:00
Bruce Dubbs
efae0398b4 Package updates.
Update to iana-etc-20221007.
Update to vim-9.0.0739.
Add upstream patches to readline and bash.
Update to zlib-1.2.13.
Update to man-pages-6.00.
Update to gettext-0.21.1.
Update to iproute2-6.0.0.
Update to meson-0.63.3.
Update to Python-3.10.8.
Update to xz-5.2.7.
Update to tzdata-2022e.
Update to linux-6.0.1.
Update to dbus-1.14.4.
2022-10-14 12:18:56 -05:00
Xi Ruoyao
6e24d20038
dependency: add LLVM (w/ Clang) as external dependency of kernel
Some kernel features (like, building the kernel with LTO) already
requires Clang.
2022-10-12 14:29:20 +08:00
Pierre Labastie
8b539af84d First attempt at clarifying "Important Preliminary Material" 2022-10-09 18:46:28 +02:00
Bruce Dubbs
312d536a35 Fix systemd currency 2022-10-09 10:55:14 -05:00
Xi Ruoyao
68588615e6
temp bash: fix "support/config.guess: Permission denied"
In bash-5.2 tarball config.guess is not executable, so we need to run
the script with an explicit "sh".
2022-10-09 13:35:48 +08:00
Bruce Dubbs
b6d3512cc5 Typo 2022-10-06 10:07:36 -05:00
Pierre Labastie
793f9087f1 Fix sanity check in chapter 5
When I changed the sanity check to remove the "dummy.c" file, I
inadvertently used "gcc" instead of "$LFS_TGT-gcc". Which of course
finds the host gcc...
2022-10-06 09:07:42 +02:00
Xi Ruoyao
ceb61b9e38
binutils: add a command to list failed tests 2022-10-05 18:32:56 +08:00
Douglas R. Reno
8921ba4bae Emergency kernel update
Update to Linux-5.19.13

If you are using a laptop with an Intel GPU, it's imperative that you
update immediately if you are running Linux-5.19.12. Failure to upgrade
may result in permanent damage to the LCD display on your laptop.

The root cause of this is improper backporting of bugfixes for the i915
DRM driver in the kernel.
2022-10-04 22:09:33 -05:00
Xi Ruoyao
3bac16dcd4
glibc: update total test count
I have:

      2 FAIL
   5092 PASS
     67 UNSUPPORTED
     16 XFAIL
      4 XPASS

Let's not be too precise (or we'll need to explain the meaning of
"UNSUPPORTED").  IMO "over 5000" is fine (until we get 5500 tests).
2022-10-03 18:06:09 +08:00
Xi Ruoyao
de154344b8
binutils: don't wrap "gold" in <command>
"gold" is not an installed program (it's named "ld.gold").  So IMO it's
not proper to use <command>.
2022-10-03 18:06:09 +08:00
Xi Ruoyao
154a69586f
binutils: gas tests fail because race condition
Again, I sincerely wish libtool can suffer a painful death.
2022-10-03 18:06:09 +08:00
Xi Ruoyao
6582ddc527
pkgmgt: fix two typos 2022-10-02 21:02:16 +08:00
Xi Ruoyao
9b2dedc676
package: add optional instruction to change the owner of downloaded packages to root
Many users will create a user with the same username and UID so the
files will still be owned by his/her.  So make it optional by "If you
won't assign the same UID for your user in the LFS system".
2022-10-02 19:11:57 +08:00
Xi Ruoyao
bde421e48d
reboot: fix /dev/shm unmounting command
/dev/shm may be a mount point, or a symlink.
2022-10-02 16:12:26 +08:00
Pierre Labastie
8e0c191b9b umount /dev/shm before rebooting
Now that /dev/shm is always a mountpoint, it needs to be umounted
otherwise dev cannot be umounted.
2022-10-02 09:52:59 +02:00
Pierre Labastie
b3daf01578 Typos reported by "rhubarbpieguy" 2022-10-02 09:49:12 +02:00
David Bryant
4349661a7f Corrected grammatical errors and cleaned up English idiom. 2022-10-01 17:03:20 -05:00
Xi Ruoyao
2bf32ffa3a
kernfs: "device nodes" are in /dev, not "devices"
You cannot throw a NVIDIA GTX 690 into /dev :).
2022-10-01 15:27:19 +08:00
Xi Ruoyao
00588180ee
kernfs: modernize the explanation for bind mounting /dev
If you are using a "modern" distro (with devtmpfs and a modern udev
implementation), a bind mounting is actually not needed because you can
mount devtmpfs anyway.  The only reason for bind mounting is to be
compatible with old host distros where /dev is a directory containing
many static device nodes, or is a tmpfs (not same as devtmpfs) popluated
by bootscript or an old udev (modern udev implementations, including
eudev and systemd-udev used by LFS, strictly requires a devtmpfs on
/dev).

So update the explanation to match the status quo.
2022-10-01 15:14:22 +08:00
Xi Ruoyao
a8f3814a7b
kernfs: technically, they are not needed for chroot
Chroot command itself does not require kernel VFS mounted. You can mount
/proc, /sys, and /run after entering chroot with
"mount -v -t proc proc /proc" etc.  For /dev, if the host kernel
supports devtmpfs, you can also mount /dev in chroot with
"mount -v -t devtmpfs devtmpfs /dev".  Even if the host does not support
devtmpfs, it's still possible to mount /proc in chroot, then use
"mount --bind /proc/1/dev /dev".

It's just LFS editors decide to mount them before chroot.  So reword
some untrue assertions.
2022-10-01 13:35:59 +08:00
David Bryant
36cb08fbf0 Tweaked English idiom and edited for style. 2022-09-30 15:49:41 -05:00
David Bryant
29526d35ef Made grammatical corrections and stylistic changes to chapter 7.3.
Added clarification; the virtual file systems expose certain information
to programs in user space; chroot won't work without them.
2022-09-30 12:27:55 -05:00
David Bryant
52ddd6c033 Clarify some things in Intro to chroot; simplify some verbiage. 2022-09-30 11:24:14 -05:00
Bruce Dubbs
d11d449565 Merge branch 'trunk' of git.linuxfromscratch.org:lfs into trunk 2022-09-30 11:12:01 -05:00
Xi Ruoyao
543c94cb9c
libstdc++ "stage 3" is not rebuilt for the same reason as "stage 2"
I'm pretty sure "stage 2" libstdc++ (installed in ch6) is already fully
featured.  The reason to rebuild the stage 3 libstdc++ (or entire
stage 3 gcc) is same as the reason to rebuild every packages in multiple
chapters: to "settle down" it.

Merge the content of
https://www.linuxfromscratch.org/lfs/faq.html#rebuild-ch8 into the book
as an explanation.
2022-09-30 17:10:06 +08:00
Xi Ruoyao
77b46db0a8
toolchaintechnotes: highlight why the example (ubuntu vs android) needs "os" field 2022-09-30 16:24:55 +08:00
Xi Ruoyao
e18ba697eb
toolchain technical note: rewrite the descrption for triplet
- Don't say "most building system", refine the dicussion for autoconf.
  Other building systems may use a variant of triplet, or use a
  completely different system designation.
- Explain why a triplet may contain 4 fields in detail. "Histroical
  reason" is not really correct because 3-field triplet is still used
  today for BSD, Fuchsia, IOS, Mac OS X (darwin), Solaris, etc.
- "machine" triplet to "system" triplet (strictly speaking, only the
  first field in the triplet is for the machine).

Why we need to say "vendor can be omitted" explicitly: we mention "gcc
-dumpmachine".  On some distros (like Ubuntu) the output has no vendor
field.  If you think this is too nasty, please remove both.
2022-09-30 10:43:19 +08:00
Bruce Dubbs
488b43aaeb New packages and an xml fix.
Update to bc-6.0.4.
Update to linux-5.19.12.
Fix an xml error.
2022-09-29 20:44:01 -05:00
Bruce Dubbs
79789000a8 Package updates.
Update to iana-etc-20220922.
Update to tzdata-2022d.
Update to readline-8.2.
Update to linux-5.19.11.
Update to libffi-3.4.3.
Update to libcap-2.66.
Update to dbus-1.14.2.
Update to bc-6.0.3.
Update to bash-5.2.
2022-09-29 18:32:56 -05:00
David Bryant
cc0e77d267 Fix English idiom / clarify "General Instructions" section. 2022-09-29 16:30:17 -05:00
Pierre Labastie
eb30b32333 Revert "Update libreadline soversion (used in stripping)"
This reverts commit 0665add6d8.

new version of bash is not yet in the book!
2022-09-29 21:32:29 +02:00
Pierre Labastie
0665add6d8 Update libreadline soversion (used in stripping) 2022-09-29 21:16:06 +02:00
David Bryant
3c4e129d8c Make minor corrections to English idiom / style. 2022-09-29 14:12:10 -05:00
Xi Ruoyao
891b48b84b
toolchaintechnotes: update description about libstdc++
Since r11.0-r199, libstdc++ pass 2 is built as a part of gcc pass 2, not
in chroot.
2022-09-29 20:08:56 +08:00
Xi Ruoyao
de94423625
toolchaintechnotes: revert "second pass" -> "second version" change
"Pass 1" and "Pass 2" have specific meaning in LFS.
2022-09-29 19:43:54 +08:00
Xi Ruoyao
ea9263cbf0
toolchaintechnotes: add the rationale for cross compiling ch6 packages
"need to be cross compiled" alone does not make too much sense: we
compile these packages in chapter 8 anyway.  The real reason forcing a
cross compilation is circular dependency: if building A needs B but
building B needs A, we'll have to cross compile at least one of A and B
or we won't be able to build either in the chroot.
2022-09-29 19:38:47 +08:00
Xi Ruoyao
a243b36b8b
toolchaintechnotes: gcc -dumpmachine is similar to config.guess, but not same
Many distros have some customized things in gcc -dumpmachine.  RHEL uses
x86_64-redhat-linux-gnu, and Ubuntu uses x86_64-linux-gnu ("vendor"
field omitted).  So don't use "same" here, and also mention the "vendor"
field is sometimes omitted.
2022-09-29 19:12:18 +08:00