summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/systemd/systemd-serialgetty
Commit message (Collapse)AuthorAgeFilesLines
* systemd-serialgetty: do not use BindsToChen Qi2020-07-021-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This unit was changed from 'BindsTo' in the following commit. """ commit f0f359ec9210759f6b4dbfb35d3fba8af208c43a Author: Jason Wessel <jason.wessel@windriver.com> Date: Thu Aug 29 07:00:31 2019 -0700 serial-getty@.service: Allow device to fast fail if it does not exist """ It was changed back to 'BindTo' in the following commit. """ commit 63bbff61b78c651339c4b18d8376187379ec3b3c Author: Otavio Salvador <otavio.salvador@gmail.com> Date: Fri Jun 12 14:30:44 2020 -0300 systemd: Sync systemd-serialgetty@.service with upstream """ This is now causing runtime problem for qemuarm64. The default.target is not reached until a timeout. Output is like below. """ root@qemuarm64:~# systemd-analyze Bootup is not yet finished (org.freedesktop.systemd1.Manager.FinishTimestampMonotonic=0). Please try again later. Hint: Use 'systemctl list-jobs' to see active jobs root@qemuarm64:~# systemctl list-jobs JOB UNIT TYPE STATE 102 getty.target start waiting 1 multi-user.target start waiting 95 systemd-update-utmp-runlevel.service start waiting 110 serial-getty@hvc0.service start waiting 111 dev-hvc0.device start running """ We can see that we are waiting for /dev/hvc0, while in fact there's no /dev/hvc0. Jason's commit actually solves such problem. So restore to use Jason's method. Do not use 'BindsTo'. (From OE-Core rev: b1d0eacc431517695c348ad14f4452be607c0b62) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 43b989c1231d3d867303ccebceda72364a9519ee) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd: Sync systemd-serialgetty@.service with upstreamOtavio Salvador2020-06-261-4/+10
| | | | | | | | | | | | | | | | | | | | | The systemd upstream has been doing some improvements in the service which were not in sync, with the forked file. Mainly: - Use BindsTo to bind the service with the required serial device - Add of getty-pre.target as dependency so we can run things before getty@.service and serial-getty@.service - Add conflicts to rescue to avoid issues with sulogin We did not change the ExecStart and Environment fields so we don't have side effects of this change. (From OE-Core rev: e6e2cabc33ab30d38e31ef830f7bc5e3cd07b6d5) Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 63bbff61b78c651339c4b18d8376187379ec3b3c) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* serial-getty@.service: Allow device to fast fail if it does not existJason Wessel2019-09-011-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some BSPs use a USB serial port which may or may not actually be plugged all the time. It is quite useful to have a USB serial port have a getty running but it does not make sense to wait for it for 90 seconds before completing the system startup if it might never get plugged in. The typical example is that a USB serial device might only need to be plugged in when debugging, upgrading, or initially configuring a device. This change is somewhat subtle. Systemd uses the "BindsTo" directive to ensure existence of the device in order to start the service as well as to terminate the service if the device goes away. The "After" directive makes that same relationship stronger. When used together this has the undesired side effect that systemd will wait until its internal time out value of 90 seconds for the device to come on line before executing a fail operation or letting other tasks and groups continue. This is certainly the kind of behavior we want for a disk, but not for serial ports in general. The "BindsTo" directive is replaced by the combination of the "PartOf" and the "ConditionPathExists" directives. The "After" directive is unchanged because that will wait for the udev rules to process. The "PartOf" directive will issue a stop to the getty service if the device goes away, similar to the "BindsTo" directive. The "ConditionPathExists" is what allows the service to fail fast vs waiting for the timeout. When a USB device is not plugged in at boot you would find a message in the system journal like: systemd[1]: Condition check resulted in Serial Getty on \ ttyUSB0 being skipped. If you want to observe the problem with qemu, it is easy to replicate. Simply add the following line to your local.conf for a x86-64 qemu build. SERIAL_CONSOLES="115200;ttyS0 115200;ttyUSB0" Login right after the system boots and observe: root@qemux86-64:~# systemctl list-jobs |cat JOB UNIT TYPE STATE 1 multi-user.target start waiting 69 serial-getty@ttyUSB0.service start waiting 64 getty.target start waiting 71 dev-ttyUSB0.device start running 62 systemd-update-utmp-runlevel.service start waiting 5 jobs listed. You can see above that the dev-ttyUSB0.device will block for 1min 30 seconds. While that might not be a problem for this reference build. It is certainly a problem for images that have software watchdogs that verify the system booted up all the way to systemd completion in less than 90 seconds. This other nice effect of this change is that the fast fail device extend to additional serial ports that may not exist on ARM BSPs or that might be configured in or out by the dtb files on different boards. (From OE-Core rev: f0f359ec9210759f6b4dbfb35d3fba8af208c43a) Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd-serialgetty: allow baud rate overridingAwais Belal2016-03-311-1/+1
| | | | | | | | | | | | In case a getty is required on a UART which is not being used as the kernel console, the current agetty invocation fails to obey the baud rate configured through the SERIAL_CONSOLES variable because it uses --keep-baud. (From OE-Core rev: b54b73834e73d55de1038b55d0a4d7f49cda52d0) Signed-off-by: Awais Belal <awais_belal@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd-serialgetty: Disable the carrier detect requirement for serial consolesOtavio Salvador2014-11-201-1/+1
| | | | | | | | | | | | | | | | | | | | | This aligns the params of getty with the ones used in Debian. From the getty(8) manpage: ,----[ getty(8) manpage ] | -L, --local-line | | Force the line to be a local line with no need for carrier | detect. This can be useful when you have a locally attached | terminal where the serial line does not set the carrier detect | signal. `---- Reported-by: Craig McQueen <craig.mcqueen@beamcommunications.com> (From OE-Core rev: d7f057341e5c007783f41247ee054f257a9f2f64) Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* serial-getty service: Add xterm as default TERMJoel Fernandes2014-05-061-1/+2
| | | | | | | | | | | | | In poky with systemd enabled, vt102 is selected for getty causing user to experience a very crappy terminal. Default TERM to xterm. Reviewed-by: Jonathan Liu <net147@gmail.com> (From OE-Core rev: 473ff65c2f69de4ece3204fadfae7c5cb992149a) Signed-off-by: Joel Fernandes <joelf@ti.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd-serialgetty: update to match systemd 211Jonathan Liu2014-03-271-0/+3
| | | | | | | (From OE-Core rev: c48a2827a5494983dcefa70d8bebcc50e8a5fc3b) Signed-off-by: Jonathan Liu <net147@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd-serialgetty: Update to match version in recent systemdRichard Purdie2014-02-111-5/+2
| | | | | | | | | | Whilst debugging other issues I noticed this was out of sync with the code in systemd itself. This brings things back into sync and shouldn't hurt anything. (From OE-Core rev: b188bda18690dc1af1cb5d18bb0f3ad40c9a6cc6) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd: update to 204Jonathan Liu2013-05-241-6/+10
| | | | | | | | | | | | | Removed patches integrated upstream. Added backport of fix for utmp not running at shutdown. Updated serial-getty service. Added missing util-linux dependency. (From OE-Core rev: 9e39d10ec92db23c9765b83559c32c0302bc8c5d) Signed-off-by: Jonathan Liu <net147@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd: add systemd recipesRadu Moisan2013-01-201-0/+32
Add systemd recipes and associated support recipes. Mostly based on meta-oe/meta-systemd, so almost all credit should go to: Andreas Müller <schnitzeltony@googlemail.com> Denis 'GNUtoo' Carikli <GNUtoo@no-log.org> Holger Hans Peter Freyther <holger@moiji-mobile.com> Khem Raj <raj.khem@gmail.com> Koen Kooi <koen@dominion.thruhere.net> Martin Jansa <Martin.Jansa@gmail.com> (From OE-Core rev: 6a8a48b4d0d0b9b8d8af46cae11245bcb870bbc3) Signed-off-by: Radu Moisan <radu.moisan@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>