PlayStation BB Navigatorを調べる

0.10ってほんと何も機能無いね。
0.20でだいぶまともになってきた感じはする。
PS2Linuxの立場から見たBB Naviを見てみよう。

2002.06.01 初稿
2002.09.28 BB Navi 0.20情報追加
2002.10.02 ゲーム体験版DL情報追加
2002.10.05 BB Naviの__linux.Xの中身情報追加
2002.10.06 失敗した実験とか成功した実験とか
2002.10.09 体験版パーティション実はマウントできた。あと失敗した実験とか成功した実験とか更新
2003.01.01 __contentsパーティションは新しいps2fs.oなら中身見れた。あと実験とか更新
2003.06.06 BB Navi 0.30情報追加
2003.06.08 BB Navi 0.30情報追加
2003.06.14 BB Naviのカーネルソース発見

・BB Navi 0.10のCDは2枚組で、2枚目にsource.tgzという形でGPL系のもののソースが固まっている。
・BB Navi 0.20のDVDは1枚組みで、source.tgzという形で以下同文。
・それ以外のファイルは数百MBの巨大ファイルになっていて中を見れない。
・PS2Linuxとはパーティション判定とかが違うので見れないし、普通ではマウントできない。
ちなみにパーティションはこんなんなります。

BB Navigator 0.10
# ps2fdisk /dev/hda

Command (m for help): x

Expert command (m for help): p

Disk /dev/hda: 38144MB total / 16640MB free

No. Start        Size Num    Total Type Id
  0 00000000    128MB   0    128MB    1 [__mbr                           ]
  1 00040000    128MB   0    128MB  100 [__net                           ]
  2 00080000    256MB   0    256MB  100 [__system                        ]
  3 00100000    512MB   0    512MB  100 [__sysconf                       ]
  4 00200000   1024MB   0   1024MB  100 [__common                        ]
  5 00400000   1024MB   4   5120MB  100 [__contents                      ]
  6 00600000   1024MB   1               (00400000)
  7 00800000   1024MB   2               (00400000)
  8 00A00000   1024MB   3               (00400000)
  9 00C00000   1024MB   4               (00400000)
 10 00E00000    512MB   0    512MB   88 [__linux.4                       ]
 11 00F00000    512MB   0    512MB   88 [__linux.5                       ]
 12 01000000    128MB   0    128MB   88 [__linux.6                       ]
 13 01040000    128MB   0    128MB   82 [__linux.2                       ]
 14 01080000    128MB   0    128MB   83 [__linux.3                       ]
 15 010C0000    128MB   0    128MB   82 [linux 2                         ]
 16 01100000    512MB   0    512MB   88 [__linux.1                       ]
 17 01200000   1024MB   1   2048MB   83 [linux 1                         ]
 18 01400000   1024MB   1               (01200000)
 19 01600000   1024MB   9  10240MB   83 [linux 3                         ]
 20 01800000   1024MB   1               (01600000)
 21 01A00000   1024MB   2               (01600000)
 22 01C00000   1024MB   3               (01600000)
 23 01E00000   1024MB   4               (01600000)
 24 02000000   1024MB   5               (01600000)
 25 02200000   1024MB   6               (01600000)
 26 02400000   1024MB   7               (01600000)
 27 02600000   1024MB   8               (01600000)
 28 02800000   1024MB   9               (01600000)

Expert command (m for help): q
アンドリュー氏のページにあるPS2ブラウザデータFSモジュールを使うと一部はマウントできます。
・HDDの中にアイコンらしいファイルがあったので、取り出してメモカに書いてみた。
普通にメモカにコピーしてもこうは行かないけど、とりあえずちょちょっといろいろ弄った環境からコピーしたってことで。
将来このアイコンがどっかで登場すると思われる。
0.20でもファイルはあるけど登場せず。デザインも手抜きだし、ただのゴミっぽい?
BWLINUXシステムvideo
textothersimage
audiohtml
どこまで明かして良いのかよくわからないので、この辺で打ち止めかな。
・bnux_ver_001-001-004


上の環境に 0.20 を上書きしたらこんな感じ

BB Navigator 0.20
# ps2fdisk /dev/hda

Command (m for help): x

Expert command (m for help): p

Disk /dev/hda: 38144MB total / 11264MB free

