1. No need to escape the space in `set -u` in the sed.
2. `chmod +x` the udevd service.
3. Add `-f` to the `ln` agetty command.
Thanks to Thomas Trepl for these fixes.
This is a rough draft of LFS w/ OpenRC without SysVinit. This is nowhere
close for a merge as I need to confirm this works with LFS. Beyond that,
BLFS also must get support, and BLFS will be a battlefield. Until we get
to that point, please do not have this merged.
This branch has been created because the LSB is getting changed, where
SysVinit will not be part of it. However, OpenRC will be. OpenRC also
provides technology projects like GNOME use. SysVinit simply will not
get those technologies. I believe OpenRC will be the way to go, going
forward for an educational alternative to the Systemd version of LFS.
SysVinit can act as an init system under OpenRC, which would introduce
unneeded complexity. That's why this removes SysVinit.
This shall get rendered at
https://linuxfromscratch.org/~zeckma/. MLFS support is not planned until
merge into trunk.
Feedback is appreciated.
I still think this is obvious but it seems some people are surprised by
"unknown host" in chroot. Let's just note it before they propose a
change for every BLFS package of which the build process requires an
Internet connection.
Update to iana-etc-20240612.
Update to bc-6.7.6.
Update to man-pages-6.9.1.
Update to linux-6.9.7.
Update to sysklogd-2.5.2.
Update to shadow-4.16.0.
Update to systemd-256.1.
Update to setuptools-70.1.1.
Also change the formatting of options '-Dsomething' to '-D something'.
Use <quote> instead of '"' if possible. Use <literal>,
<computeroutput>, etc. instead of <quote> if possible. Replace
<quote>alpha</quote> with a UTF-8 Greek alpha character.
BTW decorate ".link" with <filename class='extension'>.
Do not duplicate large paragraphs of texts.
Always use C locale if running in a Linux console. Create /etc/profile
for systemd too, but reading the locale setting from /etc/locale.conf.
"gcc(1)" is really not a file name.
Use <ulink> and link to the online man page on
https://man.archlinux.org/ so the user can refer to the man pages more
easily.
The change is done via a sed command and long lines are wrapped
manually.
- according to our typography, referring to a manual page should be
<filename>page(x)</filename>
- don't enclose punctuation into quotes
- use <option> for option
The upstream has splitted [DHCP] into [DHCPv4] and [DHCPv6]. While we
are only enabling DHCPv4 in the example setting (in most scenario DHCPv6
is not strictly needed as SLAAC is sufficient), just use [DHCPv4]
instead of [DHCP].
Altered references to "a startup file" to "startup files".
Added detail to a reference to the bash info page. Tweaked
description of mafunctions caused by invalid locales. Clarified
descripton of extended ASCII characters. Every byte has the
high-order bit *set*; in extended ASCII, that bit is *on*.
Clarify discussion of "eth0" vs "enp5s0". Remove superfluous verbiage.
Improve punctuation. Patch grammatical errors (subject / verb).
Improve English idiom in a few places.
Regularized capital letters in <title> lines. Changed a dependent
clause and made it independent. Smoothed out some bumpy verbiage
in the "History" section. Removed superfluous verbiage. Clarified
some trounbleshooting advice.
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.