iso: launch installer via greetd initial_session (proper seat for cage)

seatd alone didn't fix it (getty-autologin gives cage no logind seat; 5x respawn
then systemd start-limit -> black). Switch to greetd's initial_session, which
creates a real logind session WITH A SEAT and auto-runs cage+calamares (no login
prompt). Calamares' striplive restores the tanin-greet greetd config on the target.
Drop the getty-autologin + /root/.zprofile hack.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-20 02:43:09 +02:00
parent a1bd74ccd2
commit ca94a1828a
8 changed files with 35 additions and 20 deletions
@@ -1,12 +1,13 @@
---
dontChroot: false
timeout: 30
# Remove the live-only installer bits from the installed target so it boots the
# desktop (greetd) instead of auto-launching Calamares.
# Turn the cloned live image into a normal installed system:
# - drop the live installer launcher
# - restore the greetd config to the tanin-greet greeter (the live used an
# initial_session that auto-ran Calamares)
# - boot to the desktop; seatd is live-only (greetd uses logind on the target)
script:
- "rm -f /etc/systemd/system/getty@tty1.service.d/autologin.conf"
- "rmdir --ignore-fail-on-non-empty /etc/systemd/system/getty@tty1.service.d 2>/dev/null || true"
- "rm -f /root/.zprofile"
- "rm -f /usr/local/bin/tanin-installer"
- "install -Dm644 /usr/share/tanin/greetd/config.toml /etc/greetd/config.toml"
- "systemctl set-default graphical.target"
- "systemctl disable seatd.service"
@@ -1,3 +0,0 @@
[Service]
ExecStart=
ExecStart=-/usr/bin/agetty --autologin root --noclear %I 38400 linux