No. Start        Size Num    Total Type Id
  0 00000000    128MB   0    128MB    1 [__mbr                           ]
  1 00040000    128MB   0    128MB  100 [__net                           ]
  2 00080000    256MB   0    256MB  100 [__system                        ]
  3 00100000    512MB   0    512MB  100 [__sysconf                       ]
  4 00200000   1024MB   0   1024MB  100 [__common                        ]
  5 00400000   1024MB   4   5120MB  100 [__contents                      ]
  6 00600000   1024MB   1               (00400000)
  7 00800000   1024MB   2               (00400000)
  8 00A00000   1024MB   3               (00400000)
  9 00C00000   1024MB   4               (00400000)
 10 00E00000    512MB   0    512MB   88 [__linux.4                       ]
 11 00F00000    512MB   0    512MB   88 [__linux.5                       ]
 12 01000000    128MB   0    128MB   88 [__linux.6                       ]
 13 01040000    128MB   0    128MB   82 [__linux.2                       ]
 14 01080000    128MB   0    128MB   83 [__linux.3                       ]
 15 010C0000    128MB   0    128MB   82 [linux 2                         ]
 16 01100000    256MB   0    256MB   88 [__linux.7                       ]
 17 01180000    256MB   0               <__empty                         >
 18 01200000   1024MB   1   2048MB   83 [linux 1                         ]
 19 01400000   1024MB   1               (01200000)
 20 01600000   1024MB   9  10240MB   83 [linux 3                         ]
 21 01800000   1024MB   1               (01600000)
 22 01A00000   1024MB   2               (01600000)
 23 01C00000   1024MB   3               (01600000)
 24 01E00000   1024MB   4               (01600000)
 25 02000000   1024MB   5               (01600000)
 26 02200000   1024MB   6               (01600000)
 27 02400000   1024MB   7               (01600000)
 28 02600000   1024MB   8               (01600000)
 29 02800000   1024MB   9               (01600000)
 30 02A00000    512MB   0    512MB   88 [__linux.1                       ]
 31 02B00000    512MB   0               <__empty                         >
 32 02C00000   1024MB   4   5120MB   88 [__linux.8                       ]
 33 02E00000   1024MB   1               (02C00000)
 34 03000000   1024MB   2               (02C00000)
 35 03200000   1024MB   3               (02C00000)
 36 03400000   1024MB   4               (02C00000)

Expert command (m for help): q
必要に応じて作成される領域の”音楽データ”というのが __linux.8 だと思う。
メモカのセーブデータは __common に入っていて、ps2fs使って普通にメモカフォルダ読めました。
画像・ムービーとかいうのが __contents なんでしょう。
というわけで、あれやこれや足し算するとBB Navi周りで15G程度使うみたいですね。
ちなみにps2fsでは、デジカメ画像・音楽吸出しデータ等は読めませんでした。
//そういえばBB NaviのデジカメってSONY製じゃなくても使えるのね。
//Winで普通にドライブとして使えるUSBストレージなデジカメならいけるのかな。
Type=88 に対応するfsドライバ欲しいなぁ
Type=88はReiserFSで、実はBB Navi 0.10付属のカーネルをちょちょっと直すとマウントできました。あっさり
こちらの方のページにヒントがありました。


10月01日にPSBBのサービスが開始されたのでさっそく体験版ゲーム(ビシバシ3)をDLしてみた。
そうしたらDLしたゲームが自動的にインストールされ、パーティションに変化がありました。

 16 01100000    256MB   0    256MB   88 [__linux.7                       ]
 17 01180000    128MB   0    128MB  100 [PP.SLBB-00001                   ]
 18 011C0000    128MB   0               <__empty                         >
 19 01200000   1024MB   1   2048MB   83 [linux 1                         ]
__emptyだったところの128MB(最小単位)が PP.SLBB-00001 になってます。ここにインストールされたのでしょう。
ps2fsでマウントできました。(以前の記事で、マウントできなかったと書きましたが、間違いでした。)

その他画像やムービーもPSBBで落としてみましたが、これらのファイルは__contentsで参照できました。ムービーは*.psmってなってる。
(以前の記事で、参照できなかったと書きましたが、新しいps2fs.oならOKでした。)
ID=100のファイルシステムはSCEI的にはpfsと呼んでいるらしい。pfs://__contents/contents/video/YYYYMMDDHHMMSS/〜.psm


ところで上記パーティションの中でマウントできなかった __linux.X ですが、カーネルソースをいじるとマウントできました。
その詳細についてはこちらを参照して下さい。(自己責任ということで)

さっそく中身をのぞいてみると。。。(とりあえず1階層だけ。他はご自分でどうぞ)

