2012年12月23日日曜日

PS3でLinux

PS3にLinuxをインストールしたときの手順を記す。

2006年11月、PS3の登場後、fedoraはPowerPCアーキテクチャの1タイプとしてPS3をサポートしていた。しかし、2010年4月にSONYがPS3のシステムソフトウェアからotheros機能を除去すると、fedora 12を最後にPowerPCアーキテクチャのサポート(primary architecture)をやめてしまった。このため、うちのPS3もfedora 12のまま長らく放置していた。

今月になって、PowerPC版のfedora 16がsecondary-architectureとして公開されていることに気付いた(2011年12月リリース)。fedora 12からfedora 16にアップグレードしたので、その記録として、PS3にfedora 16をインストールする手順を以下に記す。

(1)ver 3.15以前のシステムソフトウェアをインストールしたPS3の20GB, 40GB, 60GB, または80GBモデルを用意する。

(2)ブートローダーをPS3にインストールする。

ftp://ftp.infradead.org/pub/Sony-PS3/distro-kit/
http://www.kernel.org/pub/linux/kernel/people/geoff/cell/

(3)fedora 12をPS3にインストールする。
 古いブートローダ(kboot)はext4やLVMのパーティションを読むことができず、ext3のパーティションを作成する必要がある。一方、fedora 12のインストーラはメモリ不足のためにテキストモードで起動し、パーティションのタイプを変更するオプションを表示することなくLVMのパーティションを作成する。パーティションのタイプを変更するにはインストーラをグラフィカルモードで起動する必要があるので、VNCを使い、他のPCからLAN経由でインストール作業を進める。
http://docs.fedoraproject.org/en-US/Fedora/12/html/Installation_Guide/VNC_Whitepaper-installation.html

(4)fedora 12のインストール後、fedora 16にアップグレードする。
 fedora 12のカーネルはfedora 16で導入されたsystemdと互換性をもたない。このため、systemdをサポートするようにビルドしたカーネルをあらかじめ用意する必要がある。
 カーネルのソースツリーのディレクトリに移動する。.configファイルはPS3用のものを修正して使う。

$ cp arch/powerpc/configs/ps3_defconfig .config

 次に、CONFIG_CGROUPSパラメータを「y」にする。ちなみに、config-3.6.10-2.fc16.x86_64では以下の通り。

CONFIG_CGROUPS=y
# CONFIG_CGROUP_DEBUG is not set
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CGROUP_CPUACCT=y
# CONFIG_CGROUP_HUGETLB is not set
CONFIG_CGROUP_PERF=y
CONFIG_CGROUP_SCHED=y
CONFIG_BLK_CGROUP=y
# CONFIG_DEBUG_BLK_CGROUP is not set
CONFIG_NET_CLS_CGROUP=y
CONFIG_NETPRIO_CGROUP=m

 さらに、CONFIG_EXT3_FS_SECURITY、CONFIG_EXT4_FS_SECURITYパラメータを「y」にする。これをやっておかないと、glibc-commonパッケージのアップデートのとき、以下のエラーが出て失敗する。

error: unpacking of archive failed on file /usr/libexec/pt_chown: cpio: cap_set_file failed - Operation not supported

http://forums.fedoraforum.org/showthread.php?t=264951
http://rglinuxtech.com/2012/04/15/another-essential-kernel-config/

 カーネルをビルドしてインストールする。

$ su -c "make modules_install; installkernel <kernel_version> <bootimage> <mapfile>"

 <bootimage>はvmlinuxではなく、arch/powerpc/boot/zImage。

 新しいカーネルで再起動した後、パッケージをアップグレードする。yumを使った。

https://fedoraproject.org/wiki/Upgrading_Fedora_using_yum

0 件のコメント:

コメントを投稿