console-getty.service가 시작되는 것을 방지하는 방법은 무엇입니까?

console-getty.service가 시작되는 것을 방지하는 방법은 무엇입니까?

내 임베디드 시스템에서는 Linux 커널 4.19.102와 systemd 240을 사용합니다. 모든 콘텐츠는 buildroot 2019.02.9를 사용하여 생성됩니다.

장치의 직렬 포트를 사용하여 콘솔을 출력했습니다.

bootargs = "console=ttyS0,115200";

내가 사용한 이전 버전(buildroot 2018.05, 커널 4.16.y 및 systemd 237)의 콘솔 측에서는 모든 것이 괜찮았습니다. 다음 파일이 있습니다. 시작 중/etc/systemd/system/getty.target.wants/[email protected]/sbin/getty -L ttyS0 115200 vt100

이제 콘솔은 일반적인 시작 메시지를 인쇄한 다음 로그 메시지를 두 번 인쇄합니다.

Welcome to MyDevice
MyDevice login:
Welcome to MyDevice
MyDevice login:

"r"로 시작하는 긴 비밀번호로 로그인하려고 하면 다음과 같은 결과가 나타납니다.

Welcome to MyDevice
MyDevice login:
Welcome to MyDevice
MyDevice login: root
Password: r
Login incorrect
MyDevice login:

SSH를 사용하여 로그인할 수 있기를 원합니다. 이 빌드에서 "getty" 서비스가 두 번 시작되는 것을 보았습니다.

# ps | grep getty
  988 root     /sbin/getty -L ttyS0 115200 vt100
 1002 root     /sbin/getty -L console 115200 vt100
 1117 root     grep getty

/etc 파일 현재: /etc/systemd/system/getty.target.wants/console-getty.service부팅 중이지만 /sbin/getty -L console 115200 vt100 여전히 /sbin/getty -L ttyS0 115200 vt100부팅 중입니다.

"콘솔" 서비스(이전 버전과 동일한 상태)를 종료하면 로그인할 수 있고 마침내 콘솔이 작동합니다.

콘솔 서비스가 시작되지 않도록 buildroot 또는 systemd를 어떻게 구성합니까?

답변1

문제는 BR2_TARGET_GENERIC_GETTY_PORT가 buildroot 2018.05의 "콘솔"에 설정되어 있다는 것입니다. buildroot 2019.02.9에서 'ttyS0'을 통해 변경해야 합니다.

관련 정보