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
|