「玄箱Pro」の版間の差分

提供: VoIP-Info.jp
移動先: 案内検索
(足りないものを作る)
(HDDブート化)
35行目: 35行目:
 
*しばし待つ(LEDの点滅が終わるまで)
 
*しばし待つ(LEDの点滅が終わるまで)
 
これでHDDからブートできるようになるはずです。
 
これでHDDからブートできるようになるはずです。
 +
==/varがRAM==
 +
普通にHDD化しても/varがRAM上にあるというAsteriskにとっては非常に嫌~な状態ですが、これを止めてHDD上に/varを作るには以下のようにします。<br>
 +
まず、この犯人ですが/usr/local/bin/kuro_libというスクリプトです。その中にcreate_sysfolderというファンクションがあるので、以下の例をみて修正します。
 +
          mkdir -m 777 -p /mnt/ram/tmp /mnt/ram/var/tmp /mnt/ram/var/run
 +
        mkdir -m 777 -p /var/tmp /var/run
 +
        chmod 777 /var/tmp/ /var/run
 +
#      rm -rf /tmp /var
 +
        rm -rf /tmp
 +
 +
        ln -sf /mnt/ram/tmp /tmp
 +
#      ln -sf /mnt/ram/var /var
 +
 +
        mkdir -m 777 -p /var/lock
 +
        mkdir -m 755 -p /var/empty/sshd
 +
RAM上にvarを作ってシンボリックリンクしているので、これを止めてしまいます。上記の変更を行って再起動すれば/varはHDD上になるはずです。起動する度に毎度毎度 mkdir を呼ぶのが気持ち悪い人はコメントアウトしちゃってください。
 +
 
==足りないものを作る==
 
==足りないものを作る==
 
エンベデッド系なのでBusyboxが使われているため、psだとかtarだとかが標準のLinuxのものではないので不便。そこで作ります・・・と言いたいとこですが、面倒でしょうから用意しておきました。ルートディレクトリ("/")で展開しちゃってください。上書きされてインストールされます。<br>
 
エンベデッド系なのでBusyboxが使われているため、psだとかtarだとかが標準のLinuxのものではないので不便。そこで作ります・・・と言いたいとこですが、面倒でしょうから用意しておきました。ルートディレクトリ("/")で展開しちゃってください。上書きされてインストールされます。<br>

2007年6月12日 (火) 22:31時点における版

玄箱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からブートできるようになるはずです。

/varがRAM

普通にHDD化しても/varがRAM上にあるというAsteriskにとっては非常に嫌~な状態ですが、これを止めてHDD上に/varを作るには以下のようにします。
まず、この犯人ですが/usr/local/bin/kuro_libというスクリプトです。その中にcreate_sysfolderというファンクションがあるので、以下の例をみて修正します。

         mkdir -m 777 -p /mnt/ram/tmp /mnt/ram/var/tmp /mnt/ram/var/run
        mkdir -m 777 -p /var/tmp /var/run
        chmod 777 /var/tmp/ /var/run
#       rm -rf /tmp /var
        rm -rf /tmp

        ln -sf /mnt/ram/tmp /tmp
#       ln -sf /mnt/ram/var /var

        mkdir -m 777 -p /var/lock
        mkdir -m 755 -p /var/empty/sshd

RAM上にvarを作ってシンボリックリンクしているので、これを止めてしまいます。上記の変更を行って再起動すれば/varはHDD上になるはずです。起動する度に毎度毎度 mkdir を呼ぶのが気持ち悪い人はコメントアウトしちゃってください。

足りないものを作る

エンベデッド系なので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なのが結構な鬼門。