Sirius

2007年2月5日(月) 22:22

カーネルの入れ替え

カーネルモジュールの作成がうまくいったので、カーネルの入れ替えに挑戦してみました。

ソースのあるディレクトリに移動して、
# make uImage
カーネルは arch/arm/boot/uImage に作成されます。
# mkimage -l arch/arm/boot/uImage
Image Name: Linux-2.6.12.6-arm1
Created: Sat Feb 3 14:51:25 JST 2007
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 1788276 Bytes = 1746.36 kB = 1.71 MB
Load Address: 0x00008000
Entry Point: 0x00008000

カーネル入れ替え! /boot/uImage.buffalo を別な名前にしておいて、

# cp arch/arm/boot/uImage /boot/uImage.buffalo

再起動!

…。ssh で入れない。

telnet では入れましたが、EM モードで動いていました。
ついでなのでこの状態で USB HDD をつないで見ました。まあ、当たり前ですが、EM モードでも認識しました。
と、いうことは、USB HDD にルートファイルシステムを置いて、そこを使用することも可能のようです。
実験時には便利ですが、いまはカーネルの入れ替えが先、後で時間のあるときにやってみましょう。

さて、何がいけないのでしょうか。linuxrc を見ました。
 /proc/buffalo/firmware
 /mnt/etc/linkstation_release
そうだった、この二つが一致しないと起動しないんだった。EM モードでも telnet が使えるようにしておいて助かりました。
sda3 をマウントして

# mount /dev/sda3 /mnt/disk1
# cd /mnt/disk1/etc
# mv linkstation_release linkstation_release.orig
# cat /proc/buffalo/firmware > linkstation_release
# date > boot.this
# reboot;exit

再起動後に ssh でログイン。うまくいきました。

$ cat /proc/version
Linux version 2.6.12.6-arm1 (root@EILINK04) (gcc version 3.4.4 (release) (CodeSourcery ARM 2005q3-2)) #77 Sat Feb 3 14:51:25 JST 2007

OK。

カーネルの入れ替えが可能となるとかなりカスタマイズが可能となりそう。linuxrc はチェックを外そうかと思います。
u-boot のソースもあるようなのでこちらのコンパイルもやってみようかな。ただし、u-boot はフラッシュにあるから飛ばしたら最悪です。

written by sirius [/Linkstation] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

Comments

TrackBacks

Sirius

MySketch 2.7.2 written by 夕雨