diff options
author | Xi Ruoyao <xry111@xry111.site> | 2023-12-06 17:29:45 +0800 |
---|---|---|
committer | Xi Ruoyao <xry111@xry111.site> | 2023-12-06 17:29:45 +0800 |
commit | 00de2694ce852e9b042eaa3225e0c079978e048f (patch) | |
tree | 5aff230d8826aa7d5b5e0ff258b35da56df0f858 /chapter10 | |
parent | 73d91ac621a4e59f71ff6664c68c935317f9ce42 (diff) | |
parent | 7cce808a46c5a1df0de2c52827b89b63834436fe (diff) |
Merge remote-tracking branch 'origin/trunk' into xry111/arm64
Diffstat (limited to 'chapter10')
-rw-r--r-- | chapter10/kernel.xml | 20 | ||||
-rw-r--r-- | chapter10/kernel/Makefile | 5 | ||||
-rwxr-xr-x | chapter10/kernel/kernel-config.py | 9 | ||||
-rw-r--r-- | chapter10/kernel/kernel.version | 2 | ||||
-rw-r--r-- | chapter10/kernel/systemd.toml | 12 | ||||
-rw-r--r-- | chapter10/kernel/systemd.xml | 10 | ||||
-rw-r--r-- | chapter10/kernel/sysv.toml | 11 | ||||
-rw-r--r-- | chapter10/kernel/sysv.xml | 10 |
8 files changed, 56 insertions, 23 deletions
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 @@ </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 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 = "<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 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 @@ <emphasis role='blue'>F</emphasis>irmware Drivers ---> [*] <emphasis role='blue'>E</emphasis>xport DMI identification via sysfs to userspace [DMIID] <emphasis role='blue'>G</emphasis>raphics support ---> - <emphasis role='blue'>F</emphasis>rame buffer Devices ---> - <*> <emphasis role='blue'>S</emphasis>upport for frame buffer devices ---> [FB] + < /*/M> <emphasis role='blue'>D</emphasis>irect Rendering Manager (XFree86 4.1.0 and higher DRI support) ---> + ... [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 ---> - [*] <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 ---> [*] <emphasis role='blue'>I</emphasis>notify 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 @@ [*] <emphasis role='blue'>A</emphasis>utomount devtmpfs at /dev, after the kernel mounted the rootfs ... [DEVTMPFS_MOUNT] <emphasis role='blue'>G</emphasis>raphics support ---> - <emphasis role='blue'>F</emphasis>rame buffer Devices ---> - <*> <emphasis role='blue'>S</emphasis>upport for frame buffer devices ---> [FB] + < /*/M> <emphasis role='blue'>D</emphasis>irect Rendering Manager (XFree86 4.1.0 and higher DRI support) ---> + ... [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 ---> - [*] <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> |