Debianストレッチコンピューターの物理シリアルポートに接続されている5つの異なるシリアルデバイスがあり、内部的にQEMUマシンに転送する必要があります。 qemuの内部にはQNX 6.5.0システムがあるため、virtio-seralドライバーまたは同様のソリューションを使用できるかどうかはわかりません。
4つのシリアルポートのLinux標準の制限は、次の方法で解決されます。
/etc/default/grub: 8250.nr_uarts=8
したがって、QEMUの最大シリアルポート= 4で現在発生している唯一の問題です。
これはqemuを再コンパイルすることで解決できますか?他の解決策はありますか?
再コンパイルは、8つのポートすべてで機能するようです。
1)linux-ホストの制限は次の方法で解決されました:/etc/default/grub: 8250.nr_uarts=8 ... update grub
2)次の方法で解決されるqemuの制限:
git clone git://git.qemu-project.org/qemu.git; cd qemu
include/sysemu/sysemu.h: changing MAX_SERIAL_PORTS 4->8
hw/char/serial-isa.c: adding 4 values to each of 2 arrays:
isa_serial_io [MAX_SERIAL_PORTS] = {0x3f8, 0x2f8, 0x3e8, 0x2e8, 0x5f8, 0x4f8, 0x5e8, 0x4e8}
isa_serial_irq[MAX_SERIAL_PORTS] = {4,3,4,3,4,3,4,3}
...
./configure --target-list=x86_64-softmmu
make; Sudo make install
3)qnx-guestの制限は以下を実行することで解決しました:devc-ser8250 5f8,4 4f8,3 5e8,4 4e8,3
ノート:
Sudo apt-get install libpixman-1-dev
唯一欠落している依存関係でしたmake
には最大10分かかりました