忍者ブログ
PCメモ
PC関係のメモ、気付いたこと。 simhとChromium OSをいじって遊んでいます。 Chromium OSのカスタムビルドを配布しています。(http://chromiumosde.gozaru.jp) twitter: @zui22904336 PGP fingerprint: 45FC 0E47 A68A FA06 02FE 2BEF B72C C6E6 F9FF 1C19
Admin / Write
2014/02/23 (Sun) 23:08
前回はsimhのサイトで配布されているSoftware kitのUNIX V7を外部からtelnetで接続できるようにしましたが、今回は、こちらの記事でテープイメージからインストールしたUNIX V7を外部からtelnetできるようにしてみます。

前回は通信用デバイスとしてDZ11 Terminal Multiplexerを使いましたが、今回はDC11 Additional Terminal Interfacesを使います。

DZ11は使えるようにするためにmkconfへのパッチが必要でしたが、DC11はパッチの必要がありません。また、テープイメージからインストールしたUNIX V7には最初からカーネルソースが含まれているので、Linux側ではほとんど作業がありません。前回よりも手間がかからずに済みます。

ということで、今回はおもむろにUNIX V7を起動して作業を始めていきます。

linux$ pdp11 UV7.ini 

PDP-11 simulator V3.9-0
Disabling XQ
boot
Boot
: hp(0,0)unix
mem = 177344
# (Ctrl-D)
RESTRICTED RIGHTS: USE, DUPLICATION, OR DISCLOSURE
IS SUBJECT TO RESTRICTIONS STATED IN YOUR CONTRACT WITH
WESTERN ELECTRIC COMPANY, INC.
WED DEC 31 21:55:37 EST 1969

login: root
Password:
You have mail.
#

カーネルソースは/usr/sys配下にあります。設定作業は/usr/sys/confで行います。ここでmkconfに読み込ませる設定ファイルを作ります。
# cd /usr/sys/conf
# cat > unixconf
3dc
(Ctrl-D)
# cat hptmconf >> unixconf
# cat unixconf
3dc
hp
root hp 0
swap hp 1
swplo 0
nswap 8778
tm

前回はdzとという行を追加しましたが、今回つかうdcでは、複数回線使う場合は先頭に回線数を指定する必要があります。今回は3回線分用意するので3dcとします。 また、Software Kitと今回とでは磁気ディスクの種類が違うので、後から追加するファイルも別のものになります。 では、作成した設定ファイルを使ってカーネルを再構築します。
# rm *.o
# mkconf < unixconf
console at 60
clock at 100
clock at 104
parity at 114
tm at 224
hp at 254
dc at 300
dc at 310
dc at 320
# make
as - -o l.o l.s
as -o mch.o mch0.s mch.s
cc  -c c.c
ld -o unix -X -i l.o mch.o c.o ../sys/LIB1 ../dev/LIB2
# 
 

makeconfの出力でdcが3つ作られていることがわかります。 続けて、接続用の/dev/tty??を作っていきます。まず、c.cの内容を確認してdcのメジャー番号を調べます。
# cat c.c
(略)
        dcopen, dcclose, dcread, dcwrite, dcioctl, nulldev, dc11,       /* dc = 3 */


dcのメジャー番号はこの例では3です。ではこれでデバイスファイルを作っていきます。dcを3つ作ったので作るファイルの数も3つにします。
# cd /dev
# /etc/mknod tty00 c 3 0
# /etc/mknod tty01 c 3 1
# /etc/mknod tty02 c 3 2
# 

続けて/etc/ttysを編集してtty00~02を使用可能にします。
# cat /etc/ttys
14console
00tty00   ←
00tty01   ← この3行の先頭を00から13に変える
00tty02   ←
00tty03
00tty04
00tty05
(略)
# ed /etc/ttys
266
2,4s/00/13/  ←2~4行目の先頭を13に書き換え
w      ←編集結果を書き出し
266
q      ←ed終了
# cat /etc/ttys
14console
13tty00
13tty01
13tty02
00tty03
00tty04
00tty05
(略)

前回は12tty??としたのですが、DC11の場合は接続時に"line hangup"というエラーが出て接続できませんでした。13とするのが一番レスポンスが良いようです。

これで準備ができたので、カーネルをルートにコピーしていったん終わらせます。以前のカーネルはコピーして残しておきます。
# cp /unix /unix.old
# cp /usr/sys/conf/unix /
# sync;sync;sync
# (Ctrl-E)
Simulation stopped, PC: 002306 (MOV (SP)+,177776)
sim> q
Goodbye
linux$ 

simhの起動ファイルを書き換えてdcが使えるようにします。dcは入力はdci、出力はdcoと別々のパラメータを使って設定していきます。
linux$ cat UV7.ini
set cpu 11/45
set cpu 256k
set rp0 RP04
att rp0 rp04-0.dsk
set dci en    ← dcを有効にする
set dci lines=3  ← 回線数3
set dco 7b    ← 出力時に先頭ビットをクリア(7bitに)する
att dci 20023  ← 待ち受けポートの指定
boot rp0


dcはデフォルトでは無効になっているため、set dci enとしてデバイスを有効にしないと機能しません。set dco 7bを指定しないと時々文字化けするみたいです。この設定ファイルを使ってUNIX V7を起動します。
linux$ pdp11 UV7.ini 

PDP-11 simulator V3.9-0
Disabling XQ
Listening on port 20023 (socket 5)
boot
Boot
: hp(0,0)unix
mem = 176384
# (Ctrl-D)
RESTRICTED RIGHTS: USE, DUPLICATION, OR DISCLOSURE
IS SUBJECT TO RESTRICTIONS STATED IN YOUR CONTRACT WITH
WESTERN ELECTRIC COMPANY, INC.
WED DEC 31 23:47:25 EST 1969

login: root
Password:
You have mail.
#


無事起動したので外部から接続してみます。

うまく接続できました。

今回はここまで。

[関連記事]



ランキングに参加してみました。クリックしていただければ嬉しいです。

にほんブログ村 IT技術ブログ IT技術メモへ
にほんブログ村

パソコン ブログランキングへ

拍手[0回]

PR


Comment
Name
Title
Mail
URL
Comment
Pass   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
  HOME   14  13  12  11  10  9  8  7  6  5  4 
プロフィール
HN:
zui
性別:
非公開
PR
忍者カウンター
忍者ブログ [PR]