aboutsummaryrefslogtreecommitdiffstats
path: root/chapter07
Commit message (Collapse)AuthorAgeFilesLines
* Reformat util-linux configure parameters.Bruce Dubbs2023-12-141-4/+4
|
* kernfs: Revise command creating the link target in case /dev/shm is a symlinkXi Ruoyao2023-11-201-1/+1
| | | | | | | | | | | | | | | When /dev/shm is a symlink we need to create its target or some tests will fail and Python 3 will be misconfigured. We wrote it as: mkdir -pv $LFS/$(readlink $LFS/dev/shm) But if $LFS/dev/shm is a relative symlink (say ../run/shm), we end up: mkdir -pv /mnt/lfs/../run/shm This command will create /mnt/run/shm, not $LFS/mnt/shm as we expected. Twist it a little to make it work for both absolute symlinks and relative symlinks.
* Typo fixDouglas R. Reno2023-11-151-1/+1
|
* Minor grammar corrections.Bruce Dubbs2023-11-141-9/+8
| | | | | | | Mistakenly removed the remote WIP branch while it's not fully merged yet. Cherry-pick the discarded commit. (cherry picked from commit 2f3f0e9e813f60a88e9f557842a7b9a50cdec50b)
* chroot: Set MAKEFLAGS and TESTSUITEFLAGS for parallelismXi Ruoyao2023-11-131-0/+13
|
* createfiles: Remove doubled punctuationXi Ruoyao2023-10-021-1/+1
|
* Package updates and one fix.Bruce Dubbs2023-10-011-2/+2
| | | | | | | | | | | | | | Disable building nscd in glibc. Update to iana-etc-20230929. Update to vim-9.0.1968. Update to openssl-3.1.3. Update to meson-1.2.2. Update to man-db-2.12.0. Update to linux-6.5.5. Update to kmod-31. Update to kbd-2.6.3. Update to gettext-0.22.2. Update to bc-6.7.0.
* createfiles: Add Y2038 info about the traditional {b,u,w}tmp and lastlog filesXi Ruoyao2023-09-301-3/+18
| | | | And utmp does not exist on systemd-based LFS.
* Make /dev/shm mount and umount verbosePierre Labastie2023-09-121-1/+1
| | | | | Almost all commands in lfs are verbose. Don't know why these ones were not.
* perl: Move some explanations from Chapter 8 to Chapter 7Xi Ruoyao2023-09-091-1/+31
| | | | Explain switches once they show up first time.
* Package updates and misc upates/typos.Bruce Dubbs2023-09-021-2/+0
| | | | | | | | | | | | | | | | | | Update to vim-1837.$ Update to zlib-1.3.$ Update to wheel-0.41.2 (Python Module).$ Update to util-linux-2.39.2.$ Update to sysvinit-3.08.$ Update to shadow-4.14.0.$ Update to Python-3.11.5.$ Update to procps-ng-4.0.4.$ Update to pkgconf-2.0.2.$ Update to mpfr-4.2.1.$ Update to kbd-2.6.2.$ Update to gzip-1.13.$ Update to coreutils-9.4.$ Specify the 'nobody-group' for systemd.$ Remove unused usb group.$
* Package updates.Bruce Dubbs2023-05-181-2/+2
| | | | | | | | | 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.
* Package updates.Bruce Dubbs2023-04-141-0/+1
| | | | | | | | | | 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.
* Standardize spelling of "userspace".David Bryant2022-12-241-1/+1
|
* Edited Pierre's recent additons,to improve English idiom. Also correctedDavid Bryant2022-11-261-5/+5
| | | | capitalization of a title.
* Add note and warning about /usr/lib64Pierre Labastie2022-11-261-0/+11
|
* kernfs: reword the description of bind mountXi Ruoyao2022-11-181-2/+2
| | | | | | | | | | | "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.
* kernfs: remove a false noteXi Ruoyao2022-11-181-2/+1
| | | | | | | | | | | | | | | | | | | | | 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.
* chroot: reword how chroot worksXi Ruoyao2022-11-181-3/+4
| | | | | | | | | | | | | | | 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.
* Corrected grammar, spelling, and idiom in chapter 7.David Bryant2022-11-164-58/+54
|
* kernfs: "device nodes" are in /dev, not "devices"Xi Ruoyao2022-10-011-1/+1
| | | | You cannot throw a NVIDIA GTX 690 into /dev :).
* kernfs: modernize the explanation for bind mounting /devXi Ruoyao2022-10-011-10/+21
| | | | | | | | | | | | | 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.
* kernfs: technically, they are not needed for chrootXi Ruoyao2022-10-012-3/+3
| | | | | | | | | | | | | 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.
* Tweaked English idiom and edited for style.David Bryant2022-09-301-11/+11
|
* Made grammatical corrections and stylistic changes to chapter 7.3.David Bryant2022-09-301-15/+17
| | | | | Added clarification; the virtual file systems expose certain information to programs in user space; chroot won't work without them.
* Clarify some things in Intro to chroot; simplify some verbiage.David Bryant2022-09-301-5/+5
|
* Fix unmounting instruction in 7.13.2. BackupBruce Dubbs2022-09-221-1/+1
|
* Adjust instructions for /dev/shm when creating virtual filesystems.Bruce Dubbs2022-09-202-1/+9
| | | | | | | | | | 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.
* cleanup: rephrase description for .la removalXi Ruoyao2022-09-191-4/+4
| | | | | | 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.
* add <literal> to make commands for temp /etc/hosts and final /etc/pip3.conf ↵Xi Ruoyao2022-09-141-2/+2
| | | | looking better
* some http -> https changesXi Ruoyao2022-09-051-1/+1
|
* texinfo: remove unneeded sedXi Ruoyao2022-07-021-5/+0
| | | | | | | | | | | | | | | | | | | | 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)
* revise the note about "already created" directoriesXi Ruoyao2022-05-301-4/+4
| | | | | | | | | | 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>
* GID 5 (for tty) is also specialXi Ruoyao2022-05-021-3/+8
|
* minor fix for 65534 explanation: it is also used for "unmapped" groupsXi Ruoyao2022-05-021-3/+3
|
* make /etc/group sorted by GIDXi Ruoyao2022-05-021-4/+4
|
* explain the usage of 65534Xi Ruoyao2022-05-021-0/+9
|
* Merge branch 'trunk' of git.linuxfromscratch.org:lfs into trunkBruce Dubbs2022-04-302-3/+3
|\
| * decorate the references to root and lfs userXi Ruoyao2022-04-212-3/+3
| | | | | | | | | | The references already correctly decorated are not changed because "if it's not broken don't fix it".
* | Package updates and nobody uid change.Bruce Dubbs2022-04-301-4/+4
|/ | | | | | | | | | | | | | 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.
* SpelingBruce Dubbs2022-03-242-2/+2
|
* Fix pdf presentation issues and some misc issuesBruce Dubbs2022-03-141-1/+1
| | | | | | | | | | 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.
* kernfs: "Udev" -> "the kernel and Udev"Xi Ruoyao2022-03-081-1/+2
| | | | | devtmpfs already contains many device nodes created by the kernel once it's mounted, and Udev creates or renames nodes based on kernel work.
* kernfs: remove static node creation, and update the textXi Ruoyao2022-03-081-32/+13
| | | | | | | | | | | | | | | | | | 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.
* fix GCC PR100017 and enable libstdc++ for pass 2Xi Ruoyao2022-02-272-121/+0
| | | | | | | | | 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.
* Spelling/TyposBruce Dubbs2022-02-181-1/+1
|
* Fix typos in glibc and for systemd-oom group syntaxBruce Dubbs2022-02-151-1/+1
|
* systemd: remove unneeded group "systemd-bus-proxy"Xi Ruoyao2022-02-051-1/+0
|
* remove "+h" in bash commands in chroot (#4998)Xi Ruoyao2022-02-052-13/+3
| | | | | | | | | | | | | | | 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.
* Minor tweaks to systemdDouglas R. Reno2022-02-041-1/+0
|