前のページ 次のページ 目次

2. dosemu のコンパイルとインストール

2.1 インストール手順の説明はどこですか?インストール手順の説明はパッケージ中の "QuickStart" ファイルにあります。

2.2 コンパイルとインストールに失敗する原因のトップ10

1. QuickStart ガイドを読まなかった。

2. (問題がある)古いバージョンの dosemu をコンパイルしようとした。

3. バージョン 2.0.28 か 2.1.15 以前のカーネルでコンパイルしようとした。

4. /usr/src/linuxにあるカーネルのソースコードがおかしいか、 /usr/src/linux/include/version.hが無い。

5. IPC 機能を組み込んでいないカーネルで dosemu を使用した。

6. gcc のバージョンが 2.7.2 より古いか libc のバージョンが古い。

7. /etc/dosemu.conf の編集をし忘れた。

8. 既にマウントされているパーティションに対して、dosemu でパーティショ ンへのアクセスを行った。

9. 必要な権限(つまり root)でのインストールを行っていない。(97/04/08)

lermen@elserv.ffm.fgan.de) の報告を見てください。

> カーネルバージョン 2.xx.yy 用の DOS エミュレータの dosemu-0.64.3 バー > ジョンはありますか?
はい。しかし…

  if ( ((xx == 0) && (yy >= 28)) || ((xx >= 1) && (yy >= 15)) )
    take_dosemu_0_64_4();
  else {
    if (xx == 1)  exit(1);
    take_dosemu_0_64_2_x();
  }

;-)

2.4 a.out 形式のバイナリはどうやってつくるのでしょうか?

0.64.4 以降では a.out のサポートは打ち切られています。どうしても dosemu を使いたいのならば、0.64.3.1 を使わなければなりません。あなたの 設定が標準的なものならば、configure スクリプトはこのあたりをうまく処理 してくれるはずです。

2.5 メモリの少ないマシンで dosemu をコンパイルするには?

Marty Leisner (leisner@sdsp.mc.xerox.com)の報告があります (95/4/8)。

スワップスペースを使い尽くしてしまう問題が起こるときには dpmi/Makefileの中の CFLAGS が定義してある後ろに CFLAGS+=-fno-inline を加えたくなるかもしれません。しかし、その前 にまずスワップスペースが存在していることを確認してください。スワップス ペースが存在しないと Linux がクラッシュしてしまうことがあります。

2.6 "slang" に関係する変なエラーでコンパイルが失敗するたぶん、独自のバージョンの Slang ライブラリをインストールしているのでしょう。Hans Lermen 氏<lermen@elserv.ffm.fgan.de>の示した解決方法があります(97/2/11)。:

  configure --enable-force-slang

2.7 どんなオプション設定ができるのでしょう?

オプションのリストを得るには、

configure --help
を実行します。

2.8 コンパイルを高速に行うには?

Marty Leisner 氏(leisner@sdsp.mc.xerox.com) の報告がありま す(95/4/8):

デフォルトの最適化オプションは -O2 です。Makefile をエディットして -O オプション(そこそこ速いコンパイル/そこそこ小さいオブジェクト)を使うよ うにするとよいかもしれません。

2.9 Marty... 氏によるその他のテクニック

Marty Leisner 氏(leisner@sdsp.mc.xerox.com) の報告(95/4/8):

最新のバージョンにするためには、あなたのシステムの上でカーネルを再構築 する必要がありますが、そうしたくない場合には、トップレベルの Makefile の中の KERNEL_VERSION を変更するという方法があります。この数字は、 "nmmmppp" という形式で、"n" がバージョンを、"mmm"がマイ ナーバージョンを、"ppp"がパッチレベルを表しています。例えば、カー ネル 1.1.88 は "1001088" となり、カーネル 1.2.1 は "1002001" となりま す。

Hans Lermen氏(lermen@elserv.ffm.fgan.de)による追加事項:

これは 0.64.3 以降のバージョンには適用できません。 <linux/version.h> は標準の /usr/include の一部であり、正しいもの でなくてはなりません。これが無い場合には、あなたがカーネルソースのディ レクトリで 'make clean' を実行したか、あなたの使っている Linux パッケー ジを作っている人がこれをサポートし損ねたかのどちらかです。

2.10 dosemu を root でコンパイルしなければならないか?

(95/4/8)

その必要はありません。ただし、インストールの時には root で実行しなけれ ばなりません。

加えて、Marty Leisner 氏(leisner@sdsp.mc.xerox.com) は次の ことを述べています。

I/Oポート(コンソールを含む)へアクセスするためには dosemu を root 権限 で実行する必要があります。dosemu を xterm や X window の上で動作させる 場合には、それが直接ハードウエアアクセスを必要とするものでも、一般ユー ザの権限で動かすことができます。現在開発中のリリースでは、セキュリティ や setuid の機構がうまく動作するようになる予定です(95/8/11)。

/doc/SECURITY.readmeも参照してください(97/2/9)。

2.11 dosemu へのパッチの当て方

dosemu にパッチを当てて、あるバージョンから他のバージョンにした場合 には、"make pristine;./configure; make" を実行してく ださい.make pristine をしないと、少なくとも新しい実行ファイルのバージョ ンがおかしくなります(97/2/9)。

http://www.caldera.com/dos から入手しなくてはなりません。たぶんこの方針はまもなく変更されると思わ れ、そうすれば起動可能な hdimage を dosemu と一緒に配布できるようにな ります。 MsDos-6.22 は dosemu 上で動くことが知られています。 Win95として知られているMsDos-7は dosemu 上で動きます が、起動時のロゴを出さない設定にし、GUIのシェルを使わないようにしなけ ればなりません。もし、ウィンドウズのインストール時に作成するように言わ れる「修復ディスク」を使って hdimage を起動可能にすれば、正しい環境を 作ることができます。システムファイルを転送するのに普通の Windows95 の インストールディスクを使った場合には、hdimage に書かれた msdos.sys を 確認し、Optionsの項目を以下のように変更しなければなりません。 Options Logo=0 BootGUI=0 (97/3/7)

2.13 動作しないことが知られているバージョン

DOS 4.01 はそれ自身に問題があり、そのために dosemu でも動作しません。 (Mattias Hembruch <mghembru@ece.uwaterloo.ca> 97/04/03)


前のページ 次のページ 目次