__linux.1
ルートパーティションです。
drwx------    2 root     root          139 Apr 26 13:00 .gnupg
drwxr-xr-x    2 root     root         1467 Mar 28  2002 bin
drwxr-xr-x    2 root     root           35 Feb 14  2002 bntmp
drwxr-xr-x    2 root     root          244 Aug 29 20:15 boot
drwxr-xr-x    7 root     root        53855 Oct  2 18:20 dev
drwxrwxr-x   19 root     root         2171 Sep 27 22:09 etc
-rw-r--r--    1 root     root            0 Aug 15 18:01 fastboot
drwxr-xr-x    2 root     root           35 Feb  7  1996 home
drwxr-xr-x    4 root     root         2025 Aug 22 12:20 lib
drwxrwxr-x   14 root     root          294 Apr  3  2002 mnt
drwxr-xr-x    2 root     root           35 Feb 14  2002 net
drwxr-xr-x    2 root     root           35 Aug 24  1999 opt
drwxr-xr-x    2 root     root           35 Feb 14  2002 opt0
drwxr-xr-x    2 root     root           35 Apr  1  2002 opt1
drwxr-xr-x    2 root     root           35 Apr  1  2002 opt2
drwxr-xr-x    2 root     root           35 Apr  1  2002 opt3
drwxr-xr-x    2 root     root           35 Apr  1  2002 opt4
-rw-r--r--    1 root     root           62 Feb 14  2002 p2lboot.cnf
drwxr-xr-x    2 root     root           35 Feb 14  2002 proc
drwxr-x---    7 root     root          567 Sep 27 21:58 root
drwxrwxr-x    2 root     root         2617 Aug 29 20:15 sbin
drwxrwxrwx    5 root     root          132 Oct  2 18:20 tmp
drwxr-xr-x   17 root     root          358 Feb 14  2002 usr
drwxr-xr-x   16 root     root          317 Feb 28  2002 var
__linux.2
Type=82からもわかるように、ただのswapです。

__linux.3
カーネルだけ置いてありました。起動時にこのカーネルが使われてます。
drwxr-xr-x    2 root     root        12288 Mar  1  2002 lost+found
-rwxr-xr-x    1 root     root      2523555 Aug 29 17:43 vmlinux
__linux.4
BBの部品とかと、キャッシュのようです。
atokとかPostgreSQLのデータベースとかもありました。
また、画面には登場してませんが、高画質画像(SVGAで700kくらいのjpg)なんかが入ってます。0.10からあったのかな?
ぼくのなつやすみ、どこでもいっしょ、みんなのゴルフ3、ICO、ファンタビジョン、ジャックダクスター、パラッパラッパー2、ピポサル、ポポロクロイス、リモココロン、SKYGUNNER、トロと休日、WILDARMS3とか
drwxr-xr-x   18 root     root          420 Sep 27 22:09 bn
drwxrwxrwt    2 root     root         7910 Oct  2 18:19 cache
__linux.5
ホームとかがあるみたいですな。.sylpheed-ps2/ なんてディレクトリも見えます。
downloadには何も入ってないように見えるな。。。一通りコンテンツ類は落としてみたつもりだけど。
コンテンツとは違う物のようだな。
drwxrwxr-x    2 500      500            35 Mar 10  2002 download
drwxr-xr-x    3 root     root           53 Apr  6  2002 home
drwxrwxr-x    2 500      500            35 Mar 10  2002 share
__linux.6
何もありませんでした。。。。まだ使われてないのか、暗号化されてると見えない仕様とか?

__linux.7
なんか管理ファイルっぽいのがいっぱいある感じ。チェックイン・チェックアウトの管理もこの辺か?
drwxr-xr-x    3 root     root           78 Sep 27 22:13 MusicCh
drwxr-xr-x    3 26       26             56 Aug 15 07:37 database
__linux.8
音楽CD吸い出し領域。
drwxr-xr-x    3 root     root           59 Sep 27 22:23 MusicCh
ディレクトリ掘っていくと、こんなのに行き当たりました。
*.pcmが音楽CDでしょう。データサイズから言って無圧縮っぽい。
-rw-r--r--    1 root     root      2837688 Sep 27 22:29 dummy01.mqt
-rw-r--r--    1 root     root      4891454 Sep 27 22:29 dummy02.mqt
〜略〜
-rw-r--r--    1 root     root      5187806 Sep 27 22:29 dummy17.mqt
-rw-r--r--    1 root     root      2954817 Sep 27 22:29 dummy18.mqt
-rw-r--r--    1 root     root     28376880 Sep 27 22:23 track01.pcm
-rw-r--r--    1 root     root     48914544 Sep 27 22:24 track02.pcm
〜略〜
-rw-r--r--    1 root     root     51878064 Sep 27 22:29 track17.pcm
-rw-r--r--    1 root     root     29548176 Sep 27 22:29 track18.pcm
cat track01.pcm > /dev/dsp じゃダメだった。
無圧縮のベタっぽいけど、この辺弱いので謎。どうやって使うんだろ。暗号化されてるのか?
頭の方NULLが続いてたし、暗号化されてない気もするんだが。


失敗した実験とか成功しちゃった実験とか(良い子は真似しないように!)

__linux.3のカーネルをBB Navi用からPS2Linux用に差し替えたらDVD無しでブートできるかと期待したけどダメだった。
画面にPlaystation2の文字が出た後でHDD停止、昔のPS2ブラウザ画面に戻されました。
そう甘くは無いのね。(別の方法で成功しちゃったけど。)
オリジナルカーネルでもstripしただけで起動しなくなった。CRCとか何らかのチェックが入っているのかね。
コピーしたオリジナルカーネルでは動くので物理的な位置は関係ない。

BB Navi環境にinetd仕掛けてtelnet入れるようにしたら、ちゃんと動作してしまった。(^^;)
rpm(またはバイナリ直)を入れまくれば、PS2LinuxDVD不要なPS2Linux(画面無しのサーバ用途)ができるってことか。
音楽再生したり、(つまらない)BBコンテンツ見ながら、実は裏でApacheとsambaサーバみたいな。

ところで、BBN環境ではPostgreSQLが動いてるので中身をちょっと見れます。
# psql -d bndb -U postgres -c "select * from pg_tables;"
とかね。
まあ見ても結局あまり面白くなかったってことで。

BB Navi自身の中身もいろいろ見れるけど触れるのは危なそうなので止めときます。


BB Navi が0.30にバージョンアップしたので調べてみました。
起動スクリプトが置き換わるので、再度いじくらないと入れないです(^^;)
で、一番驚きなのは、0.30ではカーネルが2.4.17となっています!
ソースほしいなぁ。ディスク版には入っているのか?

Linux bn 2.4.17_mvl21 #1 Thu Apr 17 11:50:30 JST 2003 mips unknown

上の環境に 0.30 を上書きしたらこんな感じ

BB Navigator 0.30
# ps2fdisk /dev/hda

Command (m for help): x

Expert command (m for help): p

Disk /dev/hda: 38144MB total / 7168MB free

No. Start        Size Num    Total Type Id
  0 00000000    128MB   0    128MB    1 [__mbr                           ]
  1 00040000    128MB   0    128MB  100 [__net                           ]
  2 00080000    256MB   0    256MB  100 [__system                        ]
  3 00100000    512MB   0    512MB  100 [__sysconf                       ]
  4 00200000   1024MB   0   1024MB  100 [__common                        ]
  5 00400000   1024MB   4   5120MB  100 [__contents                      ]
  6 00600000   1024MB   1               (00400000)
  7 00800000   1024MB   2               (00400000)
  8 00A00000   1024MB   3               (00400000)
  9 00C00000   1024MB   4               (00400000)
 10 00E00000    512MB   0    512MB   88 [__linux.4                       ]
 11 00F00000    512MB   0    512MB   88 [__linux.5                       ]
 12 01000000    128MB   0    128MB   88 [__linux.6                       ]
 13 01040000    128MB   0    128MB   82 [__linux.2                       ]
 14 01080000    128MB   0               <__empty                         >
 15 010C0000    128MB   0    128MB   82 [linux 2                         ]
 16 01100000    256MB   0    256MB   88 [__linux.7                       ]
 17 01180000    128MB   0    128MB  100 [PP.SLBB-00001                   ]
 18 011C0000    128MB   0               <__empty                         >
 19 01200000   1024MB   1   2048MB   83 [linux 1                         ]
 20 01400000   1024MB   1               (01200000)
 21 01600000   1024MB   9  10240MB   83 [linux 3                         ]
 22 01800000   1024MB   1               (01600000)
 23 01A00000   1024MB   2               (01600000)
 24 01C00000   1024MB   3               (01600000)
 25 01E00000   1024MB   4               (01600000)
 26 02000000   1024MB   5               (01600000)
 27 02200000   1024MB   6               (01600000)
 28 02400000   1024MB   7               (01600000)
 29 02600000   1024MB   8               (01600000)
 30 02800000   1024MB   9               (01600000)
 31 02A00000    512MB   0    512MB   88 [__linux.1                       ]
 32 02B00000    512MB   0               <__empty                         >
 33 02C00000   1024MB   4   5120MB   88 [__linux.8                       ]
 34 02E00000   1024MB   1               (02C00000)
 35 03000000   1024MB   2               (02C00000)
 36 03200000   1024MB   3               (02C00000)
 37 03400000   1024MB   4               (02C00000)
 38 03600000   1024MB   3   4096MB   83 [linux 4                         ]
 39 03800000   1024MB   1               (03600000)
 40 03A00000   1024MB   2               (03600000)
 41 03C00000   1024MB   3               (03600000)

Expert command (m for help): q
__linux.3 が消えました。ext2fsでカーネルが置いてあったのですが使わなくなったようです。
あとSIF=255からSIF=257に上がっていましたがBWLINUX(謎)は同じでした。
あれ、PostgreSQLがいない。

PlayStation BB Navigatorのカーネルソースが公開されています。


戻る