« SPEプログラムのビルド方法 | トップページ | PS3にFedora 8をインストール »

kernel-2.6.23-rc3の導入

Sonyが配布しているPS3 Linux用AddOnの最新版(8/17版)にて、kernelが2.6.23-rc3に更新されました。修正内容にshotdown/rebootが途中で停止する問題が対処されているとあったためインストールしてみました。

1. kernel-2.6.22以降のHDDドライバ変更とLVMの関連

ネットでも情報が流れていますが、kernel-2.6.22から、PS3 LinuxでLVM (Logical  Volume Manager)を使用している場合、Linxuが起動できなくなってしまいました。Fedora 7インストーラーのデフォルトがLVMのため、私もLVMでHDDの領域設定を行っていましたが、yum updateでカーネルを2.6.22に更新したら起動できなくなりました。

起動時にカーネルはブートしていますが、LVMを使用している論理ボリュームをルートディレクトリにマウントする段階で「VolGroupが見つからない云々」のエラーを吐いて停止します。ネットで調べてみると、kernel-2.6.22からPS3のHDD driverが変更になり、デバイス名が/dev/sdaから/dev/ps3daになったことでPS3 HDD上のLVMボリュームを認識でなくなったことが原因のようです。

LVMはこれまでデフォルトインストールのままで使用していたのですが、こちらもネットで調べてみると、以下の機能であることが分かりました。

  • HDDを数MB単位のブロック(PEと呼ぶ)に分割し、このPE単位に論理ボリューム(LV)に割り付けを行う
  • LVは/homeや/varなどのファイルシステムにマウントする単位となる(これまでは物理ディスクのパーティション単位でマウントしていた)
  • 同一物理ディスク配下のPEを異なるLVにマッピングできる。例えば、/homeと/verの容量を増やしたい場合、増設したHDDのPEを追加割り当てすることで容量の拡張ができる。LVMを使用していない場合は、パーティションの再設定など繁雑な作業が必要になる

考えてみるとLVMは大量のストレージを管理するエンタープライズサーバーに必要な機能であって、HDDの増設を行うことができない(外付けのUSB HDDなら増設できますが)PS3 Linuxではそもそも必要がない機能だったのですが、そいつに足を引っ張られてしまいました。

LVMの最新パッケージは対策を行っているという情報があったので、LVMのパッケージをアップデートしたり、2.6.22-rc3のソースを再コンパイルするなど色々とトライしたのですがどうしてもLVMを使用した状態で起動することはできませんでした。なんでHDDのデバイス名が変わるような設計変更をやったのでしょうか?

最後はあきらめて、HDDをext3で領域確保する形で(LVMを使用しない形で)Ferora 7を再インストールしました。インストール方法は、「PS3にFedora 7とCell SDK 2.1をインストール」を参照してください。

2. kernel-2.6.23-rc3のインストール

AddOnをダウンロードしてCD-ROMに焼いたら、CD-ROMをマウントして以下のrpmをインストールします。必要なファイルは/target配下にあります。

  # rpm -ivh kernel-2.6.23-20070817.ppc64.rpm
  # rpm -ivh kexec-tools-20070810-1.ppc64.rpm
  # rpm -ivh ps3pf_utils-2.0-1.ppc.rpm
  # rpm -Uvh glibc-kernheaders-2.6.23-20070817.ppc.rpm
  # cp initrd.img-2.6.23 /boot

インストールが終わったら、/boot/etc/yaboot.confを編集して、2.6.23-rc3の設定を追加します。

(2007/9/11追記)
yaboot.confの編集内容を追記します(書こうと思っていたのですが、ついつい手抜きしてしまいました)。私のyaboot.confを以下に示します。

  1:  # yaboot.conf generated by anaconda
  2:
  3:  boot=/dev/ps3da1
  4:  init-message=Welcome to Fedora!\nHit <TAB> for boot options
  5:
  6:  partition=1
  7:  timeout=80
  8:  install=/usr/lib/yaboot/yaboot
  9:  delay=5
