1978年にUNIX V7(Seventh Edition)がリリースされました。
※その後、UNIX V8も開発されましたが一般ユーザにはリリースされませんでした。
このUNIX V7はDEC社のPDP-11(16bit)で実行できます。
1978年にワープしてPDP-11上のUNIX V7を使ってみたいという人も多数いるかと思います。
そのような状況が考慮されてか「UNIX USER」という雑誌で「UNIX考古学」という連載が始まりました。
その連載の第8回目にあたる2003年12月号でのテーマは「Seventh Editionでの環境構築」でした。
この「Seventh Editionでの環境構築」ではSIMHのPDP-11エミュレーション環境でのSeventh Edition導入手順詳細が記載されています。
またその2003年12月号にはSeventh Editionの通信機能を有効にする環境構築に必要なファイル含めてOS一式が付属しています。
※上記雑誌がなくてもそれと同様の操作手順を紹介したWebサイトが多くあるためSeventh Edition環境構築は容易にできます。
ここではSIMHのPDP-11エミュレーション環境でのSeventh EditionをQEMU on Windowsで簡単に実行する方法含めて紹介します。
尚、「UNIX USER」(2003年12月号)記載の詳細説明はここでは記載していません。
1.SIMHのPDP-11エミュレーション環境でのSeventh Edition仮想ディスクの作成
(1)元になる仮想ディスクは「UNIX USER」(2003年12月号)付属のRP0.DSKファイルです(RP06ディスクドライブ用)。
(2)SIMHのPDP-11エミュレーション環境はi386のUbuntu 8.04上に用意しました(PowerPC版のUbuntuでも構いません)。
Ubuntu 8.04では下記のコマンドでSIMHをインストールできます。
# apt-get install simh
(このsimhパッケージにpdp11というエミュレータが含まれています)
(3)「UNIX USER」(2003年12月号)付属のRP0.DSKに以下を実行したものをUnix7th.diskという仮想ディスクファイルとして保存しました。
※カーネル再構築にはソースコードを使用します。
・コンソール以外の端末(VT100相当)から接続利用するためのターミナルマルチプレクサ用ドライバ(dzドライバ)の追加とカーネル再構築(/unixカーネルサイズ:約50KB)。
・dzドライバ用スペシャルファイルの作成(/dev/tty00〜/dev/tty07)。
・コンソール以外の端末からのtelnet接続を許可するための/etc/ttysの設定変更。
2.Ubuntu 8.04上でのSeventh Edition仮想ディスク利用
# pdp11 PDP-11 simulator V3.7-0 sim> set cpu u18 Disabling XQ sim> set rp0 RP06 sim> att rp0 Unix7th.disk sim> set dz 7b lines=8 sim> att dz -am 4096 Listening on port 4096 (socket 4) Modem control activated Auto disconnect activated sim> boot rp0 boot Boot : hp(0,0)unix mem = 175552 ※この表示後、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:03:58 EST 1969 login:root Password: ←パスワードは「root」です。 |
# telnet PDP-11エミュレータが動作しているマシンのIPアドレス 4096 Trying IPアドレス... Connected to IPアドレス. Escape character is '^]'. Connected to the PDP-11 simulator login: root Password: ←パスワードは「root」です。 |
qemu.exe -L . -no-kqemu -m 256 -hda jeos810withpdp11.img -net nic -net user -redir tcp:5555::4096 |
qemu -m 256 -hda jeos810withpdp11.img -net nic -net user -redir tcp:5555::4096 |
# pdp11 PDP-11 simulator V3.7-2 sim> set cpu u18 Disabling XQ sim> set rp0 RP06 sim> att rp0 Unix7th.disk sim> set dz 7b lines=8 sim> att dz -am 4096 Listening on port 4096 (socket 4) Modem control activated Auto disconnect activated sim> boot rp0 boot Boot : hp(0,0)unix mem = 175552 ※この表示後、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:22:09 EST 1969 login:root Password: ←パスワードは「root」です。 |
qemu -m 48 -hda qemuw31-flat.vmdk -net nic,model=ne2k_isa -net user -std-vga |
set cpu u18 set rp0 RP06 att rp0 Unix7th.disk set dz 7b lines=8 att dz -am 4096 boot rp0 |
pdp11 -v pdp11.conf |
qemu -m 256 -hda jeos810withpdp11.img -net nic -net user -redir tcp:5555::4096 |
# pdp11 PDP-11 simulator V3.7-0 sim> set cpu u18 Disabling XQ sim> set rp0 RP06 sim> att rp0 Unix7th.disk sim> set dz 7b lines=8 sim> att dz -am 4096 Listening on port 4096 (socket 4) Modem control activated Auto disconnect activated sim> boot rp0 boot Boot : hp(0,0)unix mem = 175552 ※この表示後、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:10:51 EST 1969 login:←ここで停止させておいて構いません。 |
qemu -m 48 -hda qemuw31-flat.vmdk -net nic,model=ne2k_isa -net user -std-vga |
set cpu u18 set rp0 RP06 att rp0 Unix7th.disk set dz 7b lines=8 att dz -am 4096 boot rp0 |
pdp11 -v ppcpdp11.conf |
qemu -m 48 -hda qemuw31-flat.vmdk -net nic,model=ne2k_isa -net user -std-vga |
pdp11 5154 root 4u IPv4 20895 TCP *:4097 (LISTEN) |
set cpu u18 set rp0 RP06 att rp0 Unix7th.disk set dz 7b lines=8 att dz -am 4096 |
pdp11 -v pdp11.conf |