Emulin (java based EMUlation technology for Linux Ia-32 Native application) Version 0.2.13b Kiyoka Nishiyama 1) Emulin とは? Emulin はフリーソフトウェアです。 Linux for IA-32 バイナリを実行するエミュレータです。 java で記述されています。 Emulin は GNU General Public License のもとで配布されています。 詳細は COPYINGを参照してください。 2) 特徴 * 全て java で記述されている。 * IA-32のバイナリレベルでエミュレーションを行う。 * 完全に Unixライクな環境で作業できる。(Windows 上でも \ 記号のパスに苦しまなくてよい。) * 実行速度が遅い (^_^;) 3) 対応機種/環境 JDK : JDK 1.1.6 + Swing以上 注意! : Windowsの HotSpot 1.0では、正しく動作しません。Emulinを使うときは HotSpotは外してください。 注意! : Java 2 以前のJDKには Swing が入っていないため、各自イントールしてください。 OS : Windows 95/98/2000 と Linux 2.0.32 のみで動作確認しています。 4) 本パッケージの内容 emulin/README ... このファイルです。(SJIS) emulin/README.* ... 各漢字コードでの READMEファイル emulin/COPYING ... コピーイング(法的に正規の文書はこのファイルです。) emulin/GPL-2j.txt ... GPL2文書の和訳(このファイルは日本語での参照用です。法的に通用する文書ではありません。) emulin/emulin/ ... Emulin の ソースファイル・クラスファイル等が格納されています。 emulin/Makefile ... Emulin をビルドするためのMakefileです。 emulin/setup ... UNIX用セットアップスクリプト emulin/setup.bat ... Windows用セットアップスクリプト emulin/bootunix.sh ... UNIX用 rc ファイル emulin/bootwin.sh ... Windows用 rc ファイル ※ 本パッケージには、Linux アプリケーションと /etc /lib は含まれていません。 Basic Application Package for Emulin、と Etc and Library Files for Emulin をダウンロードし、インストールしてください。  5) インストール方法 1. 展開先のディレクトリに移り、 jar xvf emulin.jar でアーカイブを解凍します。 2. CLASSPATH 環境変数に展開したディレクトリパスを追加します。(JDK1.2以降では不用です。) (Windowsの例) set CLASSPATH=.;[bin]\..\classes;[bin]\..\lib\classes.zip;c:\emulin (Linux:cshの例) setenv CLASSPATH ./:/usr/local/java/lib/classes.zip:/home/xxx/emulin 3. 環境のセットアップ (Windowsの場合) setup.bat が存在するディレクトリで setup.bat を実行 (Linux の場合) setup が存在するディレクトリで sh setup を実行 Please select console type 1. Native console (you can interrupt processes) 2. normal console のように表示されるので コンソールタイプを 1 か 2 で選択してください。 ネイティブコンソールを使う場合は以下 4. 5. の項目を設定してください。 4. ダイナミックリンクライブラリのパスを環境変数で指定します。(ネイティブコンソールを使う場合のみ必要) (Windowsの例) set PATH=c:\emulin\emulin\device\windows;%PATH% めんどうな場合は emu_con.dll を c:\windows 等にコピーしてしまうという手もあります。 (Linux:cshの例) setenv LD_LIBRARY_PATH /home/xxx/emulin/emulin/device/unix:$LD_LIBRARY_PATH めんどうな場合は emu_con.so を /usr/local/lib等にコピーしてしまうという手もあります。 5. cygwin1.dll を入手する。(Windowsで、ネイティブコンソールを使う場合のみ必要) 1) ダウンロードする。 URL = ftp://ring.etl.go.jp/archives/pc/gnu-win32/cygwin-b20/cygwin1-20.1.dll.bz2 2) bzip2 で展開する。 3) cygwin1.dll にリーネームする。 4) c:\windows ディレクトリにコピーする。 6. Emulin のビルド方法 1) Unix 環境の場合。 (i) 必要なツール * JDK 1.1.6 以上 * GNU make * perl 5 * egrep, awk, sort, uniq (ii) ビルド root/ ディレクトリで、 > make と入力します。 2) Windows 環境の場合 (i) 必要なツール * JDK 1.1.6 以上 * cygwin32 b20.1 * windows 用 perl (ii) ビルド root\ ディレクトリで、 > make と入力します。 6) 使用方法 1. Emulinの起動 ( これが通常の使いかたです。) (Windowsの場合) boot.bat を実行 (Linux の場合) boot を実行 ヒント! : Windowsの場合は boot.batのショートカットを デスクトップなどに作るとよいでしょう。 2. Emulinのコマンドスペック java emulin.Emulin [ルートパス] [switch] [elfバイナリファイル] で実行します。 1) switch -CN ... ネイティブコンソールを使う (JNI を使用します) -D ... デバッグ情報を表示します。 (デバッグ用です) -V ... バーボーズ情報を表示します。(デバッグ用です) -V2 ... より詳しいバーボーズ情報を表示します。(デバッグ用です) -S ... セットアップ用 2) ルートパスは仮想ファイルパス名で指定します。 Emulin環境では、root を起点とした完全に閉じた ファイルツリーでファイルを扱います。 3. emulin.cnfについて emulin.cnf は 仮想パス上の /etc ディレクトリ内に存在している必要があります。 * 以下の設定パラメータがあります。 uid [0-9]* ... 実行時のユーザーIDを指定します。 gid [0-9]* ... 実行時のグループIDを指定します。 4. 例 (C:\root 以下のパスから) java emulin.Emulin C:\root /bin/ash ※ ash コマンドを実行するためには、emulin basic package が必要です。 7) mount,umountの注意事項 version 0.2.11bからmount機能がサポートされています。 以下のように使用します。 ※ mount,umountプログラムは bap-1.0.6以降に収録されています。 1. mount mount -t ext2 [localファイルパス] [マウントポイント] /etc/fstab を用意すると mount -a でマウントすることができます。 (例) windowsの場合の /etc/fstab C:\ /win ext2 defaults 0 0 M:\ /home ext2 defaults 0 0 2. umount umount [localファイルパス] または umount [マウントポイント] 8) 連絡先 バグ、御意見、御要望があれば下記まで御連絡ください。 e-mail:kiyoka@sa.uno.ne.jp 9) WebSite http://www.bekkoame.ne.jp/~kiyoka/emulin/index.html 以上 $Id: README,v 1.24 2000/01/16 14:39:53 kiyoka Exp $ $Date: 2000/01/16 14:39:53 $ $Revision: 1.24 $