既存の仮想マシンAT&T SVR4で2番目のシリアルポートを有効にする方法は?

既存の仮想マシンAT&T SVR4で2番目のシリアルポートを有効にする方法は?

通常、シリアルポートはminicomを介してQemuの古いSVR4を制御するのに十分です(非常に古いシステムであり、安全ではないことを知っています)。仮想マシン構成でこれら2つのポートを設定しました。

<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>

ただし、起動時に1つのポートのみが有効になります。

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は2番目のシリアルポートで使用され、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でシリアルポート(最初のポートを除く)を見ることができないことを発見しました。

ベストアンサー1

おすすめ記事