Heutzutage werden COM-Ports nicht mehr so häufig verwendet wie früher. Und doch gibt es immer noch eine praktische Anwendung dafür und die Ihnen sehr hilfreich sein kann.
Sie müssen beispielsweise über mindestens eine serielle Schnittstelle verfügen, sonst können Sie mit der überwiegenden Mehrheit der Kernel-Debugging-Tools nicht interagieren. In der Praxis muss es kein physischer COM-Port sein. Mit dem richtigen Software-Tool können Sie das Kernel-Debugging auch über eine virtuelle serielle Schnittstelle einer virtuellen Maschine durchführen.
In diesem Lernprogramm erfahren Sie, wie Sie eine serielle Schnittstelle vom Host zu einer Gast-VM in VirtualBox umleiten und virtuelle serielle Schnittstellen in VirtualBox erstellen.
Eine sehr einfache Methode zum Implementieren des Passthrough für die serielle VirtualBox-Schnittstelle ist das Software-Tool FlexiHub.
FlexiHub bietet Benutzern einen einfachen Pfad zum Aktivieren serieller Ports in VirtualBox oder einer anderen Virtualisierungsplattform, indem serielle Port-Geräte über das Netzwerk an virtuelle Gastmaschinen umgeleitet werden.
FlexiHub erstellt virtuelle Verbindungen und leitet Daten der seriellen Schnittstelle über ein Netzwerk an die virtuellen-Maschinen von VirtualBox um. Es sind keine komplexen Parameter zu konfigurieren. Mit FlexiHub können Sie mit nur einem Klick eine serielle VirtualBox-Schnittstelle hinzufügen.
VBoxManage modifyvm "VM name" --uart1 0x3F8 4 --uartmode1 tcpserver 2023
VBoxManage modifyvm "VM name" --uart2 0x2F8 3 --uartmode2 hostdevice "\\.\COM1"
Zusätzliche Tipps
✦ Denken Sie daran, dass serielle Ports, die denselben IRQ verwenden, nicht gleichzeitig genutzt werden sollten, um Konflikte zu vermeiden.
✦ Für fortgeschrittene Setups wie Kernel-Debugging oder die Simulation einer Nullmodem-Verbindung zwischen VMs, beziehen Sie sich auf spezifische Konfigurationen, die für Ihren Anwendungsfall relevant sind.
Diese Anleitung sollte Ihnen helfen, virtuelle serielle Ports in VirtualBox effektiv zu nutzen, um die Konnektivität Ihrer VM für Entwicklung, Debugging oder den Umgang mit Legacy-Geräten zu verbessern.