Hi Ray On Wed, Nov 5, 2014 at 3:48 PM, Ray Strode <halfl...@gmail.com> wrote: > From: Ray Strode <rstr...@redhat.com> > > The initialization performed by systemd-vconsole-setup is reset > when changing console drivers (say from vgacon to fbcon), so we > need to run it in that case. > > See > http://lists.freedesktop.org/archives/systemd-devel/2014-October/023919.html > http://lists.freedesktop.org/archives/systemd-devel/2014-October/024423.html > http://lists.freedesktop.org/archives/systemd-devel/2014-November/024881.html > > This commit adds a udev rule to 99-systemd.rules to make > systemd-vconsole-setup get run when the fbcon device becomes available. > --- > rules/99-systemd.rules.in | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/rules/99-systemd.rules.in b/rules/99-systemd.rules.in > index e30d9a8..4763b65 100644 > --- a/rules/99-systemd.rules.in > +++ b/rules/99-systemd.rules.in > @@ -1,39 +1,43 @@ > # This file is part of systemd. > # > # systemd is free software; you can redistribute it and/or modify it > # under the terms of the GNU Lesser General Public License as published by > # the Free Software Foundation; either version 2.1 of the License, or > # (at your option) any later version. > > ACTION=="remove", GOTO="systemd_end" > > +# Kernel resets vconsole state when changing console drivers so run > +# systemd-vconsole-setup when fbcon loads > +SUBSYSTEM=="graphics", KERNEL=="fbcon", > RUN+="/usr/lib/systemd/systemd-vconsole-setup" > +
I had that change locally, but didn't push it because vconsole is optional. Thus, this rule must be optional, too. I'm now digging into autoconf+m4 to see how to do this... but I'm getting nowhere so far... So if you have no idea how to make that rule be generated only if ENABLE_VCONSOLE is set by configure, then we probably should take my patch below. Thanks David diff --git a/Makefile.am b/Makefile.am index 3686103..f614b86 100644 --- a/Makefile.am +++ b/Makefile.am @@ -4439,6 +4439,9 @@ rootlibexec_PROGRAMS += \ nodist_systemunit_DATA += \ units/systemd-vconsole-setup.service +dist_udevrules_DATA += \ + src/vconsole/90-vconsole.rules + SYSINIT_TARGET_WANTS += \ systemd-vconsole-setup.service endif diff --git a/src/vconsole/90-vconsole.rules b/src/vconsole/90-vconsole.rules new file mode 100644 index 0000000..8334979 --- /dev/null +++ b/src/vconsole/90-vconsole.rules @@ -0,0 +1,10 @@ +# This file is part of systemd. +# +# systemd is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2.1 of the License, or +# (at your option) any later version. + +# re-run vconsole if the VT driver changed + +ACTION=="add", SUBSYSTEM=="graphics", KERNEL=="fbcon", RUN+="/usr/lib/systemd/systemd-vconsole-setup" _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel