ページ

2009年3月6日金曜日

PXML&libpnd #02

この前の続き。といいたいところなのですが、まだ何を書こうか決まっていないまま適当に書き始めました。多分タイトル通りの内容にはならないかもしれません。例によって素人の駄文ですので内容的に間違いが多いかもしれません。ネタだと思って下さい。前回はPandoraのパッケージ管理システムが「PXML」と「libpnd」を使用した既存ではない新規のシステムになるらしいという事を書きました。今日はこの続きから。

結論から書きますが、どうやらPandoraのパッケージ管理システムは「2つ」あるらしいのです。1つは先程書いた「PXML」系、そしてもう一つが、前回も書いた「OPKG」。これはAngstromの標準パッケージ管理システムですね。つまりPandoraのファームウェア(ここではNANDに最初から収納されているLinuxカーネルを含んだAngstromベースのソフトウェア群)の管理をOPKGで、NANDではなく、ユーザーがSDカードを使用するコミュニティ配布アプリ(エミュレーターや自家製ゲーム等)の管理をPXML系で別々に管理するという事らしい。

何で2つに分けるのかは前回書いた通り。NANDはNAND、SDカードはSDカードと分けた方が結果的に管理しやすいからですね。例えばSDカードを入れ忘れてブートしてしまったり、あるいは途中でSDカードを入れ替えてしまったりした場合、既存のパッケージ管理システムでは処理が難しいらしい。それとユーザーの負担軽減の意味合いもあります。間違っているかもしれませんが、SDカードのフォーマットをLinux環境に合わせたモノにしないといけなかったり。日頃Linuxを使用している人なら難しくはないでしょうが、Pandoraを使用する人全てがそういった人たちばかりではないですからね。基本的にウィンドウズユーザーでしょうから。

そういった技術的な側面と、もう一つの理由があったりするようです。それはPandoraアプリ(ここではPXML準拠の.pndファイル)の移植性についてです。ご存知の方もいるでしょうがPandoraはオープンハード的な側面も持ち合わせています。オープンハードウェアの定義自体が諸説ありますが、少なくともPandoraのソフトウェア部分に関しては、ほぼ100%に近い状態でオープンになっています。(今のところ、無線LAN/BTデバイスのファームウェア部分と、PowerVR SGXの3Dドライバー、もしかしたらDSP部分辺りはオープンでは無いそうです)

ですのでデフォルトのOS環境であるAngstrom以外のOSを入れる人たちもいたりします。例えばUbuntuとか、既に動き始めているグループとしてGentoo Linuxチームが居たりします。更にはAndroidやMaemo辺りも将来的には有り得ると私は思っています。そうなると、Pandoraの華であるエミュレーターや自作ゲーム等は余計な移植作業を強いられる事になりかねません。

ソースコードが公開されている場合がほどんどなので、それぞれのチームがビルドすれば問題はないのですけど、それじゃ無駄な労力を使うだけですからね。それに基本的にPandoraアプリは一つのアーカイブにて公開される事になっていますから。デフォルトのAngstrom用に合わせてしまうと、他のディストリではそのままでは使用出来ない場合が多いですし。

そこで出てくるのがPXML系の.pndファイル。このファイルをlibpndというライブラリーが管理する事によって、各ディストリ間の互換性を埋めてくれる訳です。要するに、.pndファイル毎に互換性を取るのではなく、libpndで互換性を取ればいいという事です。これで、1つのアーカイブだけで互換性が取れるという訳ですね。無論、各ディストリはlibpndを移植しなくてはなりませんが、基本的にPandoraの各ライブラリー(SDL等)はオープンソースなので移植性は問題ないと思います。長々書きましたが素人の考察なので基本的に穴があるかもしれません。あしからず。

0 件のコメント:

コメントを投稿