PS3のブートに使うpetitbootの解説
Fedoraのパッケージはここからダウンロードしてくる。
ppc版をもらってくる。
ここには Fedora Core 1から6までしかない。
Coreがはずれたのは7以降。
Fedora7以降は
こちら
Fedora 12 をインストール
ここでは Fedora12 をインストールすることを考える。
Fedora12(ppc版)は
ここからもらってくる。
kboot: linux video=480i text noselinux ps3fb=4M
うまくインストールできたと思った。
そして、REBOOTしてみたら、あらら、マウントのところでエラーストップしてしまった。
EXT2-fs: ps3da1: couldn't mount because of unsupported optional features (240).
というエラーでマウントができない。弱った。解決策は。。。
kboot: mount /dev/ps3da1 /mnt/root と試してみることも可能らしい。
もう一度、挑戦してみよう。
こんどは、
kboot: linux64 video=480i text noselinux selinux=0 ps3fb=4M
としてやってみる。
今度も失敗。
どうもファイルシステムがext4というのになったらしく、いままでのkbootだと、
ext4ファイルシステムは認識できないらしい。
非純正であるpetitbootだと認識ができるらしいので、kbootを替えることをしてみよう。
うまくいった。表示を見てるとやはり、EXT4という文字列が見える。Fedora12ではext4ファイルシステムに変わったようだ。
このpetitbootはext4を認識できるし、ネットのシステムも認識できるようだ。
petitbootはこれを使った。
Index of /pub/linux/kernel/people/geoff/cell/ps3-petitbootの
場所から、
ps3-petitboot-09.11.30-cui.bld 01-Dec-2009 01:02 3.2M
ダウンロードしてきたら、ファイル名を変更してotheros.bld と改名する。
そして、USBメモリに /PS3/otheros/otheros.bld となるようにする。
petitbootの使い方(たとえばeキーを押してargsを追加記入できることなど)は
こちら。
petitboot無修正で標準だと、タイムアウトしないから、いつまでたっても自動では進まない。
だけど、
そのときに、"Exit To Shell"を選んで、
ps3-bl-option -O 15
を実行すると、15秒で自動で始まるようにできる。
初期状態ではネットワークが無効になってた。
まずはネット接続できるよにようにしないと。
-
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
ONBOOT=yes
BOOTPROTO=dhcp
の2行を追加。
- /etc/sysconfig/networkも修正し、次のようにホストネームを変える。
[root@localhost sysconfig]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=ps3
- # service network start
- # chkconfig network on
- # ifup eth0
- # useradd kamii でkamiiアカウントを追加
- # passwd kamii でパスワードを設定
- # vi /etc/group でwheelとvideoのグループにそれぞれkamiiを追加
- # vi /etc/sudoers して、%wheel という行を有効にし、kamiiがsudoできるようにする。
- で、最後にリブート(reboot)
- なにはなくても、とりあえず、ネットワークをオンして、リモートからログインしたい。
# service network start
# chkconfig network on
- もう一度起動したら、updateをしたい。ただし、おそらくこれはかなりかかるだろう。
# yum -y update
- 欲しいけれども入ってないソフトがあったので、それらを yum install する。
たとえば、
wget tcpdump man man-pages-ja lv screen openssh-clients vim-common
vim-enhanced ntp lsof
# yum -y install man wget vim
# yum search ntp すると、
ntp.ppc が見つかったから、
# yum install ntp
- Cell SDK 3.1もインストールしたい
- 早いとこ、wlan0も有効にさせて、イーサーケーブルをはずしたい。
wlan0もHWaddr 00:19:C5:4C:20:77 になってるものだから、やっかい。
両方を可能にしちゃうとなんかコンフリクトが起きそうだ。
無線LAN(wlan0)を可能にする。
# yum install wpa_supplicant
インストールしました: wpa_supplicant.ppc 1:0.6.8-8.fc12
# chkconfig wpa_supplicant on
/etc/sysconfig/wpa_supplicantファイルを修正する。
つまり、
INTERFACES="-iwlan0"
DRIVERS="-Dwext"
のようにする。
さらに、 /etc/wpa_supplicant/wpa_supplicant.conf ファイルもいじる。
# wpa_passphrase "your-ssid" "secret-passphrase"
を実行してでてくるものを/etc/wpa_supplicant/wpa_supplicant.confに追加。
これらは、
fedora12-ps3[wiki]を参考にした。
/etc/sysconfig/network-scripts/ifcfg-wlan0 を修正。
LINKDELAY=15
DEVICE=wlan0
BOOTPROTO=dhcp
ONBOOT=yes
注意するのは、networkはwpa_supplicantのあとに起動しないといけない。
標準だとこの順番が逆になってるから、ついでに、そこも直してしまう。
# sed -i 's/chkconfig:.*/chkconfig: - 24 80/' /etc/init.d/network
# chkconfig network resetpriorities
# service network stop
# service wpa_supplicant start
# service network start
おお、やっと、やっと、無線LANが使えるようになった。
これでイーサーケーブルがはずせる。
Making wpa_supplicant work with dhclient on Fedora
を参考に修正する。
ここまでできたら、調子に乗って、さらに追加で、
PS3をLinuxで動かしてるときはPS3のGPUは利用しない。
なので、そのGPUのメモリー(vram)をスワップエリアに使ってしまおうというアイデアだ。
wget http://us.fixstars.com/support/solutions/ydl_6.x/ps3-vram-swap -O /etc/init.d/ps3-vram-swap
sed -i "s/mtdblock0/ps3vram/" /etc/init.d/ps3-vram-swap
sed -i "s/mkswap/mkswap -f/" /etc/init.d/ps3-vram-swap
chmod 755 /etc/init.d/ps3-vram-swap
chkconfig --add ps3-vram-swap
chkconfig ps3-vram-swap on
service ps3-vram-swap start
つぎにはSDKをインストールしてみたいと思うのだが、あまりにも大きすぎるなら、
あとでアン・インストールしようと思う。
なので、インストールとアン・インストールの両方の手順を書いておこう。
The Cell SDK
前準備:
# yum install rsync tcl wget expat glibc-devel.ppc64 libspe2.ppc libspe2.ppc64
# yum install libspe2-devel.ppc libspe2-devel.ppc64 libspe2-adabinding-devel elfspe2
Cell SDK はIBMからもらってくるが、ここにはアカウントが必要。
昔、IBMのアカウントを登録したことがあった。それが使えるかも。
使えた。
ここ
から、"SDK 3.1"をもらってくる。
"Download SDK 3.1 for Fedora 9 from developerWorks"を選ぶ。
もらうのは3つ。(Fedora 9用でかまわない)
- cell-install-3.1.0-0.0.noarch.rpm
- CellSDK-Devel-Fedora_3.1.0.0.0.iso (SDK 3.1 Developer package ISO image for Fedora 9)
- CellSDK-Extras-Fedora_3.1.0.0.0.iso (SDK 3.1 Extras package ISO image for Fedora 9)
そして、インストール開始。
Fedora 10 をインストール
ここでは Fedora10 をインストールすることを考える。
テキストモードでインストールしないとメモリィが不足する。
kboot: linux video=480i text noselinux ps3fb=4M
する。
また、SE Linuxをオンにしてると、これも巨大になりすぎるから、SE Linux を disable する。
また、新しくコンパイルする場合:-Wa,-noexecstack を embedspu のオプションに追加する。
Fedora 9 をインストール
(2010.03.09)今回はFC9をインストールしよう。
ダウンロードは
http://archive.fedoraproject.org/pub/archive/fedora/linux/releases/9/Fedora/ppc/iso/
から行った。すでに古いからアーカイブに入ってる。
参考は、"http://cell.fixstars.com/ps3linux/index.php/PS3にFedora_9をインストールする"
ここでは FC9 をインストールすることを考える。
GameOSであれば、「他のシステム」に切り替える。
LinuxOSで起動すると、途中、"kboot:"というプロンプトが現れる。
このときに、 "kboot: linux64 video=720p" と入力する。
これだとグラフィカルになるが、解像度が劣る場合は、480i(インターレース)でテキストモードにする。
その場合ならば、"kboot: linux video=480i text noselinux ps3fb=4M" と入力する。
あらかじめ、インストールのCD/DVDを挿入しておく。
インストールの中で気になる質問:
- 文章は日本語よりも英語を選んだ。日本語の訳があいまいだから。
- キーボードはUSキーボードを選択 (jp106キーボードにするかも)
- 入れるパーティションはいままでのをアップグレードしたいが、無理なので
"Reinstall System"を選んだ。(Freshly Installするのでこれを選んだ)
- 自動パーティショニングでは、"Remove all Linux partitions on this system"を選ぶ。
間違って"all partitions"を選ばないように。"all Linux partitions"のほうです。
参考とするリンク:
"http://cell.fixstars.com/ps3linux/index.php/PS3_Linuxのためのブートローダーをインストールする"
"http://cell.fixstars.com/ps3linux/index.php/PS3_Linuxのインストール"
"http://cell.fixstars.com/ps3linux/index.php/PS3_Linux_で無線LANを使う"
"http://cell.fixstars.com/ps3linux/index.php/PS3にFedora_9をインストールする"
"http://cell.fixstars.com/ps3linux/index.php/Fedora_9で無線LANを利用する"