カーネル再構築 2.4.17

Source Code Distribution Serviceで公開されているPlayStation BB Navigatorのカーネルソース 2.4.17_ps2-22を試してみましょう。

2003.06.14 初稿
2003.06.22 カーネルオプションの補足追加

ここで紹介するやり方はBB NaviやHDDゲームとPS2Linuxを共存している環境です。
つまりPS2Linuxβ版をベースにしたものです。PS2Linux 1.0ベースの場合とHDD認識が異なりますので気をつけてください。
たぶんPS2Linux1.0正式版の場合は、余計なパッチは不要なのかと。
PS2LinuxβのDVD(RuntimeEnvironment)では起動できないようです。PS2Linux1.0RのDVD(RuntimeEnvironment)なら使用可能です。
βしかない場合は、akmemを使ってBBNaviのRuntimeEnvironmentから起動してください。

ソースを持ってくる
# cd /var/tmp
# wget http://www.sony.net/Products/Linux/Download/PlayStation_BB_Navigator/kernel-headers-2.4.17_ps2-22.mipsel.rpm
# wget http://www.sony.net/Products/Linux/Download/PlayStation_BB_Navigator/kernel-source-2.4.17_ps2-22.mipsel.rpm

rpmから強制的にファイルを取り出してみる。(rpmでそのまま入れても良いかな。。。)
# cd /var/tmp
# rpm2cpio kernel-headers-2.4.17_ps2-22.mipsel.rpm | cpio -i --make-directories
# rpm2cpio kernel-source-2.4.17_ps2-22.mipsel.rpm | cpio -i --make-directories
# cd usr/src
# mv linux-2.4.17_ps2 /usr/src

# cd /usr/src
# mv linux linux.org              →2.2.1_ps2へのシンボリックリンクを待避(最初だけね)

# ln -s linux-2.4.17_ps2 linux

HDDフォーマット認識がBB Navi仕様になっているので、PS2Linux仕様にパッチまたは怪しいパッチを宛てる
# cd /usr/src/linux
# patch -p0 < bblinux3.diff

# cd scripts
# rm mkdep split-include             →実行できないので
# cd ..

ここから先は普通のカーネル再構築
# cd /usr/src/linux
# cp -p arch/mips/configs/defconfig-ps2 .config

大抵の環境ではext2fsを組み込みにする必要有り   →.configの CONFIG_EXT2_FS=y
# make oldconfig  または make menuconfig     →オプションとか好きにいじる
 (補足)
  ・CONFIG_PS2_SBIOS_VER_CHECK is not setにしてもPS2LinuxβのRuntimeEnvironmentでは使えません。
  ・デフォルトではPS2デバイス類がモジュール化されていないので、m に変えたほうが小さくなって良いかもしれません。
   ただし、ETHERは、CONFIG_PS2_ETHER_SMAP=yとする必要があります。 

# make dep
# make clean
# make

# make modules
# make modules_install

# mount /mnt/mc00
# gzip -c9 vmlinux > /mnt/mc00/vmlinux-2.4.17.gz →圧縮したカーネルを作成(未圧縮でコピーでも可)

# vi /mnt/mc00/p2lboot.cnf(2行目の vmlinux-2.4.17.gz のエントリを追加)
"Linux on MC" vmlinux "" 203 /dev/hda1 "" Linux on Memory Card(PS2)
"Linux 2.4.17" vmlinux-2.4.17.gz "" 203 /dev/hda1 "" Linux-2.4.17 on Memory Card(PS2)
"Single" vmlinux "" 203 /dev/hda1 single Single User Mode
"Emergency" vmlinux "" 203 /dev/hda1 emergency Emergency Mode
# umount /mnt/mc00
ところでX環境で使う人は、マウス周りを修正する必要があります。
こことか こことか ここ を参考にして作業して下さい。(あんまり試してないもんで人任せ。。。)

起動時にMontaVista Linuxのロゴが出るようになりました。
今まではKondaraベースの普通のLinuxでしたが、組み込みに強いMontaVistaに変わったのですね。

さて、2.4.17にすることでどう変わるんでしょう。
なんかあったら教えて!


怪しいパッチについて

BB Navigator の "__linux.X" というIDのパーティションを認識するようになります。 →この辺の話はこっち

注意事項や使い方などはこちらにありますので必ずお読みください。


戻る