Yellow Dog Linux 5.0 (YDL5) をPS3にインストール
前回のブログ投稿に引き続き、今回はYDL5インストールのお題です。YDL5はPS3へのインストールを考慮して構築されているため、PCにLinuxディストリビューションをインストールしたことがある方なら問題なくインストールができます。私が感じたYDL5のメリットは以下です;
- PS3用のカーネルやドライバーモジュールがディストリビューションに組み込まれており、PS3固有デバイスの設定が不要
- GUIベースのインストーラーが付属
- インストール時にインストールパッケージは選べないが、適度なパッケージをデフォルトでインストールしてくれる
インストール作業の概要
インストールの手順はフィックスターズさんのYellow Dog Linux for PS3を参考にしています。インストール用DVD-ROMを作成するためのisoイメージですが、以前はKDDI-LabのFTPサーバーに置いてあったのですが、今チェックするとYDL5のisoイメージはなくなっていました。Googleで海外のミラーサイトを検索したところ、いくらかダウンロードが可能なサイトがありました。その他の入手方法としては、本を買う必用がありますが、インプレスから出ているPLAYSTATION3 Linux完全攻略ガイドにDVD-ROMがついてきます。この本は、フィックスターズさんのwebサイトにある記事を半分くらい流用していますが興味のある方は買っても損はないと思います。
(2005/5/5追記) Fedora Coreをインストールするためには、アドオンCDが必要になりますがYDL5の場合は不要です。
使ってみて
インストール後はgdmが起動してX Windowsも問題なく動作します。PS3でLinuxが普通に動作して、Cell開発環境を導入すればLinux上でCellを使用した並列プログラミングの体験ができることは、私のようなLinuxインストールおたく(インストールまではOKだが、その後の使いこなしが今一歩、、)にとっては画期的な出来事です。
標準でCell SDK 1.1がインストールされますが、最新のCell SDK 2.1をインストールするためにはCell SDK 1.1は削除する必用があります。Cell SDK 2.1のインストールは別途投稿します。
ではLinuxマシンとして実用的かと言うと今一歩と言わざるおえません。インストール前から想定していたのですが、PS3のメインメモリー256MB(OSやアプリケーションが使用できる領域は200MB程度です)がLinuxマシンとしては決定的な制約となります。Firefoxを使ってwebを閲覧する程度ならなんとかなりますが(こちらはXMBのブラウザーより軽快かも)、Eclipse統合開発環境のようなJavaをバリバリ使ったメモリー喰いのアプリケーションではswapの嵐となり使い物になりません。また既に言われていることですが、Cellのスカラー演算(普通のCPUとして使用する演算)性能は、Pentium4やCore2より劣るため全体的に軽快感に欠けます。例えば、パッケージを大量にインストールする際の依存性チェック(diskアクセスはないのでswapは起きていないと思います)の時間が、Pentium4 530 3.0GのMy PCに比べて体感的に2倍程度かかるように思えます。ですので、実用的なLinux環境を構築するならメモリーを1GB積んだPentium4 or Core2搭載PCを用意する方がよいです。
とはいえ、繰り返しになりますが、Cellを使った並列プログラミングの醍醐味はPCでは味わえません。リベンジとして、SPEでのSIMD/並列化を駆使した演算で、少なくともMy PCのPentium4はぶち抜ける性能を出せることを確認してみたいと思っています。
トラブル対策
YDL5のインストールで遭遇した問題点2点の対応策を下記します。
1. SCIMの依存性チェック問題
YDL5に同梱されているSCIM(日本語入力関係のパッケージ)にはlibstdc++との依存性チェックに問題があります。標準で自動的にSCIMがインストールされますが、その後yum updateでパッケージのアップデートを行うと以下のエラーが表示されupdateが止まってしまいます。
Error: Missing Dependency: libstdc++-20060428.so.7(GLIBCXX_4.2) is needed by package scim
Error: Missing Dependency: libstdc++-20060428.so.7(CXXABI_1.4) is needed by package scim
私は、yum updateを一括で行うために(excludeという技があることを知らず)、scimを一旦削除したら今度は上記のエラーでインストールができなくなってしまいました。やっぱり日本語入力が使えないと不便なのでこれは何とかしないといけません。
YDL5のインストールDVDに添付されているのはscim-1.4.4-9.7.fc5.ppc.rpmとなっており、FC5(Ferora Core5)のパッケージをそのまま流用しているようです。FC5のupdateサーバーを調べるとscim-1.4.4-9.8.fc5.ppc.rpmが公開されています。ということで、最新版のscimをダウンロードしてインストールしてみます。
# rpm -ivh scim-1.4.4-9.8.fc5.ppc.rpm
準備中... ########################################### [100%]
1:scim ########################################### [100%]
# rpm -ivh scim-anthy-1.2.2-1.fc5.ppc.rpm
準備中... ########################################### [100%]
1:scim-anthy ########################################### [100%]
今度はうまくいきました。日本語入力の動作も、(数行程度入力しただけですが)問題ないようです。
2. kbootでportmapのtimeout errorが発生する
同一ネットワーク上にnfsが動いている他のLinuxマシンが存在すると、kbootのプロンプトが出る直前に以下のtimeoutメッセージが数回繰り返され起動に時間がかかってしまいます。
portmap: server localhost not responding, timeout
RPC: faild to connect portmap (errno -5)
起動時の問題なので、kboot(ブートローダー)に問題があるようです。PS3用のkbootには、 YDLのサポートサイトで公開されているotheros.bldと、Sony PS3 Linuxのftpサイトで公開されているアドオンCDに添付のものがあります。YDL5のインストールには前者が必用なのですが、インストール後はkbootを後者に入れ替えても問題なく起動できます。kbootを後者に入れ替えると、問題のtimeoutは発生しなくなりました。またkbootのプロンプトが出るまでの時間も、まわりでnfsが動いていない条件で比較して若干短くなったように思えます。
3. 追記(2007/5/5)
yumの設定で注意点があることが分かりました。PS3用にビルドされたkernelなどPS3専用パッケージがyum updateで更新されないように、/etc/yum.confに以下の設定を追加しました。
exclude=kernel-*, glibc-kernheaders-*, kernel-headers-*, kexec-tools-*, spu-*
« Fedora Core 6 (FC6) をPS3にインストール | トップページ | YDL5にCell SDK 2.1をインストール »
「Linux」カテゴリの記事
- Ubuntu 10.04をVMware Player 3.1で動かす(2010.07.11)
- Fedora 11にCellクロス開発環境(SDK 3.1)をインストール(2009.09.18)
- Fedora 9でのサウンド設定(2008.12.23)
- Cell SDK 3.1のインストール(2008.11.23)
- Cell SDK 3.0のアップデート(2008.06.01)
コメント
この記事へのコメントは終了しました。
« Fedora Core 6 (FC6) をPS3にインストール | トップページ | YDL5にCell SDK 2.1をインストール »
私もYDL5を本から入手して使っています。
この間パッケージマネージャーでYDL5を更新したら、画面がバグを起こしてしまい、何とかログアウト出来て次回立ち上げたらYDL5の方の選択が消えていてもうひとつのGNOMEの方が前のバージョンよりインターフェースが良くなっていた事があるのですがそれと関係があるのでしょうね。
正直Fedora Core6をインストールしたい所ですがDVDに記録出来る環境にいないので書籍の付録で登場するのを待っている状態ですね、
こんな便利なブログを今まで気付かなかったので今度から訪問したいと思うので頑張って下さい。
投稿: 竹の太郎 | 2007年12月31日 (月) 09時49分