Skip to content

Conversation

@jcgl17
Copy link

@jcgl17 jcgl17 commented Aug 30, 2025

This allows a user to be created by systemd-firstboot.service, after which the greeter can be launched.

(I think it's a fair presumption that if the gnome or kde profiles are enabled, users would prefer to be presented with a greeter after configuring a user with systemd-firstboot.service.)

This allows a user to be created by systemd-firstboot.service, after
which the greeter can be launched.
@poettering
Copy link
Member

this makes sense to me.

@DaanDeMeyer ?

@bluca
Copy link
Member

bluca commented Sep 27, 2025

This actually doesn't seem to work? The greeter is started and there's no firstboot questiosn on the terminal beforehand

@jcgl17
Copy link
Author

jcgl17 commented Sep 27, 2025

My PR was worded poorly--this doesn't change anything about systemd-firstboot. It just enables the greeter, making the greeter ordered after first-boot-complete.target.

With the config I've tested (using vm --console gui [--credential ""]) on Fedora 42 with KDE/sddm, this works just fine. What distro/other relevant config parameters are you running? I can try to reproduce on my end.

If you're seeing the greeter without first seeing firstboot prompts, I would think that either systemd-firstboot.service isn't running at all, or that your greeter isn't receiving the After=first-boot-complete.target config for some reason (not aliased to display-manager.service, perhaps), right?

@bluca
Copy link
Member

bluca commented Sep 27, 2025

gdm with debian testing, and the alias is there

@jcgl17
Copy link
Author

jcgl17 commented Sep 27, 2025

@bluca, I'm not able to reproduce your findings with the below mkosi config. Is there anything from your own config that I'm missing?

Calling mkosi vm --console gui (both with and without --credential "" to control creation of the particleos user) works as expected, showing log lines for systemd-firstboot.service and first-boot-complete.target prior to those for gdm.service:

[  OK  ] Finished systemd-homed-firstboot.service - First Boot Home Area Wizard.
[  OK  ] Reached target first-boot-complete.target - First Boot Complete.
         Starting systemd-machine-id-commit.service - Save Transient machine-id to Disk...
         Starting systemd-user-sessions.service - Permit User Sessions...
[  OK  ] Finished systemd-user-sessions.service - Permit User Sessions.
         Starting gdm.service - GNOME Display Manager...
         Starting plymouth-quit-wait.service - Hold until boot process finishes up...
[  OK  ] Finished systemd-machine-id-commit.service - Save Transient machine-id to Disk.
[  OK  ] Started gdm.service - GNOME Display Manager.

first-boot-complete.target shows up in of systemctl show gdm.service -p After --no-pager:

After=systemd-journald.socket plymouth-start.service basic.target first-boot-complete.target systemd-user-sessions.service [email protected] plymouth-quit.service dbus.socket system.slice rc-local.service sysinit.target

(I did need to rebase against main to get 83170c1 that you made last month.)

mkosi.local.conf
[Distribution]
Distribution=debian
Release=testing

[Build]
ToolsTreeProfiles=misc,runtime,gui,package-manager

[Config]
Profiles=obs,desktop,gnome

[Validation]
SecureBootKey=../particleos/keys/sbctl/var/keys/db/db.key
SecureBootCertificate=../particleos/keys/sbctl/var/keys/db/db.pem
SignExpectedPcrKey=../particleos/keys/sbctl/var/keys/db/db.key
SignExpectedPcrCertificate=../particleos/keys/sbctl/var/keys/db/db.pem
VerityKey=../particleos/keys/sbctl/var/keys/db/db.key
VerityCertificate=../particleos/keys/sbctl/var/keys/db/db.pem

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants