저는 커널 5.4.103-1-pve와 함께 Proxmox 6.4를 실행하고 있습니다(포럼에서 이 질문을 했지만 운이 없었습니다). 내 마더보드에는 COM 헤더가 있어서 최근에 이를 연결하고 직렬을 통해 관리하는 데 필요한 장비를 구입했습니다. 단, 시스템 시작 후에는 직렬 포트를 사용할 수 없습니다. 포트는 에 있습니다 ttyS0
. GRUB에서 설정했습니다(SSH가 등장하기 전에는 설정이 직렬로만 이루어졌고 시스템의 유일한 GPU는 통과용으로만 GRUB 또는 Linux에서 실제로 사용되지 않았습니다).
GRUB_TERMINAL=serial
GRUB_SERIAL_COMMAND="serial --unit=0 --speed=115200"
console=ttyS0,115200
그런 다음 커널 명령줄에 추가하여 Linux용으로 설정했습니다. 이제 호스트를 부팅하면 먼저 GRUB 메뉴가 표시되고 완전히 상호 작용할 수 있습니다. 그런 다음 일반적인 로딩 initramfs 메시지가 표시되고 이어서 대부분의 일반적인 Linux 부팅 프로세스가 표시됩니다. 그러나 "로그인 서비스"에 도달하면 더 이상 출력이 없으며 터미널과 상호 작용할 수 없습니다.
...
Starting Proxmox VE Login Banner...
Starting Enable support fo…l executable binary formats...
[ OK ] Reached target ZFS volumes are ready.
[ OK ] Started Preprocess NFS configuration.
[ OK ] Started Set console font and keymap.
[ OK ] Started Create Volatile Files and Directories.
[ OK ] Started Load AppArmor profiles.
[ OK ] Started Proxmox VE firewall logger.
Mounting Arbitrary Executable File Formats File System...
Starting Raise network interfaces...
[ 17.623601] Generic FE-GE Realtek PHY r8169-800:00: attached PHY driver [Generic FE-GE Realtek PHY] (mii_bus:phy_addr=r8169-800:00, irq=IGNORE)
Starting Network Time Synchronization...
Starting Update UTMP about System Boot/Shutdown...
Starting RPC bind portmap service...
[ OK ] Reached target NFS client services.
[ OK ] Started Proxmox VE Login Banner.
[ OK ] Started Commit Proxmox VE network changes.
[ OK 17.739718] r8169 0000:08:00.0 enp8s0: Link is Down
0m] Mounted Arbitrary Executable File Formats File System.
[ OK ] Started 17.760897] 8021q: 802.1Q VLAN Support v1.8
1;39mRPC bind portmap service.
[ OK ] Started Network Time Synchronization.
[ OK ] Started Enable support for…nal executable binary formats.
[ OK ] Reached target System Time Synchronized.
[ OK ] Reached target RPC Port Mapper.
[ OK ] Started Update UTMP about System Boot/Shutdown.
[ OK ] Reached target System Initialization.
[ OK ] Listening on D-Bus System Message Bus Socket.
[ OK ] Reached target Sockets.
[ OK ] Reached target Basic System.
Starting Proxmox VE LXC Syscall Daemon...
[ OK ] Started D-Bus System Message Bus.
Starting PVE Qemu Event Daemon...
[ OK ] Started ZFS Event Daemon (zed).
Starting System Logging Service...
[ OK ] Started Daily apt download activities.
[ OK ] Started Daily apt upgrade and clean activities.
Starting LSB: The monitor UPS software....
[ OK ] Started Daily rotation of log files.
[ OK ] Started Daily man-db regeneration.
Starting Login Service...
[ OK ] Started Proxmox VE [ 18.118065] softdog: initialized. soft_noboot=0 soft_margin=60 sec soft_panic=0 (nowayout=0)
watchdog multiplexer.
Starting Kernel Samepage Merging (KSM) Tuning Daemon...
[ OK ] Started Daily Cleanup of Temporary Directories.
[ OK ] Started Daily PVE download activities.
Starting Self Monitoring a…g Technology (SMART) Daemon...
Starting ZFS file system shares...
[ OK ] Started Proxmox VE replication runner.
[ OK ] Reached target Timers.
[ OK ] Started FUSE filesy[ 18.258047] new mount options do not match the existing superblock, will be ignored
stem for LXC.
Starting Initialize hardware monitoring sensors...
[ OK ] Started Proxmox VE LXC Syscall Daemon.
[ OK ] Started System Logging Service.
[ OK ] Started PVE Qemu Event Daemon.
[ OK ] Started Kernel Samepage Merging (KSM) Tuning Daemon.
[ OK ] Started ZFS file system shares.
[ OK ] Reached target ZFS startup target.
[ OK ] Started Initialize hardware monitoring sensors.
[ OK ] Started Login Service.
SSH를 통해 로그인하면 serial-getty@ttyS0
서비스가 실행 중이고 해당 로그에 오류나 경고가 표시되지 않는 것을 볼 수 있습니다. 다시 말하지만, dmesg
시스템 로그에는 이에 대한 오류가 없습니다. 서비스를 다시 시작해도 직렬 터미널이 여전히 작동하지 않습니다. 를 실행하면 stty -a -F /dev/ttyS0
부팅 중에는 올바른 전송 속도에도 불구하고 어떤 이유에서인지 전송 속도가 2400으로 설정되어 있는 것을 볼 수 있습니다. 수동으로 다시 115200 보드로 설정할 수 있지만 그렇게 한 다음 터미널의 클라이언트 측에 아무 것도 입력하면 문자가 표시되자마자 2400으로 돌아갑니다. 그러나 수동으로 재설정한 다음 재부팅하면 serial-getty@ttyS0
115200 보드로 유지되고 대화형 상태로 유지됩니다.
인터넷 어디에서나 해결책을 찾을 수 없습니다. 아마도 내 Google-fu가 충분히 강력하지 않을 수도 있지만 대부분의 사람들의 경험과 달리 부분적으로 작동하는 비슷한 질문을 찾기는 어렵습니다. 전혀 작동하지 않습니다.
편집하다:
TelcoM 덕분에 이 문제는 이제 해결되었습니다. 참고로 기본 ExecStart
줄은 다음과 같습니다.
ExecStart=-/sbin/agetty -o '-p -- \\u' --keep-baud 115200,38400,9600 %I $TERM
따라서 systemctl edit serial-getty@ttyS0
다음 줄을 실행하고 추가하면 문제가 해결되었습니다.
[Service]
ExecStart=
ExecStart=-/sbin/agetty -o '-p -- \\u' 115200 %I $TERM
답변1
serial-getty@ttyS0
서비스 정의가 agetty
실제 프로세스에 대해 어떤 옵션을 지정하는지 알아내야 합니다 . systemctl cat serial-getty@ttyS0
질문에 대한 출력을 실행하고 편집하십시오 .
해당 ExecStart
줄에 --keep-baud
옵션 agetty
(약어로 표시 )이 포함된 경우 고정 전송 속도 115200을 목표로 하는 것으로 나타나므로 -s
옵션을 조정하기 위해 오버레이 파일을 만들어야 할 수도 있습니다 .agetty
ExecStart
Debian 10의 직렬 포트 기본 라인이 다음 과 같기 때문에 매우 유사한 작업을 수행해야 했습니다 agetty
.
ExecStart=-/sbin/agetty -o '-p -- \\u' --keep-baud 115200,38400,9600 %I $TERM
이 특별한 경우에는 옵션을 /sbin/agetty -o '-p -- \\u' 57600 %I vt-utf8
.
(하드웨어에는 원격 콘솔 프로세서가 있고 해당 펌웨어는 57600bps에서만 작동합니다. 이 모드를 사용하면 키보드 레이아웃 문제 없이 원격 콘솔 프로세서에 SSH로 접속하고 가상 직렬 콘솔 모드를 활성화하며 직렬 콘솔에 액세스할 수 있습니다(Java 기반 가상 KVM 콘솔).
ExecStart
서비스는 여러 행을 가질 수 있으므로 ExecStart=
원하는 경우바꾸다대신 기존 라인다음에 추가두번째. 그래서 다음 내용으로 파일을 만들었습니다./etc/systemd/system/[email protected]/override.conf
[Service]
ExecStart=
ExecStart=-/sbin/agetty -o '-p -- \\u' 57600 %I vt-utf8
귀하의 경우 전송 속도는 분명히 115200이지만 비슷한 작업을 수행해야 할 수도 있습니다.