玄箱Pro

2007年6月12日 (火) 15:23時点におけるTakahashi (トーク | 投稿記録)による版 (足りないものを作る)

玄箱ProをAsteriskサーバ化するページ(ちんたら進行中)

目次

スペック

CPU : Marvell 88F5182 400MHz (ARM9互換)
メモリ : DDR 128MB
BootROM : 256KB NORフラッシュメモリ
SystemROM : 256MB NANDフラッシュメモリ
内蔵HDD : 3.5または2.5型 SATA×1
LAN : 88E1118 Gigabit Ethernet
インタフェース : USB Type-A ×2,内部にSATA×1,シリアル,GPIO,I2C,JTAGあり
Bootシステム : GNU u-boot
おぼえがき:

シリアルポート

u-bootを搭載しているものの、素のままではブートしなくなってしまうと手の出しようがなくなる。シリアルポートを増設すればシリアルコンソールから入れるので、ブート変数を書き換えることでリカバリできるようになる。ただし、シリアルポート増設にはハンダ付けが必要で、保証が切れるため覚悟のこと。

Kbp-serial-1.jpg
まずはパターンにピンを立ててしまいましょう。普通の2.54mmピッチでOK。

Kbp-serial-2.jpg
本来ならば、ちゃんとしたレベルコンバータをかましてやるのが良いのですが、安上がりに付けるにはカモンの9-KEというPDC-シリアル変換ケーブルを使うのが簡単。こいつは要するにPDC(Mova)の携帯をシリアルポートに接続するもの。PDCコネクタ側を切ってしまい、以下のように結線すればOK。

基板    ケーブル
 GND -- 茶
 +V  -- NC
 RXD -- 黒
 TXD -- 橙

シリアルポートのパラメータはデフォルトは112.5kbps 8bit ノンパリ,フロー制御なし。これでコンソールに入れるようになる。

HDDブート化

開発環境をフラッシュに入れると、どう考えてもあっという間にフラッシュを壊しそうなのでHDDブートにした方が安全でしょう。問題はHDDブート化しておいて、HDDからブート不可の状態になるともはや素ではリカバリできなくなる点。なので、HDDブート化するのであればまずはシリアルポート増設がお勧め。
HDDブート化の手順は簡単。ただし、どうもHDDの初期化状態(パーティションテーブル)によっては、うまくいかない事があるようなので、以下の手順で。

  • まず玄箱Proにログイン
  • もしsdaXがマウントされてしまっている場合にはumountしてから
# dd if=/dev/zero of=/dev/sda bs=1M count=1
  • これでHDDは壊れる
  • 添付CD-ROMのdevelopment_kitフォルダに入っているファイル一式をネットワークコンピュータ上の "mtd device"へコピー
  • 裏面のスイッチを音がするまで押し続ける
  • しばし待つ(LEDの点滅が終わるまで)

これでHDDからブートできるようになるはずです。

足りないものを作る

エンベデッド系なのでBusyboxが使われているため、psだとかtarだとかが標準のLinuxのものではないので不便。そこで作ります・・・と言いたいとこですが、面倒でしょうから用意しておきました。ルートディレクトリ("/")で展開しちゃってください。上書きされてインストールされます。

ftp://ftp.voip-info.jp/kurobox/pro/procps-3.2.7-kurobox-pro-bin.tar.gz
procps psとかtopとか
ftp://ftp.voip-info.jp/kurobox/pro/tar-1.13.25-kurobox-pro-bin.tar.gz
普通のtar
ftp://ftp.voip-info.jp/kurobox/pro/sox+lame-kurobox-pro-bin.tar.gz
sox + lame
展開した後、/etc/ld.so.confに/usr/local/libが入っているのを確認し、ldconfigしてください。

ですが・・・そのままではwgetがないのでftpサーバからのダウンロードが激しく面倒です。以下の手順でROMに入っているwgetを吸い出してコピーしておくと良いかも。

# mkdir /mnt/mtd2
# mount /dev/mtdblock2 /mnt/mtd2
# cp /mnt/mtd2/usr/bin/wget /usr/local/bin/.
# sync
# umount /mnt/mtd2

メモ:awkとかinstallがBusyBoxなのが結構な鬼門。