10: enablecdboot
11: enableofboot
12: enablenetboot
13: nonvram
14: mntpoint=/boot/yaboot
15: usemount
16:
17: default=2.6.23-rc3 ← デフォルトで起動するカーネルのラベル名を指定
18:
19: image=/vmlinuz-2.6.23-0.164.rc5.fc8
20:        label=2.6.23-0.164.rc5
21:        read-only
22:        initrd=/initrd-2.6.23-0.164.rc5.fc8.img
23:        append="video=720p root=LABEL=/"
24:
25: image=/vmlinux-2.6.23  ← 新たに追加したカーネル
26:        label=2.6.23-rc3   ← ラベルを付与して起動時にカーネルを選択
27:        read-only
28:        initrd=/initrd.img-2.6.23
29:        append="video=720p root=LABEL=/"

  • 25~29行目を追加します(image=とinitrd=の後には、今回/bootに追加インストールしたファイル名を記載)
  • 17行目のdefautlコマンドを追加
  • その他の行は現状まま変更しません
  • kboot:のプロンプトが表示された時点で、delayで指定した時間(例では5s)何も入力しない場合は、defaultで指定したカーネルが起動します
  • kboot:のプロンプトが表示された時点で、TABキーを押す毎にyaboot.confで指定したlabelが交互に表示され、起動するカーネルを指定できます
  • これまで起動実績があるカーネル指定部分(例では、19~23行)を残すことで、万が一新カーネルが起動しない場合も旧カーネルで起動できます(私は4項に示したFedora-developmentのカーネルを既にインストールしているため2.6.23になっていますが、インストール直後の場合、2.6.21のカーネル起動設定が存在します)

3. kernel-2.6.23での変更点

主要な変更点は以下です

  1. hddのデバイス名が/dev/sda → /dev/ps3daに変更となった
  2. usbメモリーは/dev/sdaとなる
  3. XMBに戻すコマンドがboot-game-os → ps3-boot-game-osに変更となった(boot-game-osは正常に動作しません)
  4. kbootも2.6.23-rc3ベースに変更となっているため再インストールがおすすめです(kbootのプロンプトからXMBに戻す際に、旧kbootのboot-game-osが動作しないため)

デバイスドライバー関連のソースコードはかなり変更が入っているようです。
Fedora 7のカーネルと異なり、addon版のカーネルパッケージではデバイスドライバーがPS3で必要なものしか入っていません。

問題のshutdown/reboot/poweroffコマンドはやっと正常に動作するようになりました。

4. Feroraのカーネルパッケージ

(2007/12/16追記)
最新のFerora 7はカーネルが2.6.23のリリース版に置き換わっています。そのため普通にyum updateを実行するとkernel-2.6.23がインストールされます。Add-on CDのカーネルは必要最小限のドライバのみが有効になっており、nfs/autofsなどが使えないため、私はFedora kernelに変更しています。ps3-boot-game-osの問題も解決しています。

« SPEプログラムのビルド方法 | トップページ | PS3にFedora 8をインストール »

Linux」カテゴリの記事

コメント

はじめまして。mamiaと申します。
FC7のshotdown/rebootが途中で停止する問題の対処方法として
こちらのブログを参考にさせていただいております。
rpmのインストール終了後に/boot/etc/yaboot.confを編集・追加
となっていますが、その編集内容を教えていただけませんでしょうか?
「PS3用Fedora 7 kernelの再構築」の記事を見て自力で編集しよう
とはしたのですが、もし、起動しなくなったら・・・と考えてしまい、
足踏みしてしまいます。よろしくお願いいたします。

追記ありがとうございます!!

この記事へのコメントは終了しました。

« SPEプログラムのビルド方法 | トップページ | PS3にFedora 8をインストール »

2018年10月
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      
無料ブログはココログ