| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
Update to util-linux-2.39.
Update to linux-6.3.3.
Update to libcap-2.69.
Update to grep-3.11.
Update to flit_core-3.9.0.
Update to eudev-3.2.12.
|
|
|
|
|
|
|
|
|
|
| |
Update to vim-9.0.1452.
Update to iana-etc-20230405.
Update to zstd-1.5.5.
Update to Python-3.11.3.
Update to meson-1.1.0.
Update to man-pages-6.04.
Update to linux-6.2.11.
|
| |
|
|
|
|
| |
capitalization of a title.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
"Duplicated copy" is wrong IMO. If you copy A to B, B won't be changed
when you modify A. But if you bind mount A to B, B will reflect any
change made to A.
Again copy something from mount(2):
A bind mount makes a file or a directory subtree visible at another
point within the single directory hierarchy.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Things are a little tricky:
1. If the host is "modern" (any desktop distro after 2013), the kernel
supports devtmpfs and the host udev will do adjustments to the
devtmpfs. All instances of devtmpfs shares the same content so we'll
see the work of both the kernel and the host udev in chroot.
2. If the host is old but the kernel supports devtmpfs (i. e. the host
is not using devtmpfs for its /dev), when we mount devtmpfs on
$LFS/dev we'll see the work of the kernel in chroot, but not the work
of udev. **Building LFS does not need any work of udev.**
3. If the host is very old and the kernel does not support devtmpfs at
all, we can't mount devtmpfs.
Mounting a devtmpfs will work for 1 and 2, while bind mounting will work
for 1, 2, and 3. So we use bind mounting here.
I don't want to squash all these details into the book, so just remove
the false statement here.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Technically chroot command "tells" bash nothing. It basically calls
chroot("$LFS"), then chdir("/"), then
execve(["/usr/bin/env", "-i", ...]). The kernel also does not tell bash
something like "hey, the root is now $LFS" but just executes (almost) all
system calls from bash as-if $LFS is /.
The man page of chroot says:
DESCRIPTION
Run COMMAND with root directory set to NEWROOT.
Just use the same grammar construction here.
|
| |
|
|
|
|
| |
You cannot throw a NVIDIA GTX 690 into /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.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
Added clarification; the virtual file systems expose certain information
to programs in user space; chroot won't work without them.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Some host create /dev/shm as a tmpfs. Some have is as
a symlink to a location in another directory. This
change handles both cases.
The change to the sysV bootscripts now creates /dev/shm
as a separate tmpfs from /run. This makes LFS sysV and
systemd versions treat /dev/shm the same.
|
|
|
|
|
|
| |
Don't emphasis "static library" at all, to prevent anyone from thinking
"I need to use static libraries so I'll keep these .la files". And warn
that .la files are known to break BLFS packages.
|
|
|
|
| |
looking better
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It works out of box with glibc-2.35. I think this issue is already
fixed at glibc side, by the commit:
commit 0b5ca7c3e551e5502f3be3b06453324fe8604e82
Author: Paul Eggert <eggert@cs.ucla.edu>
Date: Tue Sep 21 07:47:45 2021 -0700
regex: copy back from Gnulib
Copy regex-related files back from Gnulib, to fix a problem with
static checking of regex calls noted by Martin Sebor. This merges the
following changes:
* New macro __attribute_nonnull__ in misc/sys/cdefs.h, for use later
when copying other files back from Gnulib.
... ... (unrelated things trimmed)
|
|
|
|
|
|
|
|
|
|
| |
Q: Why not just move the note after the creation of root-level
directories?
A: Root-level directories may be already created as well: if a
root-level directory is a mount point it should have been created in
section "Mounting the New Partition".
Reported-by: Vladimir Pertsev <info@linuxfromscratch.ru>
|
| |
|
| |
|
| |
|
| |
|
|\ |
|
| |
| |
| |
| |
| | |
The references already correctly decorated are not changed because "if
it's not broken don't fix it".
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
| |
Change nobody/nogroup uid/git to 65534.
Update to meson-0.62.1.
Update to libpipeline-1.5.6.
Update to elfutils-0.187.
Update to Jinja2-3.1.2.
Update to vim-8.2.4814.
Update to sysvinit-3.03.
Update to linux-5.17.5.
Update to gcc-11.3.0.
Update to coreutils-9.1.
Update to bc-5.2.4.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Change pdf generation to use 9 point fonts for monospace
sections of the book. Otherwise texy overflows, especially
in Chapter 8, Stripping.
Fix a minor spacing issue in the stripping issue.
MAke a minor grammar fix in creatingfiles.xml.
|
|
|
|
|
| |
devtmpfs already contains many device nodes created by the kernel once
it's mounted, and Udev creates or renames nodes based on kernel work.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is to match the "new" way of device handling with devtmpfs (already
widely used in recent ten years).
In a normal booting process, the kernel mounts devtmpfs at very early
stage. So the static nodes won't be used at all. The only situation
where the kernel can't mount devtmpfs is "/dev is missing", but it means
those two static nodes can't exist anyway, and a normal LFS system
(without initramfs) won't boot in such a bad situation.
Removing static /dev/console and /dev/null may cause trouble for those
people or scripts chroot into LFS tree without mounting devtmpfs. But
entering a chroot with only console and null in /dev is already
problematic. For a reference, If a systemd service is started with
PrivateDevices=true, systemd will create 18 nodes and symlinks to form a
"minimal" /dev.
|
|
|
|
|
|
|
|
|
| |
This is the issue preventing us from cross-compiling libstdc++ in
Chapter 6. By fixing this issue we can remove a seperate pass 2 for
libstdc++ and simplify the instruction.
The upstream fix will be released in 11.3 and 12.0, so we can remove the
first sed upgrading gcc next time.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In the new cross-compilation approach, the $PATH in chroot does not
contain '/tools/bin'. So "+h" is useless in chroot as the newly
installed tools always replace the temporary counterpart at the same
location.
"+h" in chapter4/settingenviron.xml is kept deliberately. Currently
$LFS/tools/bin only contains programs prefixed with
"x86_64-lfs-linux-gnu-", and it's highly unlikely that any distro will
ever ship a program named with such prefix. So it may seems that we can
remove this "+h" as well. However, the situation may change in future
and we can take this oppertunity to teach the advantage and disvantage
of bash hash feature.
|
| |
|
| |
|
|
|
|
| |
We are not sure what the interaction with /etc/shells is...
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Update to gawk-5.1.1.
Update to meson-0.60.0.
Update to libcap-2.60.
Update to gdbm-1.22.
Update to file-5.41.
Update to linux-5.14.15.
Update to iana-etc-20211025.
Update to tzdata-2021e.
Change /bin to /usr/bin in passwd, and revisedchroot.
Fix systemd for new meson.
|
| |
|
| |
|
| |
|
|\ |
|
| |
| |
| |
| |
| | |
Patch by Kevin Buckley.
Also made minor clarification to umount commands.
|
| | |
|
| | |
|
| | |
|