mirror of
https://github.com/motioneye-project/motioneyeos.git
synced 2025-07-27 13:16:35 +00:00
package/systemd: fix "Timed out waiting for device /dev/console."
Buildroot built with systemd fails to open a login prompt on the serial port when /dev/console is specified as BR2_TARGET_GENERIC_GETTY_PORT (which is its default value): systemd[1]: dev-console.device: Job dev-console.device/start timed out. systemd[1]: Timed out waiting for device /dev/console. systemd[1]: Dependency failed for Serial Getty on console. systemd[1]: serial-getty@console.service: Job serial-getty@console.service/start failed with result 'dependency'. systemd[1]: dev-console.device: Job dev-console.device/start failed with result 'timeout'. systemd[1]: Reached target Login Prompts. systemd[1]: Reached target Multi-User System. According to this issue on Github [1], serial-getty@.service should not be instantiated on /dev/console, console-getty@.service should be used instead. This stems from the fact that there should be no dependency on /dev/console. [1] https://github.com/systemd/systemd/issues/10914 Signed-off-by: Xavier Ruppen <xruppen@gmail.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> [Peter: drop SERVICE variable as suggested by Yann] Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
parent
d059acad12
commit
940e7deab0
@ -397,19 +397,26 @@ endef
|
|||||||
|
|
||||||
ifneq ($(call qstrip,$(BR2_TARGET_GENERIC_GETTY_PORT)),)
|
ifneq ($(call qstrip,$(BR2_TARGET_GENERIC_GETTY_PORT)),)
|
||||||
# systemd needs getty.service for VTs and serial-getty.service for serial ttys
|
# systemd needs getty.service for VTs and serial-getty.service for serial ttys
|
||||||
|
# note that console-getty.service should be used on /dev/console as it should not have dependencies
|
||||||
# also patch the file to use the correct baud-rate, the default baudrate is 115200 so look for that
|
# also patch the file to use the correct baud-rate, the default baudrate is 115200 so look for that
|
||||||
define SYSTEMD_INSTALL_SERVICE_TTY
|
define SYSTEMD_INSTALL_SERVICE_TTY
|
||||||
if echo $(BR2_TARGET_GENERIC_GETTY_PORT) | egrep -q 'tty[0-9]*$$'; \
|
if [ $(BR2_TARGET_GENERIC_GETTY_PORT) = "console" ]; \
|
||||||
then \
|
then \
|
||||||
SERVICE="getty"; \
|
TARGET="console-getty.service"; \
|
||||||
|
LINK_NAME="console-getty.service"; \
|
||||||
|
elif echo $(BR2_TARGET_GENERIC_GETTY_PORT) | egrep -q 'tty[0-9]*$$'; \
|
||||||
|
then \
|
||||||
|
TARGET="getty@.service"; \
|
||||||
|
LINK_NAME="getty@$(call qstrip,$(BR2_TARGET_GENERIC_GETTY_PORT)).service"; \
|
||||||
else \
|
else \
|
||||||
SERVICE="serial-getty"; \
|
TARGET="serial-getty@.service"; \
|
||||||
|
LINK_NAME="serial-getty@$(call qstrip,$(BR2_TARGET_GENERIC_GETTY_PORT)).service"; \
|
||||||
fi; \
|
fi; \
|
||||||
ln -fs ../../../../lib/systemd/system/$${SERVICE}@.service \
|
ln -fs ../../../../lib/systemd/system/$${TARGET} \
|
||||||
$(TARGET_DIR)/etc/systemd/system/getty.target.wants/$${SERVICE}@$(BR2_TARGET_GENERIC_GETTY_PORT).service; \
|
$(TARGET_DIR)/etc/systemd/system/getty.target.wants/$${LINK_NAME}; \
|
||||||
if [ $(call qstrip,$(BR2_TARGET_GENERIC_GETTY_BAUDRATE)) -gt 0 ] ; \
|
if [ $(call qstrip,$(BR2_TARGET_GENERIC_GETTY_BAUDRATE)) -gt 0 ] ; \
|
||||||
then \
|
then \
|
||||||
$(SED) 's,115200,$(BR2_TARGET_GENERIC_GETTY_BAUDRATE),' $(TARGET_DIR)/lib/systemd/system/$${SERVICE}@.service; \
|
$(SED) 's,115200,$(BR2_TARGET_GENERIC_GETTY_BAUDRATE),' $(TARGET_DIR)/lib/systemd/system/$${TARGET}; \
|
||||||
fi
|
fi
|
||||||
endef
|
endef
|
||||||
endif
|
endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user