VirtualBox 직렬 콘솔에 PXE 네트워크 부팅 프로세스 표시

VirtualBox 직렬 콘솔에 PXE 네트워크 부팅 프로세스 표시

헤드리스 모드에서 VirtualBox VM을 시작하고 직렬 콘솔을 통해 터미널에서 네트워크 부팅 프로세스를 보고 싶습니다(예: screen또는 사용 minicom). 이 목표를 어떻게 달성할 수 있나요?

추가 컨텍스트는 다음과 같습니다.


PXE 네트워크 부팅을 실험하는 데 사용하는 VirtualBox 가상 머신이 있습니다. 가상 머신의 이름이 지정 pxeclient되고 Debian이 실행됩니다.

다음 블로그 게시물에 설명된 지침에 따라 가상 머신용 직렬 포트를 구성했습니다.

다음은 직렬 콘솔을 구성한 방법에 대한 간략한 설명입니다.

먼저 UART 직렬 포트를 VM에 연결했습니다.

touch "/dev/pxeclient-uart-port"
vboxmanage modifyvm "client" --uart1 "0x3F8" '4'
vboxmanage modifyvm "client" --uartmode1 server "/dev/pxeclient-uart-port"

그런 다음 (GUI 인터페이스를 통해) VM에서 grub 구성 파일을 수정했습니다.

cat <<HEREDOC > /etc/default/grub
# NOTE: Enable Virtual Serial Console for VirtualBox
GRUB_DEFAULT=0
GRUB_TIMEOUT=1
GRUB_DISTRIBUTOR=$(lsb_release -i -s 2> /deb/null || echo Debian)
GRUB_CMDLINE_LINUX_DEFAULT=""
GRUB_CMDLINE_LINUX="console=ttyS0 console=tty0 ignore_loglevel"
GRUB_TERMINAL="console serial"
GRUB_SERIAL_COMMAND="serial --speed=9600 --unit=0 --word=0 --word=8 --parity=no --stop=1"
HEREDOC

그런 다음 이 minicom프로그램을 사용하여 가상 머신 콘솔에 연결합니다.

minicom -D unix#/dev/pxeclient-uart-port

지금까지는 모든 것이 예상대로 작동하는 것 같습니다. 콘솔에 성공적으로 연결할 수 있고 가상 머신을 시작한 후(헤드리스 모드에서) 터미널을 통해 부팅 프로세스를 볼 수 있습니다.

그런 다음 PXE를 사용하여 네트워크 부팅을 수행하도록 가상 머신의 부팅 순서를 변경합니다.

vboxmanage modifyvm 'pxeclient' --boot1 'net' --boot2 'none' --boot3 'none' --boot4 'none'

그러나 가상 머신을 시작하면 터미널에 기록된 출력이 표시되지 않습니다. GUI 인터페이스를 사용하여 VM을 다시 시작하면 GUI 창에서 PXE 부팅 프로세스를 볼 수 있지만 직렬 콘솔을 통해 동일한 출력이 나타나지 않습니다.

나는 모든 가상 머신을 헤드리스 모드로 실행하는 것을 선호합니다. 직렬 콘솔을 통해 네트워크 부팅 프로세스를 모니터링하려면 몇 가지 추가 구성을 수행해야 합니까?

관련 정보