NetBSDのLinuxエミュレーション
NetBSDにはLinuxエミュレーション機能があり、NetBSD上でFirefox/JDK等のLinuxバイナリを実行させることが可能となります。
ここではNetBSD/i386 3.1上で以下のLinuxバイナリを実行させる手順について簡単に紹介します。
・Linux版FirefoxとFlashプラグイン
・Linux版Firefox上のAdobe Readerプラグイン
・Linux版Firefox上のSun Javaプラグイン
(1)単体アプリケーションの導入
- NetBSDネーティブ用Firefox 1.5の導入
NetBSDネーティブ用Firefoxはmeta-pkgsのgnome導入の際に自動インストールされます(プログラムファイルはfirefoxです)。
# export ALLOW_VULNEARABLE_PACKAGES=yes
# cd /usr/pkgsrc/meta-pkgs/gnome
# make install clean
- Linuxエミュレーション環境の構築とAdobe Reader 7の導入
Linuxエミュレーション環境はAdobe Reader 7のインストール時に自動的に構築されます。
# vi /etc/mk.conf
以下の1行を追加します(Adobe Readerのライセンス同意指定です)。
ACCEPTABLE_LICENSES+=adobe-acrobat-license
# export ALLOW_VULNERABLE_PACKAGES=yes
# cd /usr/pkgsrc/print/acroread7
# make install clean
これによって、SUSE Linux 10.0ベースのLinuxエミュレーション環境が自動構築されます。
具体的には以下のようなパッケージ群がインストールされます。
・suse100_libjpeg(suse_libjpeg-10.0nb1)
・suse100_libpng(suse_libpng-10.0nb2)
・suse100_gtk2(suse_gtk2-10.0nb2)
・suse100_libcups(suse_libcups-10.0nb1)
・suse100_openssl(suse_openssl-10.0nb2)
・suse100_libcups(suse_libcups-10.0nb1)
この時点のAdobe Readerは日本語フォントへの対応が不完全になっています(pdfファイル中の日本語本文が表示不可)。
そこで次の操作で日本語フォントをインストールします。
# cd /usr/pkgsrc/fonts/acroread7-jpnfont
# make clean install
Adobe Reader 7付属のReader.pdfを表示してみました。
(2)Linux版FirefoxとFlashプラグインの導入
Linux版Firefox(firefox-binパッケージ)はFlashプラグインの導入で自動インストールされます。
ちなみにLinux版Firefoxのプログラムファイル名はfirefox-linuxです。
# vi /etc/mk.conf
以下の1行を追加します(Flashのライセンス同意指定です)。
ACCEPTABLE_LICENSES+=flash-license
# export ALLOW_VULNERABLE_PACKAGES=yes
# cd /usr/pkgsrc/www/firefox-bin-flash
# make MOZILLA_USE_LINUX=YES install
Linux版Firefox(firefox-linux)を起動してFlashサンプルサイトを表示してみました。
(3)Adobe Readerプラグインの導入
# export ALLOW_VULNERABLE_PACKAGES=yes
# cd /usr/pkgsrc/www/firefox-bin-acroread7
# make install
Linux版Firefox(firefox-linux)を起動してWebで公開されているpdfファイルを表示してみました。
(4)JDK/JREとJavaプラグインの導入
JDKとJREのファイルはmake installではダウンロードできません。
このためまずhttp://java.sun.com/products/archive/j2se/5.0_09/index.htmlから以下のファイルをダウンロードします。
Javaプラグインの導入ではJDKとJREの両方が揃っていなければならないようです。
・jdk-1_5_0_09-linux-i586.bin
・jre-1_5_0_09-linux-i586.bin
ダウンロードした上記ファイルは/usr/pkgsrc/distfilesに格納しておきます。
# vi /etc/mk.conf
以下の1行を追加します(Javaのライセンス同意指定です)。
ACCEPTABLE_LICENSES+=jdk13-license
# export ALLOW_VULNERABLE_PACKAGES=yes
# cd /usr/pkgsrc/lang/sun-jdk15
# make install
# cd /usr/pkgsrc/www/firefox-bin-java
# make install
# vi /etc/fstab
以下の1行を追加します。
procfs /emul/linux/proc procfs rw,linux
# vi ~/.profile
ulimit -d 262144
※「ulimit -d 262144」(単位:KB)はシェルが/bin/shの場合のデータサイズの指定方法です。
デフォルトのデータサイズ(131072)ではfirefox-linuxでのJavaVMの起動が失敗します(Could not reserve enough space for object heap)。
# reboot
Linux版Firefox(firefox-linux)を起動してWebで公開されているサンプルJavaアプレットを表示してみました。
Javaプラグインが導入されたfirefox-linuxが起動されていない状態でNetBSDネーティブ対応のfirefoxを起動してもJavaアプレットは表示されません。
(5)firefox-linux起動エラー対策
NetBSD 3.1のfirefox-linux起動時、「Firefox is already running, but is not responding.」 エラーとなることがあります。
その場合は、/usr/pkg/emul/linux/root/.mozilla/firefox/xxxxx.default/lockを削除することで問題解消されます。
※/usr/pkg/emul/linux/root/.mozilla/firefox/xxxxx.default/.parentlockの方ではありません。