PS3 Linux」カテゴリーアーカイブ

Playstation3 動作確認製品

こんなページを発見しました
BUFFALO PLAYSTATION3 動作確認サプライ関連製品一覧

ストレージのカテゴリではきちんと本体 HDD の「バックアップ/リストア」の
動作確認が行われています。

以前こちらの「PS3 の HDD バックアップ方法の実験」で
大容量 HDD へのバックアップ実験を行いました。
よく調べてみると、市販されている HDD は大容量のものでも最初から FAT32 で
フォーマットされているようです。~32G まで、というのは全く心配ないみたいですね。

他にも
Logitec PLAYSTATION3 接続確認情報
ELECOM PLAYSTATION3動作確認一覧
HORI PLAYSTATION3対応についてのご案内

PS3 Live CD をメモリカードから起動する

LiveCD の作成&テストの前準備として、PS3 用の Debian Live CD をメモリカード
から起動してみました。
ADDON CD の HowToEnableYourDistro.html の kboot の説明によると

 1. /etc/kboot.conf がある CD/DVD
 2. ボリュームラベルが BOOTMC のメモリカード
 3. ラベルが / の HDD

の順で mount 対象になります。ここの検索で hit した場所から最初の kboot.conf
が読み込まれているようです。

今回はあまっている CF カードでテストしました。

●ボリュームラベルを BOOTMC に設定する

 Windows 側のドライブのプロパティやフォーマット時にボリューム名を BOOTMC に
 しても、コマンドラインの label コマンドを使っても、Linux 側からはどうも

  # /sbin/findfs LABEL=BOOTMC

 で見つかりません。なぜか書き換え前のラベル名が見えてしまいます。
 いろいろ調べてみたところ、FAT のボリュームラベルは2種類あるようです。

  (1) ブートセクタに書き込まれるボリュームラベル
  (2) ルートディレクトリエントリに書き込まれるボリュームラベル

 (1) についてはこちら http://triaez.kaisei.org/~s-zouda/pc/fat32.html
 のページを参考にさせていただきました。Linux の dd コマンドで直接ダンプ
 してみると確認できます。

 (2) はルートディレクトリに属性 0x08 でファイル名の一種として書き込まれる
 エントリです。

 両方存在する場合 Windows 側では (2) が優先され、label コマンドの書き換えも
 こちらに対して行われます。(2) が存在しない場合 dir コマンドでは空欄に
 なりますが「ディスクの管理」画面では (2) の代わりに (1) が表示されます。

 Linux 側の findfs では、(2) を識別することができずに常に (1) を参照して
 いるようです。

 Windows 上で (1) を編集する方法がわからなかったので、とりあえず
 HowToEnableYourDistro.html の説明通りに Linux 上でフォーマットしてみました。

 メモリカードが /dev/sde の場合

  # /sbin/mkfs.vfat -n BOOTMC /dev/sde1

 この方法で書き込んだラベルはきちんと (1) に書き込まれており Linux 上から
 検索できました。逆に (2) には書き込まれないので Windows 上からはボリューム
 ラベルがないように見えます。

●Live CD をコピーしてみる

 ボリュームラベルを BOOTMC に設定したら、とりあえず Live CD の中身をコピー
 してみます。

 Debian Live CD を Windows 上で開いて、中のファイルを全部メモリカード上に
 コピーします。220M ほどあります。

 中はこんな感じ

  DIR install
  DIR isolinux
    md5sum.txt
  DIR casper
  DIR etc

● etc/kboot.conf の書き換え

 コピーしたメモリカード上の etc/kboot.conf の中身を書き換えます。
 テキストエディタで開いて、root= の行を以下のように変更します。

root=/dev/sdc0

 ↓

root=LABEL=BOOTMC

●起動

 これで LiveCD と同じ方法でメモリカードから起動できるようになります。
 メモリカードを PS3 に挿入して起動します。(あらかじめ kboot 導入は必要)

 kboot: プロンプトでは Live CD と同じように
 こちら http://www.keshi.org/moin/moin.cgi/PS3/Debian/Live
 のリストにある Label を入力することができます。

 Debian Live CD については
 こちら PS3 Linux Debianの Live CD が来た! も参考にしてください。

PS3 から Windows を操作する

フルインストールした PS3 の Fedora Core 5 には、ターミナルサーバクライアント
も最初から入っています。これを使って 同じ LAN 上の Windows PC にログイン
してみます。

