aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXi Ruoyao <xry111@xry111.site>2023-12-06 17:34:40 +0800
committerXi Ruoyao <xry111@xry111.site>2023-12-06 17:34:40 +0800
commitdb880b96296b8b0cc6b025d3092ce25e68f2660f (patch)
tree79dab2dfaa6b335e92a19275d93bbd46e16c5376
parentecce62ce9836b0f166b99aee1e11605eb872d930 (diff)
parent7cce808a46c5a1df0de2c52827b89b63834436fe (diff)
Merge remote-tracking branch 'origin/trunk' into xry111/loongarch
-rw-r--r--appendices/dependencies.xml4
-rw-r--r--chapter10/kernel.xml20
-rw-r--r--chapter10/kernel/Makefile5
-rwxr-xr-xchapter10/kernel/kernel-config.py9
-rw-r--r--chapter10/kernel/kernel.version2
-rw-r--r--chapter10/kernel/systemd.toml14
-rw-r--r--chapter10/kernel/systemd.xml12
-rw-r--r--chapter10/kernel/sysv.toml11
-rw-r--r--chapter10/kernel/sysv.xml10
9 files changed, 59 insertions, 28 deletions
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 @@
<segtitle>&external;</segtitle>
<seglistitem>
<seg>
+ <ulink url="&blfs-book;general/asciidoctor.html">Asciidoctor</ulink>,
<ulink
url="https://people.redhat.com/sgrubb/libcap-ng/">Libcap-NG</ulink>,
<ulink url="&github;/openSUSE/libeconf">libeconf</ulink>,
@@ -3200,7 +3201,8 @@
<ulink
url="&blfs-book;postlfs/linux-pam.html">Linux-PAM</ulink>,
<ulink
- url="&blfs-book;postlfs/smartmontools.html">smartmontools</ulink>, and
+ url="&blfs-book;postlfs/smartmontools.html">smartmontools</ulink>,
+ <ulink url="https://po4a.org/index.php.en">po4a</ulink>, and
<ulink url="&blfs-book;general/slang.html">slang</ulink>
</seg>
</seglistitem>
diff --git a/chapter10/kernel.xml b/chapter10/kernel.xml
index d326bd849..809d0931a 100644
--- a/chapter10/kernel.xml
+++ b/chapter10/kernel.xml
@@ -265,16 +265,18 @@
</varlistentry>
<varlistentry>
- <term><parameter>Framebuffer Console support</parameter></term>
+ <term>
+ <parameter>
+ Enable legacy fbdev support for your modesetting driver
+ </parameter> and
+ <parameter>Framebuffer Console support</parameter>
+ </term>
<listitem>
- <para>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
- <option>CONFIG_DRM</option> (Direct Rendering Manager) is enabled,
- it's likely <option>CONFIG_DRM_FBDEV_EMULATION</option> (Enable
- legacy fbdev support for your modesetting driver) should be
- enabled as well.</para>
+ <para>These are needed to display the Linux console on a
+ GPU driven by a DRI (Direct Rendering Infrastructure) driver.
+ If <option>CONFIG_DRM</option> (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.</para>
</listitem>
</varlistentry>
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 ffea2c1bc..5decb4cf3 100755
--- a/chapter10/kernel/kernel-config.py
+++ b/chapter10/kernel/kernel-config.py
@@ -188,6 +188,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 = {}
@@ -250,6 +254,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)) * ' '
@@ -262,7 +267,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 = "<emphasis role='blue'>" + escape(b[0]) + "</emphasis>"
line += escape(a) + b0 + escape(b[1:]) + escape(arrow)
diff --git a/chapter10/kernel/kernel.version b/chapter10/kernel/kernel.version
index a22892044..e411592c2 100644
--- a/chapter10/kernel/kernel.version
+++ b/chapter10/kernel/kernel.version
@@ -1 +1 @@
-6.4.9
+6.6.3
diff --git a/chapter10/kernel/systemd.toml b/chapter10/kernel/systemd.toml
index 096b1618e..dae4a4049 100644
--- a/chapter10/kernel/systemd.toml
+++ b/chapter10/kernel/systemd.toml
@@ -13,11 +13,7 @@ STACKPROTECTOR_STRONG='*'
UEVENT_HELPER=' '
DEVTMPFS='*'
DEVTMPFS_MOUNT='*'
-FB='*'
-FRAMEBUFFER_CONSOLE='*'
-
-EFI_ZBOOT='*'
-
+DRM=' *M'
AUDIT=' '
NET='*'
INET='*'
@@ -30,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 9357a9b8c..868ca82c8 100644
--- a/chapter10/kernel/systemd.xml
+++ b/chapter10/kernel/systemd.xml
@@ -40,13 +40,15 @@
... [FW_LOADER_USER_HELPER]
<emphasis role='blue'>F</emphasis>irmware Drivers ---&gt;
[*] <emphasis role='blue'>E</emphasis>xport DMI identification via sysfs to userspace [DMIID]
- <emphasis role='blue'>E</emphasis>FI (Extensible Firmware Interface) Support ---&gt;
- [*] <emphasis role='blue'>E</emphasis>nable the generic EFI decompressor [EFI_ZBOOT]
<emphasis role='blue'>G</emphasis>raphics support ---&gt;
- <emphasis role='blue'>F</emphasis>rame buffer Devices ---&gt;
- &lt;*&gt; <emphasis role='blue'>S</emphasis>upport for frame buffer devices ---&gt; [FB]
+ &lt; /*/M&gt; <emphasis role='blue'>D</emphasis>irect Rendering Manager (XFree86 4.1.0 and higher DRI support) ---&gt;
+ ... [DRM]
+ # If [DRM] is selected as * or M, this must be selected:
+ [ /*] <emphasis role='blue'>E</emphasis>nable legacy fbdev support for your modesetting driver
+ ... [DRM_FBDEV_EMULATION]
<emphasis role='blue'>C</emphasis>onsole display driver support ---&gt;
- [*] <emphasis role='blue'>F</emphasis>ramebuffer Console support [FRAMEBUFFER_CONSOLE]
+ # If [DRM] is selected as * or M, this must be selected:
+ [ /*] <emphasis role='blue'>F</emphasis>ramebuffer Console support [FRAMEBUFFER_CONSOLE]
<emphasis role='blue'>F</emphasis>ile systems ---&gt;
[*] <emphasis role='blue'>I</emphasis>notify support for userspace [INOTIFY_USER]
diff --git a/chapter10/kernel/sysv.toml b/chapter10/kernel/sysv.toml
index 64a5333fd..f431327f0 100644
--- a/chapter10/kernel/sysv.toml
+++ b/chapter10/kernel/sysv.toml
@@ -12,9 +12,16 @@ STACKPROTECTOR_STRONG='*'
UEVENT_HELPER=' '
DEVTMPFS='*'
DEVTMPFS_MOUNT='*'
-FB='*'
-FRAMEBUFFER_CONSOLE='*'
+DRM=' *M'
EFI_ZBOOT='*'
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 bac8c6773..4e5ccabb3 100644
--- a/chapter10/kernel/sysv.xml
+++ b/chapter10/kernel/sysv.xml
@@ -32,7 +32,11 @@
<emphasis role='blue'>E</emphasis>FI (Extensible Firmware Interface) Support ---&gt;
[*] <emphasis role='blue'>E</emphasis>nable the generic EFI decompressor [EFI_ZBOOT]
<emphasis role='blue'>G</emphasis>raphics support ---&gt;
- <emphasis role='blue'>F</emphasis>rame buffer Devices ---&gt;
- &lt;*&gt; <emphasis role='blue'>S</emphasis>upport for frame buffer devices ---&gt; [FB]
+ &lt; /*/M&gt; <emphasis role='blue'>D</emphasis>irect Rendering Manager (XFree86 4.1.0 and higher DRI support) ---&gt;
+ ... [DRM]
+ # If [DRM] is selected as * or M, this must be selected:
+ [ /*] <emphasis role='blue'>E</emphasis>nable legacy fbdev support for your modesetting driver
+ ... [DRM_FBDEV_EMULATION]
<emphasis role='blue'>C</emphasis>onsole display driver support ---&gt;
- [*] <emphasis role='blue'>F</emphasis>ramebuffer Console support [FRAMEBUFFER_CONSOLE]</screen>
+ # If [DRM] is selected as * or M, this must be selected:
+ [ /*] <emphasis role='blue'>F</emphasis>ramebuffer Console support [FRAMEBUFFER_CONSOLE]</screen>