こちらのページを参考にして、Playstation3 に Ubuntu をインストールしてみました。
http://www.louiscandell.com/ps3/
http://ubuntuforums.org/showthread.php?t=316047
とりあえず別の OS からでもインストール先 HDD にアクセスできる状態になって
いれば、基本的に debootstrap してカーネルをコピーするだけのようです。


●やることの整理

・すでに本体 HDD (/dev/sda) に FC5 が install 済みの状態を前提にしています。
・USB の外付け HDD に Ubuntu を install します。


●install するパーティションの作成と準備

今回は外付け HDD のうち2つめのパーティションに install します。
なので以下 /dev/sdf2 として説明しています。
1つ目のパーティションなら /dev/sdf1 になるし、20GB モデルなら /dev/sdc1 と
なります。


 # fdisk /dev/sdf

fdisk でよく使うコマンド
 ・p 現在の状態の確認
 ・d パーティション削除
 ・n 新規パーティション追加
 ・t パーティションのタイプ設定、デフォルトだと Linux 用になる
 ・q 中断終了。設定を反映しないで fdisk 実行前の状態に戻ります。
 ・w 書き込み終了。設定変更を書き込んで終了します。元に戻りません。

これで /dev/sdf2 を確保しました。
ext3 でフォーマットします。

 # /sbin/mkfs.ext3 /dev/sdf2

ボリュームラベルを /5 にしておきます。(本当は mkfs.ext3 -L で一緒に登録できる)

 # /sbin/e2label /dev/sdf2 /5

swap は sda の既存のものを流用するので今回は作成しませんが、もし作成するなら
こんな感じです。

 # /sbin/mkswap -L SWAP2 /dev/sdf?


●debootstrap コマンドの準備

ここは参考ページの手順そのままです。FC5 に debootstrap というコマンドを
インストールしています。

 # cd /tmp
 # wget http://louiscandell.com/ps3/debootstrap/debootstrap_0.3.3.0ubuntu7_all.deb
 # ar -xf debootstrap_0.3.30ubuntu7_all.deb
 # cd /
 # zcat < /tmp/data.tar.gz | tar xv


●debootstrap コマンドの実行

install 先を mount します。

 # mkdir /mnt/ubuntu
 # mount /dev/sdf2 /mnt/ubuntu

debootstrap を実行します。
内部で呼び出すコマンドのために、先に PATH の追加が必要です。

 # export PATH="$PATH:/sbin:/usr/sbin"
 # debootstrap --arch powerpc edgy /mnt/ubuntu http://archive.ubuntulinux.org/ubuntu

しばらく待ちます。


●カーネルのコピー

FC5 のイメージをそのまま使います。

 # cd /mnt/ubuntu/boot
 # cp /boot/* .
 # cd /mnt/ubuntu/lib
 # cp -r /lib/modules .


●fstab の作成

これも FC5 の設定をそのまま流用します。

 # cp /etc/fstab /mnt/ubuntu/etc/
 # vi /mnt/ubuntu/etc/fstab


LABEL=/5 / ext3 defaults 1 1
/dev/devpts /dev/pts devpts gid=5,mode=620 0 0
/dev/shm /dev/shm tmpfs defaults 0 0
none /spu spufs defaults 0 0
/dev/proc /proc proc defaults 0 0
/dev/sys /sys sysfs defaults 0 0
LABEL=SWAP swap swap defaults 0 0
/dev/cdrom /mnt/cdrom auto noauto 0 0


1行目の「LABEL=/」を「LABEL=/5」に変更するだけです。FC5 用の swap 領域に
SWAP というラベルがついてるので swap はそのまま使います。


● hosts の作成

FC5 のものをコピーするだけです。

 # cp /etc/hosts /mnt/ubuntu/etc/


● kboot.conf の作成

今までの sda1 の kboot.conf に追加します。

 # vi /etc/kboot.conf


~省略、以下追加分だけ (PS3 Linux の現在の設定メモ)


# Ubuntu (sdf2) LABEL=/5
ubuntu='/dev/sdf2:/boot/vmlinux-2.6.16 initrd=/dev/sdf2:/boot/initrd.img root=LABEL=/5'
ubuntu480i="$ubuntu video=ps3fb:mode:1"
ubuntu480if="$ubuntu video=ps3fb:mode:129"
ubuntu720p="$ubuntu video=ps3fb:mode:3"
ubuntu720pf="$ubuntu video=ps3fb:mode:131"
ubuntu1080i="$ubuntu video=ps3fb:mode:4"
ubuntu1080p="$ubuntu video=ps3fb:mode:5"
ubuntu1080pf="$ubuntu video=ps3fb:mode:133"



これで起動時に kboot: で ubuntu と入力できるようになります。


●起動

再起動して kboot: のプロンプトが出たら ubuntu (または ubuntu720p 等) と
入力して起動してみます。(起動中になぜか console のフォントが変わる)

login: プロンプト と init メッセージが重なって起動失敗に見えることがあるので、
画面がとまったらとりあえず [Enter] 。
login: が出たら root で入ります。パスワードが無いので先に設定しておきます。

 # passwd

dhclient でネットにつないで apt-get のテストです。

 # ifconfig lo up
 # dhclient
 # apt-get update

うまくいったら後はパッケージを install したり環境設定などを行います。


●設定など

ssh を入れておきます。これで PC 経由で設定できるようになります。

 # apt-get install openssh-server

desktop 環境の install。かなり時間がかかります。

 # apt-get install ubuntu-desktop

なぜかエラー終了しました。それでも一応 xorg.conf を書き換えます。

 # vi /etc/X11/xorg.conf

最初から Driver は fbdev だったので、変更は2箇所だけでした。

・Sction "Screen" に追加

  DefaultFbBpp 32

・Section "Device" に追加

  Driver "fbdev"
  Option "ShadowFB" "false"


root だと gdm に怒られるので一般ユーザーを追加します。
(ここでは名前を wheel としています)

 # adduser wheel

sudoers にも追加します。「wheel ALL=(ALL) ALL」を追加

 # visudo

gdm を起動します。

 # /etc/init.d/gdm start



ログインできました。設定ツールなど起動できずにおかしなところがあるので、
まだまだ設定が必要なようです。
やっと何とか動いた、といった程度です。