●リモートデスクトップ(rdesktop)

WindowsXP Professional 以上 (または Server 系 Windows) が必要です。
残念ながら XP の Home Edition にはつなぐことができません。

・WindowsXP 側の設定
  ・コントロールパネル→システムを開く
  ・「リモート」のタブの
     「このコンピュータにユーザーがリモートで接続することを許可する」
   にチェックを入れる

・PS3 側
  ・メニューの
   「アプリケーション」→「インターネット」→「ターミナルサーバクライアント」
   を実行する。

  ・コンピュータ名:  に WindowsPC の名前か IP アドレスを入れる
  ・プロトコル:  は RDPv5 を選ぶ

  ・[接続] を押す。つながったら Windows の画面が出るのでログインする。

デフォルトだと 256色モードになってしまうので、
「画面」タブ→「色」の “指定した色震度を指定する”、で 6万色 や フルカラー の
選択ができます。

720p なのでリモートデスクトップが 800×600 になってしまってます。
画面が狭いけど動作は意外にきびきびとして結構使えます。

音は出ないものの Gyao も見れました。
Vista には接続できませんでした。
rdesktop

● VNC

VNC を使って Windows にログインするには、Windows 版の VNC server が必要です。
RealVNC vnc-4_1_2-x86_win32.exe
こちらは XP Professional でなくても動作します。
入れると Windows Defender に怒られました。
通信路のリスクを承知して使うということで許可しました。

・Windows 側
  「スタートメニュー」→「VNC Server 4 (User-Mode)」→「Run VNC Server」
  タスクトレイにVNCアイコンが入ったら右ボタンから Options
  「VNC Server Properities (User-Mode)」 の Authentication タブの
  ”VNC Password Authentication” を選択して [Configure]
  パスワードを登録したら [OK]

・PS3 側
  ・ターミナルサーバクライアントを起動して、今度はプロトコルを VNC にする
  ・[接続] を押すとパスワードを聞かれるので入力

こちらは Vista につないでます。VNC はデスクトップをイメージで送信している
らしく、Vista の AeroGlass もきちんと描画されています。
その分描画の更新が重くなってます。

さらに VNC 自体は Linux 側でサーバーを動かして PC 側で操作することもできます。
もっといろんな面白いことができるようです。

不要になったら必ず VNC Server は停止しておいてください。

●使い道

使い道はありそうです。rdesktop はレスポンスも良く、Windows 同士でつないだ
リモートデスクトップとほとんど変わらない印象でした。

例えば、リビングに置いた PS3 を HDMI のフルHDでつないでおいて、別の部屋の
PC 内の写真を大画面で見たいとか・・・これだとデジカメを直接 USB で PS3 に
つないでも同じことができそうです。
PC 上のムービーなら Xbox360 でできますね。

むしろ職場など、会議室の大画面TVに D端子 か HDMI しかない状況で、PS3 経由で
パワーポイントを開くなんてのは十分ありかもしれません。

PS3 Linux のちょっと残念な点

●本体 HDD を一度フォーマット(パーティション分割)しないと Linux の起動ができないこと
 (2007/01/13。システムソフトウエアバージョン v1.32 現在)

  本体のフォーマットユーティリティで他のシステム用領域を作らないと
  「他のシステムのインストール」の実行ができない。

  本体のフォーマットユーティリティで他のシステム用領域を作らないと
  「優先起動システム」の選択ができない。(メニューに出てこない)

 「他のシステムのインストール」で書き込まれるブートローダー自体は、
 HDD ではなくフラッシュメモリに書き込まれます。また本体 HDD に Linux を
 インストールしなくても、CD/DVD-ROM や外付け HDD からでも Linux 自体の
 起動ができます。

 なので原理的には内蔵 HDD に Linux 領域が無くても十分ブートできそうな
 気がします。将来のファームアップでは、パーティション分割必須という上記の
 制限をなくしてもらえると非常に活用方法が広がります。

 ちなみに、
  1. パーティション分割(その他のシステム用領域作成)
  2. 他のシステムのインストール
  3. kboot の起動を確認
  4. フォーマットして「すべてPS3に割り当て」

 とした場合も、結局「優先起動システム」の変更ができないので Linux の起動が
 できなくなります。

 その後
  5. もう一度フォーマットしてパーティション分割
  6. 優先起動システムを「その他のシステム」に変更

 とすると、きちんとさっきと同じ kboot が起動します。
 このことから HDD をフォーマットしても一度書き込まれたブートローダー部分
 には影響が無いことがわかります。

