こちらのページを参考にして、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
ログインできました。設定ツールなど起動できずにおかしなところがあるので、
まだまだ設定が必要なようです。
やっと何とか動いた、といった程度です。