기존 가상 머신 AT&T SVR4에서 두 번째 직렬 포트를 활성화하는 방법은 무엇입니까?

기존 가상 머신 AT&T SVR4에서 두 번째 직렬 포트를 활성화하는 방법은 무엇입니까?

일반적으로 직렬 포트는 minicom을 통해 Qemu의 오래된 SVR4를 제어하는 ​​데 충분합니다(아주 오래된 시스템이고 안전하지 않다는 것을 알고 있습니다.). 가상 머신 구성에서 이 두 포트를 설정했습니다.

<serial type="pty">
  <source path="/dev/pts/1"/>
  <target type="isa-serial" port="0">
    <model name="isa-serial"/>
  </target>
  <alias name="serial0"/>
</serial>

serial type="pty">
  <source path="/dev/pts/2"/>
  <target type="isa-serial" port="1">
    <model name="isa-serial"/>
  </target>
  <alias name="serial1"/>
</serial>

하지만 시작 시 하나의 포트만 활성화됩니다.

find /dev/ -name *tty* -print
/dev/systty
/dev/tty00
/dev/tty
/dev/tty00s
/dev/tty00h

그래서 커널을 재구축해 보았습니다. SVR4에서는 먼저 커널을 재구축하기 위해 /etc/conf/sdevice.d/asy 파일을 변경했습니다.

asy     Y       1       7       1       4       3f8     3ff     0       0
asy     Y       1       7       1       3       2f8     2ff     0       0

구문은 간단합니다. asy는 이를 활성화하는 드라이버 Y이고, 1 7 1 잘 모르겠습니다. 3은 인터럽트입니다(내 모든 시스템에서 irq 3은 두 번째 직렬 포트에서 사용되고 4는 첫 번째 직렬 포트에서 사용됩니다). 3f8-3ff 및 2f8-2ff는 포트 간격, 0 0 모르겠습니다

그런 다음 idbuild를 사용하여 커널을 다시 빌드합니다. 다시 시작해도 같은 상황입니다. 파일을 편집하면

/etc/conf/node.d/asy

asy     tty00   c       0
asy     term/00 c       0
asy     tty00s  c       0
asy     tty00h  c       128
asy     term/00s        c       0
asy     term/00h        c       128

asy     tty01   c       1
asy     term/01 c       1
asy     tty01s  c       1
asy     tty01h  c       128
asy     term/01s        c       1
asy     term/01h        c       128

그리고 노드를 다시 생성하세요

idmknod -s

이런 이상한 상황이 있어요

ls -ld /dev/tty*

crw-rw-rw-   1 bin      bin       16,  0 Dec 25 19:31 /dev/tty
crw--w----   1 myuser   tty        3,  0 Mar 27 05:20 /dev/tty00
crw-rw-rw-   1 root     root       3,128 Mar 27 04:26 /dev/tty00h
crw-rw-rw-   1 root     root       3,  0 Mar 27 04:26 /dev/tty00s
crw--w----   1 root     root       3,  0 Mar 27 05:20 /dev/tty01
crw-rw-rw-   1 root     root       3,128 Mar 27 04:26 /dev/tty01h
crw-rw-rw-   1 root     root       3,  0 Mar 27 04:26 /dev/tty01s

모든 파일은 메이저 번호 3을 사용합니다. 4가 완전히 무시되는 이유는 무엇입니까? 내가 무엇을 놓치고 있나요? 커널의 버그이거나 다른 것일 수 있습니까? 두 일련 번호 모두 최신(Linux) 및 기존(Sco Unix) 시스템 모두에서 인식됩니다. 나는 SVR4가 qemu나 86box 및 bochs에서 직렬 포트(첫 번째 포트 제외)를 볼 수 없다는 것을 발견했습니다.

관련 정보