[pve-devel] [PATCH container] setup: nixos: set cmode to console by default
Christoph Heiss
c.heiss at proxmox.com
Wed Feb 14 14:04:45 CET 2024
Thanks for the review!
On Fri, Jan 26, 2024 at 03:47:34PM +0100, Fiona Ebner wrote:
> Am 21.11.23 um 10:40 schrieb Christoph Heiss:
[..]
> > diff --git a/src/PVE/LXC/Setup/NixOS.pm b/src/PVE/LXC/Setup/NixOS.pm
> > index c702f3d..7f23111 100644
> > --- a/src/PVE/LXC/Setup/NixOS.pm
> > +++ b/src/PVE/LXC/Setup/NixOS.pm
> > @@ -17,6 +17,11 @@ sub new {
> >
> > $conf->{ostype} = "nixos";
> >
> > + # Set `cmode` to `console` for NixOS containers, as getty is only configured for /dev/console by
> > + # default, but not any TTY ports. This way, users still get a login/shell instead of just a
> > + # blank screen when openinng the console in the web UI.
> > + $conf->{cmode} = 'console';
> > +
> > return bless $self, $class;
> > }
> >
>
> Won't this override any pre-existing setting (from user or backup)?
> Even if checking for that, it could still be considered a breaking
> change, i.e. other people might have configured their NixOS container
> differently, so maybe best to wait for the next major release?
Yep, just tried that out - so that's definitely a no-go.
>
> For now, we could log a warning if no explicit 'cmode' was specified for
> NixOS.
>
> I don't see any other implementation of new() overriding any defaults.
> Should we even start doing that?
Well, looking at the code again, there is the ->template_fixup() sub,
which gets called on restores after ->new(). This does seem to override
some things (e.g. ->setup_securetty()) for most of the distros.
So I guess this would be correct place after all for this, if we
override something.
Anyway, so just a
warn "..." if `$conf->{cmode} ne 'console'`;
if ->new() would be acceptable?
More information about the pve-devel
mailing list