こちらには、256MB のコンパクトフラッシュにLinux を導入する。
CF を採用した理由は、HDD は可動部品が存在するので故障の心配があったため。
まず、Firebox 2500 のハードウェア詳解。
マザーボード上のコンデンサは殆どが、高品質で有名なSANYO OS-CON 。
パーツの品質は、そのままシステム安定性に影響する。
今回の構成は以下の通り。
CPU AMD K6-III 500MHz/FSB100MHz MEM PC-133 CL2 256MB 144pin CF San Disk Ultra II 256MB LAN Macronix 98715 *3
非常に堅い構成。
次に、考えられるLinux の導入方法は以下の通り。
- PC 用のLinux distribution を適当に導入して設定
- ユーザーランドを自分で作る(オリジナルLinux)
- フラッシュメモリ向けに作られたLinux を使う

Firebox X2500 時代のCF カード
環境の作り込みはWindows 上のQEMU で行った。
しかし、2GB CF を装着した実機では、
grub GEOM errorやEmbedded BIOS Debugger Invalid Opcode Trapなど、
ハードウェア、BIOS に起因すると思われるエラーメッセージを吐き起動しない。
そもそも普通のPC と異なり、BIOS などは公開すらされていないので解決は困難そうだ。
この調子では動かすのに時間がかかりそうだったので、
手元にあった256MB CF にフラッシュメモリ向けのCFLinux を導入する。
CFLinux はramfs で動くLinux で、基本的にread-only で動作する。
変更はsavedata コマンドでファイルシステムにcommit する。
一応、コンパイル済みのソフトウェアパッケージも存在する。
/etc/inittab にシリアルコンソールの設定を入れる
s0:2345:respawn:/sbin/mgetty ttyS0
名前解決のため、resolv.conf を書く
nameserver 192.168.1.1
ホスト名、daemon 起動のため、rc.conf を書く。
終わったら、savedata。
あと、grub もシリアルコンソールに出力したかったので、
QEMU+KNOPPIX でCF をマウントし、
/boot/grub/menu.lst を書き換えた。
以下、dmesg
Linux version 2.4.32 (root@alpha) (gcc version 3.3.5 (Debian 1:3.3.5-13)) #1 Fri May 26 16:20:18 CEST 2006 BIOS-provided physical RAM map: BIOS-e820: 0000000000000000 - 000000000009f800 (usable) BIOS-e820: 000000000009f800 - 00000000000a0000 (reserved) BIOS-e820: 00000000000e0000 - 0000000000100000 (reserved) BIOS-e820: 0000000000100000 - 0000000010000000 (usable) BIOS-e820: 00000000fff00000 - 0000000100000000 (reserved) 0MB HIGHMEM available. 256MB LOWMEM available. On node 0 totalpages: 65536 zone(0): 4096 pages. zone(1): 61440 pages. zone(2): 0 pages. DMI not present. Kernel command line: root=/dev/hda5 console=ttyS0,9600n8r No local APIC present or hardware disabled Initializing CPU#0 Detected 475.386 MHz processor. Console: colour VGA+ 80x25 Calibrating delay loop... 946.99 BogoMIPS Memory: 256384k/262144k available (1233k kernel code, 5372k reserved, 295k data, 80k init, 0k highmem) Dentry cache hash table entries: 32768 (order: 6, 262144 bytes) Inode cache hash table entries: 16384 (order: 5, 131072 bytes) Mount cache hash table entries: 512 (order: 0, 4096 bytes) Buffer cache hash table entries: 16384 (order: 4, 65536 bytes) Page-cache hash table entries: 65536 (order: 6, 262144 bytes) Enabling new style K6 write allocation for 256 Mb CPU: L1 I Cache: 32K (32 bytes/line), D cache 32K (32 bytes/line) CPU: L2 Cache: 256K (32 bytes/line) CPU: After generic, caps: 008021bf c08029bf 00000000 00000002 CPU: Common caps: 008021bf c08029bf 00000000 00000002 CPU: AMD-K6(tm)-III Processor stepping 00 Checking 'hlt' instruction... OK. Checking for popad bug... OK. POSIX conformance testing by UNIFIX PCI: PCI BIOS revision 2.10 entry at 0xe68e8, last bus=1 PCI: Using configuration type 1 PCI: Probing PCI hardware PCI: Probing PCI hardware (bus 00) Linux NET4.0 for Linux 2.4 Based upon Swansea University Computer Society NET3.039 Initializing RT netlink socket Starting kswapd pty: 2048 Unix98 ptys configured keyboard: Timeout - AT keyboard not present?(ed) keyboard: Timeout - AT keyboard not present?(f4) Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ SERIAL_PCI enabled ttyS00 at 0x03f8 (irq = 4) is a 16550A ttyS01 at 0x02f8 (irq = 3) is a 16550A Real Time Clock Driver v1.10f mixcomwd: No card detected, or port not available. Software Watchdog Timer: 0.05, timer margin: 60 sec COMX: driver version 0.85 (C) 1995-1999 ITConsult-Pro Co.
![]() | Linuxのブートプロセスをみる 白崎 博生 アスキー 2004-04-16 売り上げランキング : 156084 おすすめ平均 ![]() Amazonで詳しく見る by G-Tools |



コメント
コメント一覧 (2)
FB1000にFreeBSDベースのFirewallパッケージ(m0n0wall)を導入
しようとしているのですが、どうにもうまくいきません。
bootが途中で止まるのはIDEの相性ぽいんですが、mac-addressが
取れないってのは一体・・・(WFS7.0は問題なく動いています)
と言うわけで、宜しければ記事中のCFLinuxの配布先等教えて頂け
ませんでしょうか。それと、2GB-CFが刺さっている写真はFB2500
でしょうか?FB1000と全く違うようなので。
折角暗号化アクセラレータを積んでいるのでVPNで色々遊んでみよう
と思っていたんですが挫折しそうです :-P
こちらです。
http://www.cflinux.hu/
> それと、2GB-CFが刺さっている写真はFB2500
でしょうか?
ラックにマウントされている物はFB2500で、
2GB-CF がオンボードで刺さっている物はFB X2500 です。