386BSD 0.1 を動かしました

今のフリーな BSD系の全てのルーツにあたる 386BSD 0.1 のキットをインストールしてみました。

ちなみに 386BSD Wiki より

386BSDとは、4.3BSD Net/2をベースにして、ウィリアム・ジョリッツとリン・ジョリッツ夫妻によって開発された386で動作するUNIXライクなオープンソースオペレーティングシステムである。

ベースとなった4.3BSD Net/2は、4.3BSD RenoからAT&Tのライセンスが必要な部分を除いて、自由に配付ができるようにしたもので、そのままではオペレーティングシステムとして完全に機能するものではなかった。Jolitz夫妻は4.3BSD Net/2に欠けている機能と386で動作させるのに必要な部分を独自に補い、それを1992年2月に386BSD 0.0としてリリースした。これは、4.3BSD Net/2と同様に、AT&Tのライセンスに縛られる事なく自由に配付できるものであった。1992年7月にはバグを修正した386BSD 0.1がリリースされた。
386BSDは広く利用されたが、386BSD 0.1以降開発が滞った。そのため、ユーザらによって作成されたバグを修正するパッチは膨大な量となり、ユーザらは独自に「Unofficial 386BSD Patchkit」を製作するようになった。しかし、その後もバグの修正や新たな開発は行われなかったため、ユーザらは386BSDをベースとした新しいオペレーティングシステムの開発を始めた。この時できたのが、FreeBSDNetBSDである。
1993年にUSL(訴訟の最中にノベルに買収された)がカリフォルニア大学バークレー校に対し起こした訴訟で、4.3BSD Net/2にライセンスが必要な部分が含まれているということが認められたため、4.3BSD Net/2は公開禁止となり、それをベースとした386BSDも同様に公開する事ができなくなった。


との事です。

ネットで探すと 386BSD-0.1.exe からダウンロード出来ます。

イメージ 1

この exe をクリックするとインストールされます。

起動すると 386BSD-0.1 が QEMU CPUエミュレータ上で動作します。

$ cd /usr/src; make 
ってすると全てのライブラリやコマンドがコンパイルされます。

あとはカーネルですが

Step (1)        Apply the patches required in the patch kit.
Step (2)        Rebuild config (/usr/src/usr.sbin/config)

                        cd /usr/src/usr.sbin/config
                        make depend
                        make
                        make install
                        rehash                (if on csh)

Step (3)        cd /sys/i386/conf
                cp GENERICISA MYCONFIG
                vi MYCONFIG                (make changes to this as you will)

Step (4)        config MYCONFIG

Step (5)        cd /sys/compile/MYCONFIG
                make newvers
                make depend
                make
                
Step (6)        mv /386bsd /386bsd.old
                mv 386bsd /386bsd

Step (7)        reboot the machine.


と楽しめました。久しぶりのカーネルコンパイルでした(^O^)