
Firebox III(Firebox2500) のCF にLinux を入れた時のメモ。
今回はWindows メインマシンに、Qemu(+kqemu) + USB カードリーダーでCF を繋いで、
Qemu 上の仮想環境でLinux をインストールした。
なんとなくはまった所とかを、次回の自分に向けてメモしておく。
まず、用意するもの。
QEMU on Windows、CentOS 5.2 のiso、USB カードリーダー、コンパクトフラッシュ 2GB
qemu.exe -L . -m 256 -hda \\.\PhysicalDrive2 -cdrom CentOS-5.2-i386-netinstall.iso -boot d -std-vga
qemu は標準の-M pc な状態で起動すると、Realtek Ethernet device が見えるので、
dhclient enable にすると、ホストOS で仮想的に動くdhcpd からIP アドレスやらを取ってくる。
さくっとインストールを終了して再起動後、忘れないよう、
/etc/grub.conf と/etc/inittab にコンソールリダイレクションの設定を入れる。
/etc/grub.conf
default=0
timeout=5
title CentOS (2.6.18-92.el5)
root (hd0,0)
kernel /boot/vmlinuz-2.6.18-92.el5 ro root=/dev/md1 console=tty0 console=ttyS0,9600,n8r
initrd /boot/initrd-2.6.18-92.el5.img
/etc/inittab
+ # Serial console
+ s0:12345:respawn:/sbin/agetty -L 9600 ttyS1
CF をFirebox に突っ込んで、起動する。
grub の画面が出た、と思ったらreboot した。
イミフ。
何が起こったのか調べてみると、理由が判明。
Firebox のCPU はK6-2 500MHzなので、いわゆるi586 なアーキテクチャ
対して、CentOS 5 系はkernel などがPenII 以降のi686 向けに作成されている。
別にi586 用にkernel とか作ればいいんだけど、面倒くさいし、CentOS4 でいいやと妥協。
今思えば、この妥協がよくなかった。
結局、CentOS4 のiso を用意して、先ほどと同じ手順でインスコ。
最後に忘れないよう、シリアルコンソールの設定をして、i586 用kernel を入れる。
# rpm -ivh --force kernel-2.6.9-67.0.20.EL.i586.rpm
これでうまくいくだろってことで、CF をFirebox に入れて起動する。
kernel のロードはうまく行った。
wktk しながら起動するのを待っていたら、kernel panic した。
キーワードを元にぐぐると、こんなの出ました。
0002823: Cannot boot on AMD-K6 processors after upgrading to kernel v2.6.9-67. - CentOS Bug Tracker
古いAMD CPU 周りのkernel のバグらしい。
パッチが存在するが、パッチ当ててのんびりしてる時間ももったいないので、
最新のkernel を確認してみる。
linux-2.6.25 で修正されていることを確認できたので、
linux-2.6.25 kernel を採用し、i586 版が存在するfedora 9 を入れてみることにした。
これで何とか無事に動いたので、こいつを元にいろいろといじってみている。
何かと大変だったけど、こんな感じで終了
![]() | SanDisk SDCFX4-004G-JD1 サンディスク 売り上げランキング : 10539 おすすめ平均 ![]() Amazonで詳しく見る by G-Tools |


コメント