ページ

2009年3月8日日曜日

Pandoraのファームウェア

これはいつもよりいい加減な考察なので、鵜呑みにしないで下さい。あくまで素人が適当に考えた結果です。技術的に私の理解の範疇を越えていますので。この前PXMLとlibpndというのについて書きました。それと関係がある話なのですが、どうやらPandoraのファームウェア構成も野心的なモノになりそうです。

まず、Pandoraにおける「ファームウェア」ですが、これはLinuxカーネル、諸々のドライバー、LinuxOS(デフォルトではAngstrom準拠)、必須ライブラリー(SDL等)、必須ソフトウェア(MatchboxやFirefox等?)になるのではないかと私は思っています。これらがインストールされる場所は勿論NANDですね。ただNANDは512MBしかない上に、アップグレード等の処理に幾分空き領域が必要になるらしいので、実際に使えるスペースは512MBより少なくなりそうです。そこでいくつか疑問点が出てきます。例えば「ユーザーがNANDに別のアプリケーションやライブラリーを自由にインストール出来るの? 」とか。答えはYESでありNO。基本的には何の制約もなく自由にインストールする事が出来るようです。

アプリの追加どころか、OSそのものを別のモノに入れ替えることも可能です。ただ、上にも書いた通り、NANDの領域は限定されており、ユーザーが不用意にアプリ等をインストールしてしまうと、開発チームが想定している空き容量を圧迫してしまい、後々のファームウェアのアップグレードが不可能になってしまう可能性が出てきてしまいます。ですので、通常はNANDへの追加インストールは禁止にしたいようです。

ただ日本語環境で使いたい場合は、どうしてもデフォルトの環境にいろいろ追加(IMや仮名漢字変換、日本語フォント等)しないといけませんからね。ある程度はユーザーが自由に出来る領域を開けてくれるかもしれません。まだ何とも言えませんけど。まぁ基本的にはNANDは禁止で、PXML形式のアプリをSDカードにインストールする形になると思います。

またNANDの使い方ですが、なかなかおもしろい事になりそうです。どうやらNAND領域を「firmware」部分と「user homedir」部分に分割して収納するみたいです。それを実現させる為にUnionFS、あるいはAUFSというファイルシステムを使用するみたいです。はっきりいって、私には理解できるレベルを越えてしまっていますが調べて見たところ、どうやら、KNOPPIX等で使用されている技術らしいですね。以下ウィキペディアから抜粋。
KNOPPIX では、CD-ROM や DVD 上のファイルシステムと、(USB メモリスティックのような)書き込み可能なドライブ上の knoppix.img と呼ばれるイメージファイルを含むファイルシステム間の結合を作ることができ、そこでは書き込み可能なドライブは読み込み専用ドライブよりも優先される。これにより、新しいファイルをイメージに保存し、CD 上のファイル代わりに透過的に使って、ユーザがシステム上のどのファイルも変えることができるようになる。
分割したファイルシステムを結合して、1つのファイルシステムとして扱うことが出来るって事なんですかね。何となく理解(苦笑)。深入りは止めときます。ボロが出ますから。ついでに開発者の方のコメントも引用。
The nitty gritty ideas we had were to divide NAND up into a couple regions; a firmware chunk and a user homedir chunk. The trick is we could use unionfs (or aufs, a newer union-fs style system). We'd make te union setup so that writes to the firmware filesystem are actually written to the user section in your homedir somewhere, an the unionfs proprerties make it so the system doesn't see this. ie: You write to /usr/foo and it ends up in your homedir in NAND, but reading /usr/foo works still. This way if you overwrite stuff in the firmware and blow it up, you just wipe your homedir and reboot, and bam, you're back to a fully working stock firmware. For OS patches we can mount the real NAND fs instead of the union, update the filesystem, remount he union, and poof. Seems brilliant to me, and allows normal packagers to just work, reasonably risk free.
オリジナルのファームウェア環境を汚さないで、ユーザーファイルもNANDに収納するって事なのかな? 何かあってもすぐにデフォルトの状態へ戻すことが出来るって感じで。違うかも。

.pndファイルについても説明されてます。こちらもFUSEという技術を使うみたいです。.pndファイルをISOファイルとしてマウントするって事なのかな? 難しすぎて私には理解出来ませんが。とにかく環境を汚さずに使用出来るって事なのでしょうか? ふぅもう少しちゃんと読まないとわからないな。誰か説明お願いします。

#外部リンク
UnionFS - Wikipedia
http://ja.wikipedia.org/wiki/UnionFS

Aufs - Wikipedia
http://ja.wikipedia.org/wiki/Aufs

Filesystem in Userspace - Wikipedia
http://ja.wikipedia.org/wiki/Filesystem_in_Userspace

0 件のコメント:

コメントを投稿