●本体 HDD のパーティション分割方法が 1種類しかないこと

 現状では 10GB とそれ以外、の分割しかできないようです。60GB モデルを 30:30
 に分けることもできないし、20GB モデルで Linux 側をもっと減らしたくても
 できないのが残念。もし可能なら改善して欲しい点です。

●画面モード設定

 XMB (PS3,GAME-OS) 上で設定した画面モードなどの設定は Linux 側に引き継がれ
 ないので、Linux 側の起動やインストール画面は、表示可能で安全な最低の
 解像度(480i)が選択されてしまいます。
 今後の解析やファームアップデートによってはもしかしたらできるようになるの
 かもしれないです。

PS3 Linux 20GBモデルを使うときの注意点など

「PS3 の 60GB モデルと 20GB モデルで、Linux を使うときに違いがあるのかどうか」
今までずっと 60GB 版の PS3 だけ使って Linux install の実験をしてきました。
20GB 版も手に入れたのでちょっと調べてみました。

● デバイス名の違い

  ・60GB 版のデバイス (Fedora Core 5 起動時のもの)

   /dev/sda  内蔵HDD
   /dev/sdb  ブート用フラッシュメモリ
   /dev/sdc  内蔵カードリーダー MS
   /dev/sdd  内蔵カードリーダー SD
   /dev/sde  内蔵カードリーダー CF
   /dev/sdf  USBポートにさしたUSBメモリ・HDD等 1
   /dev/sdg  USBポートにさしたUSBメモリ・HDD等 2
    :

  ・20GB 版のデバイス (Fedora Core 5 起動時のもの)

   /dev/sda  内蔵HDD
   /dev/sdb  ブート用フラッシュメモリ
   /dev/sdc  USBポートにさしたUSBメモリ・HDD等 1
   /dev/sdd  USBポートにさしたUSBメモリ・HDD等 2
    :

 内蔵カードリーダーの分だけデバイス名がずれてます。

 この blog ではずっと外付け HDD が /dev/sdf として説明を書いてきましたが
 20GB 版では /dev/sdc になるようです。ご注意ください。

 kboot.conf や fstab も、デバイス名でなくちゃんと LABEL 指定で書いた方が
 良かったのかもしれません。

 内蔵無線LAN はまだ使えないみたいなので、上記デバイス名と HDD 容量以外に
 両者の違いはたぶん無いと思います。

● 20GB 版で本体 HDD に Fedora Core 5 が install できない

 これも 20GB 版を手に入れてみてはじめてわかったのですが、Linux への割り当て
 を最小にすると FC5 の install ができないようです。

 本体 HDD のフォーマットで「PS3に10GB割り当て」を行うと、その他のシステム側
 (Linux 側)が約 6GB になります。

 この状態で Fedora Core 5 のインストーラ( install-fc sda )を実行しても
 「Too small disk size to install Linux」と表示されてインストールできません。
 容量的には minimum を選べば大丈夫なはずなんだけど、インストーラの
 チェックの手抜きかもしれません。

 その他のシステムに 10GB 割り当てる設定だと大丈夫です。

 ちなみにこの状態で、外付け USB HDD ( 20GB モデルだと /dev/sdc ) には
 FC5 をインストールできました。

● パーティションが 6GB でも Linux インストールができるかどうか

 本体 HDD のフォーマットで「PS3に10GB割り当て」を行うとその他のシステム側
 容量がおよそ 6GB になります。この状態で Linux がインストールできるか
 試しました。

 ・Debian
   Debian Live CD から install してみました。インストールできました。
   ただし、途中のパッケージ選択画面で「デスクトップ環境」が出てきません。
   ウィンドウ無しになってしまうようです。
   (それでも gdm が起動しようとして最初エラーになりますが問題ないです)
   最小 install で 2.3G くらい。

 ・内蔵HDDは未使用のままにする
   内蔵 HDD を使わずに、外付けの USB HDD にインストールできました。
   FC5 で試しましたがたぶん Debian も ok でしょう。
   本体 HDD を swap にするのもいいかもしれません。