summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.stignore2
-rw-r--r--assets/2026-01-19-remove-zfs-scripts-request.md29
-rw-r--r--assets/2026-01-20-console-display-issues.txt112
3 files changed, 143 insertions, 0 deletions
diff --git a/.stignore b/.stignore
new file mode 100644
index 0000000..6dcf143
--- /dev/null
+++ b/.stignore
@@ -0,0 +1,2 @@
+.git
+vm-images/
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