PS3 やっぱり Debian 再インストールメモ

Debian Live CD のインストーラが新しくなっているらしいので、
もう一度外付けの HDD に install しなおしてみました。(3度目!)
問題も直ってて良い感じです。

●想定しているインストール前の状態

・本体 HDD にはすでに Fedora Core 5 が入っています。
・USBのアダプタ経由で IDE HDD をつないでそこにインストールします。
・すでに Debian の Live CD (20070110版) が起動することを確認している

Debian Live CD の起動については
PS3 Linux Debianの Live CD が来た!」を参考にしてください。

前に Debian をインストールしたときにメモはこちら
PS3 Linux debian installメモ」です。

●インストール

(1) Debian Live CD (20070110) を挿入した状態で起動します。

kboot: というプロンプトが出たら「 install 」と入力します。

 kboot: install [Enter]

インストール中は画面モードがデフォルト(480i)になります。
TV 画面でもインストール可能です。

(2) 画面のメッセージに従ってインストール

インストーラは全部日本語で表示できるので簡単です。
最初の言語選択で「日本語」を選んでください。

インストーラは カーソルキーや [TAB] で選択します。
カーソルキーだけでは移動できない項目には [TAB] キーを使うので注意です。

 ★設定手順メモ
 ・インストーラの言語  日本語
 ・キーボード  日本(106キー)
 ・ホスト名入力
 ・ドメイン(無し、空欄)
 ・ミラー、日本
 ・アーカイブミラー、デフォルト(一番上)
 ・プロキシ無し、空欄
 ・パーテショナー
   ガイドのディスク全体を使うが簡単
   今回は外付け HDD にインストールするので sda ではなく sdf を選ぶ。
     sda = PS3 内蔵 HDD
     sdf = USB ポートにつないだ HDD

   「NewWorldブートパーティションは見つかりませんでした。~」
   が出たら「いいえ」

   「PowerPC PReP パーティションが見つかりませんでした。~」
   が出たら「いいえ」

 ・rootパスワード入力
 ・ユーザー名入力
 ・ユーザー用パスワード入力
 ・インストールカーネル選択 (1つしかないのでそれを選ぶ)
 ・インストールするソフトコレクションの選択
  今回はこれだけ選んだ (最初からデスクトップを入れてみる)
   * デスクトップ環境
   * ウェブサーバー
   * ファイルサーバー
   * 標準システム
 ・Samba のワークグループ Windowsに合わせる。任意
 ・WINS のための dhcp 設定書き換え はい
 ・X の解像度選択、どうせあとで変えるので適当
 ・インストール完了 再起動

手順を確実にするために、再起動ではなく一度ここで電源を切ります。

●起動の準備

(3) いちど電源切断する

 ・内蔵 HDD にも Linux (FC5等) が入っている場合はパーティションのラベルが
  競合するので初回の起動に失敗します。

 ・また、CD が入ったままだと CD 上の Live 版 Debian が起動してしまいます。

 なのでいったん電源を切って、外付けの USB HDD をはずしておきます。
 また CD も取り出したことを確認してから再び起動してください。

 もし内蔵 HDD にも特に Linux が入っていない場合や、内蔵 HDD そのものに
 Debian をインストールした場合は問題なく起動できますので
 (4)~(6) の手順はスキップしてください。

(4) いったん内蔵 HDD の FC5 を起動する

 外付け HDD を外して、さらに CD もとりだした状態で FC5 を通常起動します。

 ◎もし内蔵 HDD に FC5 等の Linux が入っていない場合はこの手順は
  必要ありませんので (7) に進んでください。

 ◎これは Dual Boot 環境にして、起動時に好きなディストリビューションを
  選択できるようにするための手順です。

   なぜ競合するかというと、内蔵 HDD の /dev/sda1 等にはすでに「/」という
   ラベルがついているのに、Debian をインストールしたパーティションにも
   同じ「/」ラベルがついてしまうからです。

   ※ちなみに YDL のインストーラは、HDD のラベルが競合しないように「/1」
    のように数値を追加してくれます。

   そのため /dev/sda1 の kboot.conf を読み込みつつ、root が /dev/sdf1
   という混乱がおきてしまいます。

 FC5 が起動したら、以後の作業のために root でログインしておきます。

(5) HDD のラベル書き換え

ここで外しておいた USB の HDD を取り付けてください。

認識には時間がかかるので 15 秒以上待ちます。
認識できたらコンソールにシステムのメッセージが出ます。

まず HDD のラベルを書き換えます。
以後 Debian の / が /dev/sdf1 にインストールされていると想定します。

 # /sbin/e2label /dev/sdf1 /2

YDL のインストーラに倣って、ラベルを「/2」に書き換えておきます。

(6) kboot.conf に Debian の起動設定を加える

次に Debian が起動できるように FC5 上で /etc/kboot.conf をこんな感じに
書き換えます。
(変数を使った kboot.conf のラベル設定は Debian Live CD を真似ました)

 # vi /etc/kboot.conf

default=fc5
timeout=30
root=LABEL=/

# fc5 (sda)
fc5=’/dev/sda1:/boot/vmlinux-2.6.16 initrd=/dev/sda1:/boot/initrd.img root=LABEL=/ ‘
fc5480i=”$fc5 video=ps3fb:mode:1″
fc5480if=”$fc5 video=ps3fb:mode:129″
fc5720p=”$fc5 video=ps3fb:mode:3″
fc5720pf=”$fc5 video=ps3fb:mode:131″
fc51080p=”$fc5 video=ps3fb:mode:5″

