Message ID | 1473437418-27792-1-git-send-email-bos@je-eigen-domein.nl |
---|---|
State | Rejected, archived |
Headers | show |
Hello, On Fri, 9 Sep 2016 18:10:18 +0200, Floris Bos wrote: > The serial-getty unit depends on dev-%i.device which does not > seem to be created for /dev/console > Workaround this by letting normal getty unit handle things > if BR2_TARGET_GENERIC_GETTY_PORT is set to 'console' > > Signed-off-by: Floris Bos <bos@je-eigen-domein.nl> Yann, Maxime, could you please review this patch? Thanks! Thomas
Floris, All, On 2016-09-09 18:10 +0200, Floris Bos spake thusly: > The serial-getty unit depends on dev-%i.device which does not > seem to be created for /dev/console > Workaround this by letting normal getty unit handle things > if BR2_TARGET_GENERIC_GETTY_PORT is set to 'console' > > Signed-off-by: Floris Bos <bos@je-eigen-domein.nl> I haven't tested that, but I think this is OK just on principle. I just wonder if that behaves correctly when console is a serial line or anything else (e.g. a VT on HDMI, or through a debug channel...) Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Regards, Yann E. MORIN. > --- > package/systemd/systemd.mk | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/package/systemd/systemd.mk b/package/systemd/systemd.mk > index fb07819..975bfb6 100644 > --- a/package/systemd/systemd.mk > +++ b/package/systemd/systemd.mk > @@ -357,7 +357,7 @@ ifneq ($(call qstrip,$(BR2_TARGET_GENERIC_GETTY_PORT)),) > # systemd needs getty.service for VTs and serial-getty.service for serial ttys > # also patch the file to use the correct baud-rate, the default baudrate is 115200 so look for that > define SYSTEMD_INSTALL_SERVICE_TTY > - if echo $(BR2_TARGET_GENERIC_GETTY_PORT) | egrep -q 'tty[0-9]*$$'; \ > + if echo $(BR2_TARGET_GENERIC_GETTY_PORT) | egrep -q 'console|tty[0-9]*$$'; \ > then \ > SERVICE="getty"; \ > else \ > -- > 2.7.4 > > _______________________________________________ > buildroot mailing list > buildroot@busybox.net > http://lists.busybox.net/mailman/listinfo/buildroot
>>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes: > Floris, All, > On 2016-09-09 18:10 +0200, Floris Bos spake thusly: >> The serial-getty unit depends on dev-%i.device which does not >> seem to be created for /dev/console >> Workaround this by letting normal getty unit handle things >> if BR2_TARGET_GENERIC_GETTY_PORT is set to 'console' >> >> Signed-off-by: Floris Bos <bos@je-eigen-domein.nl> > I haven't tested that, but I think this is OK just on principle. > I just wonder if that behaves correctly when console is a serial line or > anything else (e.g. a VT on HDMI, or through a debug channel...) Yeah, me too. Does anybody know what the difference exactly is between getty/serial-getty, and when one should be used over the other?
Hello *, On Wed, 21 Sep 2016 09:01:37 +0200, Peter Korsgaard <peter@korsgaard.com> wrote: > >>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes: > > > Floris, All, > > On 2016-09-09 18:10 +0200, Floris Bos spake thusly: > >> The serial-getty unit depends on dev-%i.device which does not > >> seem to be created for /dev/console > >> Workaround this by letting normal getty unit handle things > >> if BR2_TARGET_GENERIC_GETTY_PORT is set to 'console' > >> > >> Signed-off-by: Floris Bos <bos@je-eigen-domein.nl> > > > I haven't tested that, but I think this is OK just on principle. > > > I just wonder if that behaves correctly when console is a serial line or > > anything else (e.g. a VT on HDMI, or through a debug channel...) > > Yeah, me too. Does anybody know what the difference exactly is between > getty/serial-getty, and when one should be used over the other? > Tested for the rpi3/glibc/systemd case and failed: I get a doubled (and unusable) ' Welcome to Buildroot/buildroot login:' on serial and no login on hdmi... Regards, Peter
On 09/21/2016 10:05 PM, Peter Seiderer wrote: > Hello *, > > On Wed, 21 Sep 2016 09:01:37 +0200, Peter Korsgaard <peter@korsgaard.com> wrote: > >>>>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes: >> > Floris, All, >> > On 2016-09-09 18:10 +0200, Floris Bos spake thusly: >> >> The serial-getty unit depends on dev-%i.device which does not >> >> seem to be created for /dev/console >> >> Workaround this by letting normal getty unit handle things >> >> if BR2_TARGET_GENERIC_GETTY_PORT is set to 'console' >> >> >> >> Signed-off-by: Floris Bos <bos@je-eigen-domein.nl> >> >> > I haven't tested that, but I think this is OK just on principle. >> >> > I just wonder if that behaves correctly when console is a serial line or >> > anything else (e.g. a VT on HDMI, or through a debug channel...) >> >> Yeah, me too. Does anybody know what the difference exactly is between >> getty/serial-getty, and when one should be used over the other? >> > Tested for the rpi3/glibc/systemd case and failed: I get a doubled > (and unusable) ' Welcome to Buildroot/buildroot login:' on serial and > no login on hdmi... Empty cmdline.txt will give hdmi. Recall you need "console=serial0,115200 console=tty1" with tty1 last in cmdline.txt if you want them simultaneous. So that tty1 becomes /dev/console and serial is handled by systemd's automatic getty generator. Perhaps there is an issue if you have the order swapped, and both systemd's automatic stuff and the manual symlink try to display a getty on serial. Not sure how to disable systemd's automatic behavior. Yours sincerely, Floris Bos
Hello Floris, On Wed, 21 Sep 2016 23:47:02 +0200, Floris Bos <bos@je-eigen-domein.nl> wrote: > On 09/21/2016 10:05 PM, Peter Seiderer wrote: > > Hello *, > > > > On Wed, 21 Sep 2016 09:01:37 +0200, Peter Korsgaard <peter@korsgaard.com> wrote: > > > >>>>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes: > >> > Floris, All, > >> > On 2016-09-09 18:10 +0200, Floris Bos spake thusly: > >> >> The serial-getty unit depends on dev-%i.device which does not > >> >> seem to be created for /dev/console > >> >> Workaround this by letting normal getty unit handle things > >> >> if BR2_TARGET_GENERIC_GETTY_PORT is set to 'console' > >> >> > >> >> Signed-off-by: Floris Bos <bos@je-eigen-domein.nl> > >> > >> > I haven't tested that, but I think this is OK just on principle. > >> > >> > I just wonder if that behaves correctly when console is a serial line or > >> > anything else (e.g. a VT on HDMI, or through a debug channel...) > >> > >> Yeah, me too. Does anybody know what the difference exactly is between > >> getty/serial-getty, and when one should be used over the other? > >> > > Tested for the rpi3/glibc/systemd case and failed: I get a doubled > > (and unusable) ' Welcome to Buildroot/buildroot login:' on serial and > > no login on hdmi... > > Empty cmdline.txt will give hdmi. > > Recall you need "console=serial0,115200 console=tty1" with tty1 last in > cmdline.txt if you want them simultaneous. Changed cmdline.txt to: root=/dev/mmcblk0p2 rootwait console=ttyAMA0,115200 console=tty1 Which gives me two (functional) logins on serial and hdmi. But I think changing package/rpi-firmware/cmdline.txt unconditional will break the other Init systems, see commit log from last patch touching cmdline.txt ([1): ...change BR2_TARGET_GENERIC_GETTY_PORT to "console", so it starts a getty on the last console= passed to the kernel, ttyAMA0... Regards, Peter [1] https://git.buildroot.net/buildroot/commit/?id=20878a1017e2bf7eb8c5f870dc6d2641493cb0f9 > So that tty1 becomes /dev/console and serial is handled by systemd's > automatic getty generator. > > Perhaps there is an issue if you have the order swapped, and both > systemd's automatic stuff and the manual symlink try to display a getty > on serial. > Not sure how to disable systemd's automatic behavior. > > > > Yours sincerely, > > Floris Bos > > _______________________________________________ > buildroot mailing list > buildroot@busybox.net > http://lists.busybox.net/mailman/listinfo/buildroot
On 09/22/2016 08:50 PM, Peter Seiderer wrote: > Hello Floris, > > On Wed, 21 Sep 2016 23:47:02 +0200, Floris Bos <bos@je-eigen-domein.nl> wrote: > >> On 09/21/2016 10:05 PM, Peter Seiderer wrote: >>> Hello *, >>> >>> On Wed, 21 Sep 2016 09:01:37 +0200, Peter Korsgaard <peter@korsgaard.com> wrote: >>> >>>>>>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes: >>>> > Floris, All, >>>> > On 2016-09-09 18:10 +0200, Floris Bos spake thusly: >>>> >> The serial-getty unit depends on dev-%i.device which does not >>>> >> seem to be created for /dev/console >>>> >> Workaround this by letting normal getty unit handle things >>>> >> if BR2_TARGET_GENERIC_GETTY_PORT is set to 'console' >>>> >> >>>> >> Signed-off-by: Floris Bos <bos@je-eigen-domein.nl> >>>> >>>> > I haven't tested that, but I think this is OK just on principle. >>>> >>>> > I just wonder if that behaves correctly when console is a serial line or >>>> > anything else (e.g. a VT on HDMI, or through a debug channel...) >>>> >>>> Yeah, me too. Does anybody know what the difference exactly is between >>>> getty/serial-getty, and when one should be used over the other? >>>> >>> Tested for the rpi3/glibc/systemd case and failed: I get a doubled >>> (and unusable) ' Welcome to Buildroot/buildroot login:' on serial and >>> no login on hdmi... >> Empty cmdline.txt will give hdmi. >> >> Recall you need "console=serial0,115200 console=tty1" with tty1 last in >> cmdline.txt if you want them simultaneous. > Changed cmdline.txt to: > > root=/dev/mmcblk0p2 rootwait console=ttyAMA0,115200 console=tty1 > > Which gives me two (functional) logins on serial and hdmi. > > But I think changing package/rpi-firmware/cmdline.txt unconditional will > break the other Init systems, see commit log from last patch touching > cmdline.txt ([1): > > ...change BR2_TARGET_GENERIC_GETTY_PORT to "console", so it starts a > getty on the last console= passed to the kernel, ttyAMA0... Will withdraw my patch then, and wait for someone else to come up with a better solution. I think the one-size-fits all cmdline.txt that listens to both on HDMI and serial console by default makes things too complicated anyway. Yours sincerely, Floris Bos
Hello Floris, On Thu, 22 Sep 2016 21:25:59 +0200, Floris Bos <bos@je-eigen-domein.nl> wrote: > On 09/22/2016 08:50 PM, Peter Seiderer wrote: > > Hello Floris, > > > > On Wed, 21 Sep 2016 23:47:02 +0200, Floris Bos <bos@je-eigen-domein.nl> wrote: > > > >> On 09/21/2016 10:05 PM, Peter Seiderer wrote: > >>> Hello *, > >>> > >>> On Wed, 21 Sep 2016 09:01:37 +0200, Peter Korsgaard <peter@korsgaard.com> wrote: > >>> > >>>>>>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes: > >>>> > Floris, All, > >>>> > On 2016-09-09 18:10 +0200, Floris Bos spake thusly: > >>>> >> The serial-getty unit depends on dev-%i.device which does not > >>>> >> seem to be created for /dev/console > >>>> >> Workaround this by letting normal getty unit handle things > >>>> >> if BR2_TARGET_GENERIC_GETTY_PORT is set to 'console' > >>>> >> > >>>> >> Signed-off-by: Floris Bos <bos@je-eigen-domein.nl> > >>>> > >>>> > I haven't tested that, but I think this is OK just on principle. > >>>> > >>>> > I just wonder if that behaves correctly when console is a serial line or > >>>> > anything else (e.g. a VT on HDMI, or through a debug channel...) > >>>> > >>>> Yeah, me too. Does anybody know what the difference exactly is between > >>>> getty/serial-getty, and when one should be used over the other? > >>>> > >>> Tested for the rpi3/glibc/systemd case and failed: I get a doubled > >>> (and unusable) ' Welcome to Buildroot/buildroot login:' on serial and > >>> no login on hdmi... > >> Empty cmdline.txt will give hdmi. > >> > >> Recall you need "console=serial0,115200 console=tty1" with tty1 last in > >> cmdline.txt if you want them simultaneous. > > Changed cmdline.txt to: > > > > root=/dev/mmcblk0p2 rootwait console=ttyAMA0,115200 console=tty1 > > > > Which gives me two (functional) logins on serial and hdmi. > > > > But I think changing package/rpi-firmware/cmdline.txt unconditional will > > break the other Init systems, see commit log from last patch touching > > cmdline.txt ([1): > > > > ...change BR2_TARGET_GENERIC_GETTY_PORT to "console", so it starts a > > getty on the last console= passed to the kernel, ttyAMA0... > > Will withdraw my patch then, and wait for someone else to come up with a > better solution. > Ups, sorry, did not want to discourage you... > I think the one-size-fits all cmdline.txt that listens to both on HDMI > and serial console by default makes things too complicated anyway. > Maybe its feasible to list all wanted login ports in BR2_TARGET_GENERIC_GETTY_PORT and only add the specified named systemd service links (an no generator ones)? Regards, Peter > > Yours sincerely, > > Floris Bos > > _______________________________________________ > buildroot mailing list > buildroot@busybox.net > http://lists.busybox.net/mailman/listinfo/buildroot
diff --git a/package/systemd/systemd.mk b/package/systemd/systemd.mk index fb07819..975bfb6 100644 --- a/package/systemd/systemd.mk +++ b/package/systemd/systemd.mk @@ -357,7 +357,7 @@ ifneq ($(call qstrip,$(BR2_TARGET_GENERIC_GETTY_PORT)),) # systemd needs getty.service for VTs and serial-getty.service for serial ttys # also patch the file to use the correct baud-rate, the default baudrate is 115200 so look for that define SYSTEMD_INSTALL_SERVICE_TTY - if echo $(BR2_TARGET_GENERIC_GETTY_PORT) | egrep -q 'tty[0-9]*$$'; \ + if echo $(BR2_TARGET_GENERIC_GETTY_PORT) | egrep -q 'console|tty[0-9]*$$'; \ then \ SERVICE="getty"; \ else \
The serial-getty unit depends on dev-%i.device which does not seem to be created for /dev/console Workaround this by letting normal getty unit handle things if BR2_TARGET_GENERIC_GETTY_PORT is set to 'console' Signed-off-by: Floris Bos <bos@je-eigen-domein.nl> --- package/systemd/systemd.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)