diff --git a/appendices/dependencies.xml b/appendices/dependencies.xml
index ed44374ea..30f2b05a6 100644
--- a/appendices/dependencies.xml
+++ b/appendices/dependencies.xml
@@ -3192,6 +3192,7 @@
&external;
+ Asciidoctor,
Libcap-NG,
libeconf,
@@ -3200,7 +3201,8 @@
Linux-PAM,
smartmontools, and
+ url="&blfs-book;postlfs/smartmontools.html">smartmontools,
+ po4a, and
slang
diff --git a/chapter10/kernel.xml b/chapter10/kernel.xml
index 587417f19..7589e3c39 100644
--- a/chapter10/kernel.xml
+++ b/chapter10/kernel.xml
@@ -265,16 +265,18 @@
- Framebuffer Console support
+
+
+ Enable legacy fbdev support for your modesetting driver
+ and
+ Framebuffer Console support
+
- This is needed to display the Linux console on a frame
- buffer device. To allow the kernel to print debug messages at an
- early boot stage, it shouldn't be built as a kernel module
- unless an initramfs will be used. And, if
- (Direct Rendering Manager) is enabled,
- it's likely (Enable
- legacy fbdev support for your modesetting driver) should be
- enabled as well.
+ These are needed to display the Linux console on a
+ GPU driven by a DRI (Direct Rendering Infrastructure) driver.
+ If (Direct Rendering Manager) is
+ enabled, you should enable these two options as well or you'll see
+ a blank screen once the DRI driver is loaded.
diff --git a/chapter10/kernel/Makefile b/chapter10/kernel/Makefile
index e04d2d6b1..03de71ed9 100644
--- a/chapter10/kernel/Makefile
+++ b/chapter10/kernel/Makefile
@@ -19,5 +19,8 @@ s-kernel-version:
fi
touch s-kernel-version
-%.xml: %.toml kernel-config.py kernel_version.py kernel.version
+%.xml.tmp: %.toml kernel-config.py kernel_version.py kernel.version
./kernel-config.py $(KERNEL_TREE) $< > $@
+
+%.xml: %.xml.tmp
+ mv $< $@
diff --git a/chapter10/kernel/kernel-config.py b/chapter10/kernel/kernel-config.py
index 24f825f72..349372945 100755
--- a/chapter10/kernel/kernel-config.py
+++ b/chapter10/kernel/kernel-config.py
@@ -185,6 +185,10 @@ def load_kconfig(file):
if_stack += [top]
elif line.startswith('endif'):
if_stack = if_stack[:-1]
+
+ if config_buf:
+ r += [parse_config(config_buf)]
+
return r
known_config = {}
@@ -247,6 +251,7 @@ sep = known_config.get('separate_toplevel_menu')
for i0, val, i1, title, arrow, key, menu, comment in r:
rem = max_line
+ is_choice = (val == '(X)')
if val:
val += (max_val_len[menu] - len(val)) * ' '
@@ -259,7 +264,9 @@ for i0, val, i1, title, arrow, key, menu, comment in r:
if len(title) > rem:
title = title[:rem - 3] + '...'
- b = title.lstrip('YyMmNnHh')
+ b = title
+ if not is_choice:
+ b = b.lstrip('YyMmNnHh.' + "".join(map(str, range(10))))
a = title[:len(title) - len(b)]
b0 = "" + escape(b[0]) + ""
line += escape(a) + b0 + escape(b[1:]) + escape(arrow)
diff --git a/chapter10/kernel/kernel.version b/chapter10/kernel/kernel.version
index d613169e8..e411592c2 100644
--- a/chapter10/kernel/kernel.version
+++ b/chapter10/kernel/kernel.version
@@ -1 +1 @@
-6.4.12
+6.6.3
diff --git a/chapter10/kernel/systemd.toml b/chapter10/kernel/systemd.toml
index 26ac61c46..dae4a4049 100644
--- a/chapter10/kernel/systemd.toml
+++ b/chapter10/kernel/systemd.toml
@@ -13,9 +13,7 @@ STACKPROTECTOR_STRONG='*'
UEVENT_HELPER=' '
DEVTMPFS='*'
DEVTMPFS_MOUNT='*'
-FB='*'
-FRAMEBUFFER_CONSOLE='*'
-
+DRM=' *M'
AUDIT=' '
NET='*'
INET='*'
@@ -28,3 +26,11 @@ TMPFS='*'
TMPFS_POSIX_ACL='*'
revision='systemd'
+
+[DRM_FBDEV_EMULATION]
+value = ' *'
+comment = 'If [DRM] is selected as * or M, this must be selected'
+
+[FRAMEBUFFER_CONSOLE]
+value = ' *'
+comment = 'If [DRM] is selected as * or M, this must be selected'
diff --git a/chapter10/kernel/systemd.xml b/chapter10/kernel/systemd.xml
index 5ddc7dd21..88d04a67a 100644
--- a/chapter10/kernel/systemd.xml
+++ b/chapter10/kernel/systemd.xml
@@ -41,10 +41,14 @@
Firmware Drivers --->
[*] Export DMI identification via sysfs to userspace [DMIID]
Graphics support --->
- Frame buffer Devices --->
- <*> Support for frame buffer devices ---> [FB]
+ < /*/M> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) --->
+ ... [DRM]
+ # If [DRM] is selected as * or M, this must be selected:
+ [ /*] Enable legacy fbdev support for your modesetting driver
+ ... [DRM_FBDEV_EMULATION]
Console display driver support --->
- [*] Framebuffer Console support [FRAMEBUFFER_CONSOLE]
+ # If [DRM] is selected as * or M, this must be selected:
+ [ /*] Framebuffer Console support [FRAMEBUFFER_CONSOLE]
File systems --->
[*] Inotify support for userspace [INOTIFY_USER]
diff --git a/chapter10/kernel/sysv.toml b/chapter10/kernel/sysv.toml
index 5c8b2df6e..3f8d2e93c 100644
--- a/chapter10/kernel/sysv.toml
+++ b/chapter10/kernel/sysv.toml
@@ -12,7 +12,14 @@ STACKPROTECTOR_STRONG='*'
UEVENT_HELPER=' '
DEVTMPFS='*'
DEVTMPFS_MOUNT='*'
-FB='*'
-FRAMEBUFFER_CONSOLE='*'
+DRM=' *M'
revision='sysv'
+
+[DRM_FBDEV_EMULATION]
+value = ' *'
+comment = 'If [DRM] is selected as * or M, this must be selected'
+
+[FRAMEBUFFER_CONSOLE]
+value = ' *'
+comment = 'If [DRM] is selected as * or M, this must be selected'
diff --git a/chapter10/kernel/sysv.xml b/chapter10/kernel/sysv.xml
index bb55fd73b..64da189b8 100644
--- a/chapter10/kernel/sysv.xml
+++ b/chapter10/kernel/sysv.xml
@@ -29,7 +29,11 @@
[*] Automount devtmpfs at /dev, after the kernel mounted the rootfs
... [DEVTMPFS_MOUNT]
Graphics support --->
- Frame buffer Devices --->
- <*> Support for frame buffer devices ---> [FB]
+ < /*/M> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) --->
+ ... [DRM]
+ # If [DRM] is selected as * or M, this must be selected:
+ [ /*] Enable legacy fbdev support for your modesetting driver
+ ... [DRM_FBDEV_EMULATION]
Console display driver support --->
- [*] Framebuffer Console support [FRAMEBUFFER_CONSOLE]
+ # If [DRM] is selected as * or M, this must be selected:
+ [ /*] Framebuffer Console support [FRAMEBUFFER_CONSOLE]