* [pve-devel] [PATCH container] fix #6392: setup: fedora: skip --prompt-new-user on firstboot
@ 2025-12-19 15:19 Maximiliano Sandoval
2026-01-15 14:19 ` Fabian Grünbichler
0 siblings, 1 reply; 2+ messages in thread
From: Maximiliano Sandoval @ 2025-12-19 15:19 UTC (permalink / raw)
To: pve-devel
As per 'homectl --help':
--prompt-new-user: Query user interactively for user to create
which will wait on stdin to get the credentials for the new user, but at
this point there is no way for the user to enter such input and the
container will not start.
One could alternatively remove the unit file from the
'systemd-firstboot(1)' step, but this incantation has valid use-cases
like recognizing a existing homes on firstboot.
Signed-off-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
---
src/PVE/LXC/Setup/Fedora.pm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/src/PVE/LXC/Setup/Fedora.pm b/src/PVE/LXC/Setup/Fedora.pm
index cf383e3..891884b 100644
--- a/src/PVE/LXC/Setup/Fedora.pm
+++ b/src/PVE/LXC/Setup/Fedora.pm
@@ -43,6 +43,30 @@ sub setup_init {
'systemd-networkd.service' => 1,
});
}
+
+ if ($version >= 42) {
+ $self->skip_homectl_firstboot_prompt();
+ }
+}
+
+sub skip_homectl_firstboot_prompt {
+ my ($self) = @_;
+
+ # Replaces 'homectl firstboot --prompt-new-user' with 'homectl firstboot'.
+ # When the --prompt-new-user flag is enabled the process will wait for user
+ # input resulting in the setup process not ever finishing.
+ my $unit_path = '/usr/lib/systemd/system/systemd-homed-firstboot.service';
+ if ($self->ct_file_exists($unit_path)) {
+ my $unit = <<__EOD__;
+# Generated by Proxmox VE
+[Service]
+ExecStart=
+ExecStart=homectl firstboot
+__EOD__
+
+ $self->ct_make_path("$unit_path.d");
+ $self->ct_file_set_contents("$unit_path.d/50-skip-prompt.conf", $unit);
+ }
}
sub setup_network {
--
2.47.3
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [pve-devel] [PATCH container] fix #6392: setup: fedora: skip --prompt-new-user on firstboot
2025-12-19 15:19 [pve-devel] [PATCH container] fix #6392: setup: fedora: skip --prompt-new-user on firstboot Maximiliano Sandoval
@ 2026-01-15 14:19 ` Fabian Grünbichler
0 siblings, 0 replies; 2+ messages in thread
From: Fabian Grünbichler @ 2026-01-15 14:19 UTC (permalink / raw)
To: Proxmox VE development discussion
On December 19, 2025 4:19 pm, Maximiliano Sandoval wrote:
> As per 'homectl --help':
>
> --prompt-new-user: Query user interactively for user to create
>
> which will wait on stdin to get the credentials for the new user, but at
> this point there is no way for the user to enter such input and the
> container will not start.
>
> One could alternatively remove the unit file from the
> 'systemd-firstboot(1)' step, but this incantation has valid use-cases
> like recognizing a existing homes on firstboot.
1. this makes no sense in the commit message ;)
2. I don't think homed integration makes a lot of sense for a system
container, and would rather skip it altogether
> Signed-off-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
> ---
> src/PVE/LXC/Setup/Fedora.pm | 24 ++++++++++++++++++++++++
> 1 file changed, 24 insertions(+)
>
> diff --git a/src/PVE/LXC/Setup/Fedora.pm b/src/PVE/LXC/Setup/Fedora.pm
> index cf383e3..891884b 100644
> --- a/src/PVE/LXC/Setup/Fedora.pm
> +++ b/src/PVE/LXC/Setup/Fedora.pm
> @@ -43,6 +43,30 @@ sub setup_init {
> 'systemd-networkd.service' => 1,
> });
> }
> +
> + if ($version >= 42) {
> + $self->skip_homectl_firstboot_prompt();
> + }
> +}
> +
> +sub skip_homectl_firstboot_prompt {
> + my ($self) = @_;
> +
> + # Replaces 'homectl firstboot --prompt-new-user' with 'homectl firstboot'.
> + # When the --prompt-new-user flag is enabled the process will wait for user
> + # input resulting in the setup process not ever finishing.
> + my $unit_path = '/usr/lib/systemd/system/systemd-homed-firstboot.service';
> + if ($self->ct_file_exists($unit_path)) {
> + my $unit = <<__EOD__;
> +# Generated by Proxmox VE
> +[Service]
> +ExecStart=
> +ExecStart=homectl firstboot
> +__EOD__
> +
> + $self->ct_make_path("$unit_path.d");
> + $self->ct_file_set_contents("$unit_path.d/50-skip-prompt.conf", $unit);
> + }
> }
>
> sub setup_network {
> --
> 2.47.3
>
>
>
> _______________________________________________
> pve-devel mailing list
> pve-devel@lists.proxmox.com
> https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
>
>
>
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-01-15 14:20 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-12-19 15:19 [pve-devel] [PATCH container] fix #6392: setup: fedora: skip --prompt-new-user on firstboot Maximiliano Sandoval
2026-01-15 14:19 ` Fabian Grünbichler
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.