summaryrefslogtreecommitdiff
path: root/assets/2026-01-20-console-display-issues.txt
blob: f8dc71034361128b71d564372156c7828c1d14df (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
Console Display Issues - Potential Causes in archsetup
======================================================
Date: 2026-01-20
Source: archzfs testing on ratio - console not showing after install

SUMMARY
-------
After running install-archzfs and archsetup on ratio, the console stopped
displaying. The system boots but shows no console output. These are the
suspected culprits in archsetup.

SUSPECTED ISSUES
----------------

1. Console Font Configuration (boot_ux, lines 1574-1579)

   File: archsetup
   Lines: 1574-1579

   Code:
     if grep -q "^FONT=" /etc/vconsole.conf 2>/dev/null; then
         sed -i 's/^FONT=.*/FONT=ter-132n/' /etc/vconsole.conf
     else
         echo "FONT=ter-132n" >> /etc/vconsole.conf
     fi

   Problem: Sets console font to ter-132n (Terminus 32pt). If the font
   is missing, corrupted, or incompatible with the framebuffer, the
   console may fail to display anything.

   Fix: Verify terminus-font package is installed and font exists before
   setting. Add fallback handling.

2. mkinitcpio Hook Change (boot_ux, lines 1581-1583)

   File: archsetup
   Lines: 1581-1583

   Code:
     sed -i '/^HOOKS=/ s/\budev\b/systemd/' /etc/mkinitcpio.conf
     mkinitcpio -P

   Problem: Changes mkinitcpio from 'udev' to 'systemd' hook and
   regenerates ALL initramfs images. This is a significant change that
   affects early boot. If the systemd hook isn't properly configured
   or conflicts with other hooks, boot may fail or console may not
   initialize properly.

   Fix: Ensure all required systemd-related hooks are present. Consider
   whether this change is necessary or could be made optional.

3. GRUB Quiet Boot Settings (boot_ux, line 1624)

   File: archsetup
   Line: 1624

   Code:
     sed -i "s/.*GRUB_CMDLINE_LINUX_DEFAULT=.*/GRUB_CMDLINE_LINUX_DEFAULT=\"rw loglevel=2 rd.systemd.show_status=auto rd.udev.log_level=2 nvme.noacpi=1 mem_sleep_default=deep nowatchdog quiet splash\"/g" /etc/default/grub

   Problem: Adds 'quiet splash' and sets loglevel=2, which suppresses
   most boot messages. If something goes wrong during boot, you won't
   see any output. The 'splash' option may also interfere with console.

   Fix: Consider removing 'splash' or making quiet boot optional.
   For debugging, temporarily remove 'quiet splash' from GRUB.

4. Kernel Message Suppression (boot_ux, lines 1571-1572)

   File: archsetup
   Lines: 1571-1572

   Code:
     echo "kernel.printk = 3 3 3 3" >/etc/sysctl.d/20-quiet-printk.conf

   Problem: Suppresses kernel messages to console. Combined with other
   quiet settings, this could hide important boot information.

   Fix: For debugging, remove or adjust this setting.

5. Xorg VT Switching Disabled (xorg, lines 1102-1107)

   File: archsetup
   Lines: 1102-1107

   Code:
     cat << EOF > /etc/X11/xorg.conf.d/00-no-vt-or-zap.conf
         Section "ServerFlags"
             Option "DontVTSwitch" "True"
             Option "DontZap"      "True"
     EndSection
     EOF

   Problem: Disables VT switching when X is running. If X starts
   automatically, you cannot switch to a text console with Ctrl+Alt+F2.
   This is a security feature but makes debugging harder.

   Note: This only affects post-X boot, not early console display.

DEBUGGING STEPS
---------------
1. Boot with 'nomodeset' kernel parameter to rule out GPU/framebuffer issues
2. Remove 'quiet splash' from GRUB temporarily
3. Check if ter-132n font exists: ls /usr/share/kbd/consolefonts/ter-*
4. Review mkinitcpio.conf HOOKS line for conflicts
5. Check journalctl -b for boot errors

RECOMMENDED CHANGES
-------------------
- Make quiet boot optional or add a debug boot menu entry
- Verify font exists before setting in vconsole.conf
- Document the udev->systemd hook change and its implications
- Consider adding a recovery boot option that skips quiet settings