The kernel-config.py script takes a toml file containing a set of
kernel configuration key-value pairs. Then it parses the Kconfig files
in a kernel source tree and render the given configuration as a
LFS-style <screen> in a separate XML file. The XML file can be used in
the book with xinclude.
Some "features":
1. The lines are limited to 80 columns.
If the text of the configuration option is too long, it will be
trimmed; if the symbolic name of the option cannot fit in this line,
a separate line will be used for it.
2. If a configuration option is given but it does not exist in Kconfig
files, the script will abort immediately. This helps catching
removed options.
3. The script also aborts immediately if a configuration option is
illegal, for example setting an option to 'M' while it cannot be a
module.
4. The infrastructure is not wired into the main Makefile. It's because
not all editors have the latest kernel tree, and even if they do the
locations of the kernel tree are still different. To update the
generated XML files, use
"make -C kernel-config KERNEL_TREE=/sources/linux-x.y.z".
Backword incompatible change:
The script no longer outputs "CONFIG_" prefix for the symbolic name. It
really does not make too much sense to waste 7 characters here because
it's a common prefix for all options!
A limitation:
The script does not really validate the configuration. Generally
validating the configuration requires to solve the 3-CNF-SAT problem,
which is NP-complete.
xorg-server itself does not need libelogind/libsystemd to invoke the
logind D-Bus API. elogind/systemd-logind works for Xorg server when you
login: once you've logged in on a TTY, pam_systemd or pam_elogind
invokes systemd-logind or elogind to modify the ACL of the device node
of GPU for you:
$ getfacl /dev/dri/card1
getfacl: Removing leading '/' from absolute path names
# file: dev/dri/card1
# owner: root
# group: video
user::rw-
user:xry111:rw-
group::rw-
mask::rw-
other::---
Note that the "user:xry111:rw-" line allows the user logged in (in this
example, xry111, my user account) to operate on the GPU. If
systemd-logind or elogind is not installed, there will be no such a line
and you need to setuid bit for Xorg executable, which is not
recommended.
FWIW logind is smart enough not to add the ACL entry if you've logged in
via SSH.
You may need to logout and login again to use startx if you've installed
pam_{elogind,systemd} and Xorg server & xinit in a continous login
session, but this is already mentioned on xorg-config.xml.
You may ask why Xorg server links to libsystemd or libelogind. It uses
sd_notify and sd_listen_fds API so the Xorg server can function as a
socket-activated systemd service. This is useless in SysV: elogind is
a logind, not a service manager. In Systemd the libsystemd.so installed
in LFS should be enough, and we've never provided instructions to run
Xorg server in BLFS as a systemd service.
Reported-by: Rainer Fiebig <jrf@mailbox.org>
I know it is somewhat useless, but I don't like them for
two reasons: first they cannot be seen, and I do not like things I
cannot see. Second, git highlights them, and this is disturbing...
In the process, some attributes in single quotes have been changed to double
quotes, and a few attribute lists have been written on one line instead of
several lines.
git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@24236 af4574ff-66df-0310-9fd7-8a98e5e911e0
Update to systemd-247
Update to nano-5.4
Update to libtirpc-1.3.1
Update to GnuTLS-3.7.0
Adapt xf86-input-wacom to udev changes
git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@23955 af4574ff-66df-0310-9fd7-8a98e5e911e0
Update to mesa-19.3.4.
Update to wayland-1.18.0.
Tag most of xorg (not all drivers) and xorg dependencies.
git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@22699 af4574ff-66df-0310-9fd7-8a98e5e911e0
Update to ModemManager-1.12.4.
Update to nss-3.49.1.
Update to xorg-server-1.20.7.
git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@22576 af4574ff-66df-0310-9fd7-8a98e5e911e0
Update to stunnel-5.56.
Update to xorg-server-1.20.6.
Update to tcl8.6.10 and tk-8.6.10.
Update to pcre2-10.34.
Update to libtasn1-4.15.0.
git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@22400 af4574ff-66df-0310-9fd7-8a98e5e911e0