# debian (sdf)
debian=’/dev/sdf1:/boot/vmlinux initrd=/dev/sdf1:/boot/initrd.img root=LABEL=/2 ‘
debian480i=”$debian video=ps3fb:mode:1″
debian480if=”$debian video=ps3fb:mode:129″
debian720p=”$debian video=ps3fb:mode:3″
debian720pf=”$debian video=ps3fb:mode:131″
debian1080p=”$debian video=ps3fb:mode:5″

これで起動時に何もしなければ内蔵 HDD 上の Fedora Core 5 が起動します。
また、kboot: のコマンド行で次のコマンドを入力することによって好きな
画面モード& Debian の起動ができるようになります。

  fc5     Fedora Core 5 画面モード自動 (480i)
  fc5480i   480i オーバースキャン対応 TV 向け
  fc5480if  480i フルスクリーン
  fc5720p   720p オーバースキャン対応
  fc5720pf  720p フルスクリーン
  fc51080p  1080p

  debian   Debian 画面モード自動 (480i)
  debian480i
  debian480if
  debian720p
  debian720pf
  debian1080p

書き換えたら FC5 は終了して今度こそ Debian を起動します。

 # reboot

再起動後にまた kboot: 画面が現れたら、今度は「 debian 」と入力して下さい。
外付け HDD 側の Debian が起動します。

また、好きな画面モードを指定して「 debain1080p 」のように入力しても構いません。

※もし kboot.conf の書き換えに失敗して、fc5 とか debian と書いても起動し
 なくなったら

  kboot: の画面で直接カーネルを指定して起動できます。なので kboot.conf の
  記述にミスがあっても問題なく起動することができます。安心してください。

  例えば (ちょっと長いけど) こんな感じに書いて実行すれば、内蔵 HDD の
  FC5 が起動するはずです。

   kboot: /boot/vmlinux-2.6.16 initrd=/boot/initrd.img root=LABEL=/ [Enter]

●起動後の設定

(7) Debian 起動と X 設定

前回外付けドライブに install したときは、実は Fedora Core 5 の
パーティションのカーネルとイメージを流用していました。
そうしないと root に mount するドライブが /dev/sdd に割り当てられていて
起動時にエラーで止まってしまっていたからです。

今回の新しいインストーラではきちんと sdf 側のカーネル呼び出しで難なく起動
できました。

なお、せっかく起動したのですが、最初いきなり画面が出ずにエラーになります。

これは、インストール時に「デスクトップ環境」を入れたので gdm が起動
しようとしているのですが、xorg.conf の設定が済んでいないために
呼び出しているドライバが合わないからです。

しばらく待つとエラーが出てコンソールに戻りますが、CTRL + ALT + F1 を押して
直接コンソールに切り替えても良いです。

まず xorg の足りないファイルをインストールします。

 # apt-get update
 # apt-get install xserver-xorg-video-fbdev
 # apt-get install xserver-xorg-input-mouse
 # apt-get install xserver-xorg-input-kbd

次に xorg.conf を書き換えます。
Debian Live CD の X が 720p full 意外でもきちんと動いていたのでそれを
参考にします。

 # cd /etc/X11
 # mv xorg.conf xorg.conf-backup
 # cp xorg.conf-backup xorg.conf
 # vi xorg.conf

 ◎68行目あたり、Section “Device” の中を次のように変更します。

Identifier “Generic Video Card”
Driver “apm”
Option “UseFBDev” “true”

  ↓

Identifier “Generic Video Card”
Driver “fbdev”
Option “ShadowFB” “false”
Option “UseFBDev” “true”

  ・Driver の “apm” を “fbdev” に変更
  ・Option “ShadowFB” “false” を追加

 ◎86行目あたりの Section “Screen” の中に次の行を追加します。

DefaultFbBpp 32

これで X が起動できるようになります。
可能な人は Live CD の /etc/X11/xorg.conf をコピーしてきても OK です。

あらためて gdm を立ち上げます。

 # /etc/init.d/gdm restart

無事デスクトップ環境が使えるようになりました。

「 Option “ShadowFB” “false” 」が無いと、ps3videomode で fullscreen を
選択しないと同期が崩れたような画面になりきちんと表示されません。
これが原因だったんですね。
Fedora Core 6 でも同じような問題があるそうなので、もしかしてこれで直る
のかもしれません。
・「FC6の罠

(8) ps3pf_utils の install

 「PS3 の Debian で ps3ps_util を」では自前で作りましたが、
 何のことは無い、きちんとパッケージが用意されていました。(知らなかった)

 sources.list の先頭に書かれている http://ps3.keshi.org/debian のエントリを
 有効にします。

  # vi /etc/apt/sources.list

 「# deb http://ps3.keshi.org/debian ./」の行の先頭の # を削除する。

  # apt-get update
  # apt-get install ps3pf-utils

 これで ps3videomode や /sbin/boot-game-os が使えるようになります。

●まとめ

 起動時のドライブ認識も正常で、外付けドライブでもきちんと起動するように
 なって sdb もあるし、ps3pf-utils もあるし、さらに完成度が高まった感じが
 します。
 あとは Cell の SDK が欲しいところ。

 Live CD も簡単に作れるみたいなのでいろいろためせますね。
 USB メモリ起動とか。