diff options
Diffstat (limited to 'assets')
| -rw-r--r-- | assets/2026-01-19-remove-zfs-scripts-request.md | 29 | ||||
| -rw-r--r-- | assets/2026-01-20-console-display-issues.txt | 112 |
2 files changed, 141 insertions, 0 deletions
diff --git a/assets/2026-01-19-remove-zfs-scripts-request.md b/assets/2026-01-19-remove-zfs-scripts-request.md new file mode 100644 index 0000000..f67aa47 --- /dev/null +++ b/assets/2026-01-19-remove-zfs-scripts-request.md @@ -0,0 +1,29 @@ +# Task: Remove zfssnapshot and zfsrollback from archsetup + +## Summary +Remove the `zfssnapshot` and `zfsrollback` scripts from archsetup's dotfiles. These scripts are now provided by the archzfs ISO and installed to `/usr/local/bin/` during `install-archzfs`. + +## Files to Remove +- `dotfiles/system/.local/bin/zfssnapshot` +- `dotfiles/system/.local/bin/zfsrollback` + +## Reason for Change +These scripts need to be available immediately after a fresh install from the archzfs ISO, before archsetup runs. Key use cases: + +1. **Rescue scenarios**: Rolling back from live USB when the installed system won't boot +2. **Genesis rollback**: If archsetup fails mid-run, user can rollback to genesis and retry +3. **Script availability**: The scripts themselves must survive a genesis rollback (they're now part of genesis snapshot) + +By including them in the ISO and `install-archzfs`, they're guaranteed to be present from first boot, with fzf also installed as a dependency. + +## Changes Made in archzfs +- Added `custom/zfssnapshot` and `custom/zfsrollback` +- `build.sh` copies them to `/usr/local/bin/` on the ISO +- `install-archzfs` installs `fzf` to target system (required by zfsrollback) +- fzf was already in ISO package list + +## Note: Keep fzf in archsetup +Archsetup should continue to install `fzf` in its package list. Archsetup can run on vanilla Arch installs with ext4 or btrfs (not just ZFS from archzfs ISO), where `install-archzfs` would not have run and fzf wouldn't be present. + +## Date +2026-01-19 diff --git a/assets/2026-01-20-console-display-issues.txt b/assets/2026-01-20-console-display-issues.txt new file mode 100644 index 0000000..f8dc710 --- /dev/null +++ b/assets/2026-01-20-console-display-issues.txt @@ -0,0 +1,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 |
