Debian Striking 시스템의 물리적 직렬 포트에 연결되어 있고 내부적으로 QEMU 시스템으로 전달되는 5개의 서로 다른 직렬 장치가 있습니다. 내부적으로 qemu는 QNX 6.5.0 시스템이므로 virtio-seral 드라이버나 유사한 솔루션을 사용할 수 있는지 잘 모르겠습니다.
4개의 직렬 포트에 대한 Linux 표준 제한은 다음 방법으로 해결됩니다.
/etc/default/grub: 8250.nr_uarts=8
이제 내가 가진 유일한 문제는 QEMU 최대 직렬 포트 = 4입니다.
qemu를 다시 컴파일하면 이 문제가 해결될 수 있나요? 다른 해결책이 있나요?
답변1
재컴파일은 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분 정도입니다. - 무작위로 io 주소와 irq를 선택하고 어느 것이 작동하는지 시도했습니다. (실제로 이유를 이해하지 못했습니다. 일부 io/irq 조합은 작동했지만 일부는 작동하지 않았습니다.)