【OpenRD Debian6】Zoneminderインストール

とりあえず、USBカメラをOprnRDにサクッと挿してみる。

Mar 21 02:13:10 silverfox kernel: [ 5419.372911] usb 1-1.1.2.1: New USB device found, idVendor=0ac8, idProduct=3420
Mar 21 02:13:10 silverfox kernel: [ 5419.380176] usb 1-1.1.2.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Mar 21 02:13:10 silverfox kernel: [ 5419.387885] usb 1-1.1.2.1: Product: Venus USB2.0 Camera
Mar 21 02:13:10 silverfox kernel: [ 5419.393168] usb 1-1.1.2.1: Manufacturer: Vimicro Corp.
Mar 21 02:13:10 silverfox kernel: [ 5419.400835] usb 1-1.1.2.1: configuration #1 chosen from 1 choice
Mar 21 02:13:10 silverfox kernel: [ 5419.522914] Linux video capture interface: v2.00
Mar 21 02:13:10 silverfox kernel: [ 5419.588143] uvcvideo: Found UVC 1.00 device Venus USB2.0 Camera (0ac8:3420)
Mar 21 02:13:10 silverfox kernel: [ 5419.604133] input: Venus USB2.0 Camera as /devices/platform/orion-ehci.0/usb1/1-1/1-1.1/1-1.1.2/1-1.1.2.1/1-1.1.2.1:1.0/input/input0
Mar 21 02:13:10 silverfox kernel: [ 5419.617889] usbcore: registered new interface driver uvcvideo
Mar 21 02:13:10 silverfox kernel: [ 5419.639815] USB Video Class driver (v0.1.0)
Mar 21 02:13:11 silverfox kernel: [ 5420.784731] usbcore: registered new interface driver snd-usb-audio

挿しただけで認識。
ビデオデバイスのみならず、カメラ内臓マイクロフォンも使えるようだ。

ZoneMinderをサクッと入れてみる。

root@silverfox:~# aptitude install zoneminder
The following NEW packages will be installed:
apache2{a} apache2-mpm-prefork{ab} apache2-mpm-worker{ab} apache2-utils{a}

さすがに何も入れてないから、apache2とかmysqldとか連鎖インストールするものが多いな。勿論Yと答えて暫し待つ。

終わったら、ZoneMinderのWebインターフェースの初期設定。

root@silverfox:~# ln -sf /etc/zm/apache.conf /etc/apache2/conf.d/zoneminder.conf
root@silverfox:~# adduser www-data video
Adding user `www-data’ to group `video’ …
Adding user www-data to group video
Done.

グループ設定を有効にする為に再起動
root@silverfox:~# reboot

ブラウザで

http://192.168.11.8/zm/

とZoneMinderのWebインターフェースを開いてモニタ追加。
設定はこれと同じ。

で、あっさり動いた。しかし、メモリが少ないせいかWebの応答が遅いな…。
後はどの程度のパフォーマンスが出るのかを検証。

marvellの sheeva 1.2GHz は大体、今サーバにしているLet’s note CF-W2のIntel Pentium M 1.1GHzと同じ位ではないかと推測しているが、ZoneMinderをmodect状態にして放置してみる。

【OpenRD】Debian 6 インストール

今までARMとは何ぞや?ARM CPUにサックリ入るLinuxは?などと情報収集をしていたが、Debian 6 squeezeを入れる事にした。

ARMというCPUはlegacy ABIとEABIとかいうのがあるらしく、OpenRDはEABIで、armelというやつがそれらしい。未だに違いが良く分からないがバイナリのエンディアンの違いかな?

Debian installer for OpenRD という、英文だが非常にシンプルかつ簡単なインストールガイドがあったので、この通りにやる事にした。

中身を読むと、Debian インストーラは NAND flash へ書き込む事はできないので、USBメモリかSATA HDDへのインストールになるとか。

Corega のRAID HDDハードディスクケースを活用して、ファイルサーバ兼 Zoneminder監視カメラ画像記録サーバ兼家庭LANゲートウエイ兼IRCサーバを構築するつもりだったので、書き込む毎に劣化していくNAND flashを使わないのはむしろ有難いくらい。

まずは、やった事のメモ。

FATかext2またはext3でフォーマットしたUSBメモリにインストーライメージを配置して読み込ませる方法と、TFTPでインストーライメージを読み込ませる方法と2通り紹介されている。

わしは空いているUSBメモリが無いのでtftpでやる事にし、
sudo aptitude tftp-hpa tftpd-hpa

と入れて、

cd /srv/tftp
sudo wget uImageのURL
sudo wget uInitrdのURL

とやって、uImageとuInitrdを配置。

OpenRDを起動して、キー押してboot途中で止める。
OpenRD Ultimateなので次を実行。

setenv mainlineLinux yes
setenv arcNumber 2884
saveenv
reset

次は、SATA HDDなので、

setenv serverip TFTPサーバのIPアドレス
setenv ipaddr OpenRDに割り振るIPアドレス
tftpboot 0x01100000 uInitrd
tftpboot 0x00800000 uImage

この時に、ちゃんとファイルが読めていると、#マークが多数表示される。
T T T…とか表示されていると、tftpdのファイルが正しく読めていない。

そしてインストーラ起動。

setenv bootargs console=ttyS0,115200n8 base-installer/initramfs-tools/driver-policy=most
bootm 0x00800000 0x01100000

SATAインターフェースに繋いであるハードディスクが起動時に認識され、ハードディスクパーティションを適当に握ってくれるので、既定のままGO!GO!

途中色々聞かれるけど、適当に答え、インストールするのは、sshサーバだけ選んでインストール完了。

再起動後、再びキーを押してbootを止め
setenv bootargs_console console=ttyS0,115200
setenv bootcmd_sata ‘ide reset; ext2load ide 0:1 0×01100000 /uInitrd; ext2load ide 0:1 0×00800000 /uImage’
setenv bootcmd ‘setenv bootargs $(bootargs_console); run bootcmd_sata; bootm 0×00800000 0×01100000′
saveenv

と設定して

run bootcmd

で起動!…

せぬわ!

Bad Magic Numberとか言われて怒られる。どうもパーティション指定が違っているようなのだが、どうやれば正しくなるのかさっぱり分からん。

で、困った時のOpenRDフォーラム頼り。
さすが Debian squeeze 出たばっかりだから、ヒトバシラーがおるわおるわw
これを参考にすると、ide reset とか ext2ls とか新たな技を覚えた。

Marvell>> ide reset

Reset IDE:
Marvell Serial ATA Adapter
Integrated Sata device found
[0 1 0]: Enable DMA mode
Device 1 @ 0 1:
Model: WDC WD5000AAKS-00A7B2                    Firm: 01.03B01 Ser#:      WD-WMASZ0170852
Type: Hard Disk
Supports 48-bit addressing
Capacity: 476940.0 MB = 465.7 GB (976773152 x 512)

これを見ると、ide 1:1 と指定するのが正しいようだ。
なるほど、内部のSATAが0で外部のeSATAソケットが1になる訳だな。

setenv bootargs_console console=ttyS0,115200
setenv bootcmd_sata ‘ide reset; ext2load ide 1:1 0×01100000 /uInitrd; ext2load ide 1:1 0×00800000 /uImage’
setenv bootcmd ‘setenv bootargs $(bootargs_console); run bootcmd_sata; bootm 0×00800000 0×01100000′

そして

run bootcmd

無事起動。
とりあえず、今日はここまでで、後でV4Lとかzoneminderインストールとかやろう。

【OpenRD Ultimate】DVDが同梱されていない問題

open-rd.orgのフォーラムに「DVD入ってねえよ」って投稿がある。
どうやら、最近出荷されたやつは、DVDが同梱されていないようだ。

しかし、ダウンロードできるドキュメントには、Fedora 8のイメージや、Ubuntu 9.04のイメージをDVDからコピーして使う事を前提にしていて、このイメージはネットに上がっていない。

リカバリを行うには、このイメージが必要で、ハードディスクからブートするようにするにも必要だから、DVDが同梱されてないのは致命的。

Globalscaleにはその旨をメールしたが、ここはテンプレートに当てはまらないメールの返答率が悪いので、返事が来ない可能性が大。

フォーラムに「アップロードする」って言ってる人がいるので、それに期待しよう。

【OpenRD Ultimate】fedora 8 arm のyumリポジトリ設定とシステム更新

ubuntu入れようかと思ったが、DVDが同梱されてなくて、問い合わせの返事が、

Dear Yuji,

Thank you for purchasing our product!

We at Globalscale will always try and keep the Customer abreast with the
latest software and documentation updates. Therefore, rather than supplying
a CD with information and files which could be superseded at any time, we
have decided to provide a web link with all the most current information
available. Please go to:

http://www.globalscaletechnologies.com/t-downloads.aspx

For the most up to date downloads.

などと返ってきて、OpenRDのドキュメントには、

b. On the linux host, copy ubuntu-9.04.jaunty.release.x11.openrd.src.tar.gz to
/home/openrd. This can be obtained from the CD/DVD, which is shipped along with the
OpenRD-Client unit.
Path of file system in CD/DVD:
openrd-devkit-v1.0/openrd_filesystem-ubuntu/source/ubuntu-
9.04.jaunty.release.x11.openrd.src.tar.gz

と書かれていて、ubuntu- 9.04.jaunty.release.x11.openrd.src.tar.gz をネットで探してみたが、見つからず、お話にならない。

とりあえず、最初から入ってる Fedora 8 armを最新版にすべく、

-bash-3.2# yum check-update
http://server.wantstofly.org/fedora-arm/pub/fedora/linux/releases/8/Everything/arm/os/Packages/repodata/repomd.xml: [Errno 12] Timeout: <urlopen error timed out>
Trying other mirror.
Error: Cannot retrieve repository metadata (repomd.xml) for repository: f8. Please verify its path and try again

リポジトリが腐ってる…
検索してみると、ftp.linux.org.ukに切り替えろというのを発見

-bash-3.2# cd /etc/yum.repos.d/
-bash-3.2# ln -sf ftp.linux.org.uk/fedora-arm-f8.repo

そして更新

-bash-3.2# yum check-update
-bash-3.2# yum update

ダウンロードサイズが114MBとか出てるけど、残りディスク容量70MB程度しかない。
まあ、ディスクフルになったら、エラーで止まるだろうから、とりあえず続行。

案の定エラーが出て止まるけど、yum clean all 後に再実行すると、

Total download size: 104 M
Is this ok [y/N]:

10MB分しかインストールできてねえ orz
という事で、COREGAのCG-HDC2EU3100を接続する事にする。

こいつは、EXT4でUbuntuが入っていたが、テストで使っていたので、EXT3でフォーマットして、OpenRD Ultimateに接続すると、/dev/sdaで認識。

-bash-3.2# cd /dev/shm
-bash-3.2# mkdir ext3
-bash-3.2# mount -t ext3 /dev/sda1 ext3/
-bash-3.2# cd ext3
-bash-3.2# rsync -r /var/cache/yum/ .
-bash-3.2# cd
-bash-3.2# yum clean all
-bash-3.2# umount /dev/shm/ext3
-bash-3.2# mount -t ext3 /dev/sda1 /var/cache/yum

で、こんな感じになった。

-bash-3.2# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/mtdblock1          457024    379308     77716  83% /
tmpfs                   257504         0    257504   0% /dev/shm
/dev/sda1            479661204    319616 454976212   1% /var/cache/yum

再び、update実行

-bash-3.2# yum update

Flashのディスク残り容量が20MB程になった :-(
やっぱり、500MB程度のディスク容量では、何ともならないから、ハードディスクにシステム入れるかな。

【OpenRD Ultimate】ネットワーク設定

eth0とeth1と2つあるが、とりあえず、1つ使えるようにする。

[/etc/sysconfig/network-scripts]
DEVICE=eth0
IPADDR=192.168.1.1
MASK=255.255.255.0

BOOTPROTO=dhcp
ONBOOT=yes
TYPE=Ethernet
USERCTL=no
IPV6INIT=no

でもって、ネットワークインターフェース再構築
-bash-3.2# ifdown eth0
-bash-3.2# ifup eth0

Determining IP information for eth0… done.

-bash-3.2# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:50:43:01:9D:EA
inet addr:192.168.11.8  Bcast:192.168.11.255  Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:3 errors:0 dropped:0 overruns:0 frame:0
TX packets:7 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:532
RX bytes:1240 (1.2 KiB)  TX bytes:1908 (1.8 KiB)
Interrupt:11

無事、LANに繋がった。

sshdが動いているようなので、Ubuntuの方から叩いてみる。
noizumi@purplecat:~$ ssh -X admin@192.168.11.8
admin@192.168.11.8′s password:
Last login: Wed Jan 13 15:48:15 2010
/usr/bin/xauth:  creating new authority file /home/admin/.Xauthority

Xも動いているようなので、
[admin@OpenRD ~]$ xeyes &

などとやってみると…

ちゃんと出た :-)

しかし、組み込み系でXが動いてるってのはいただけないな。
正式運用時には/etc/inittabを書き換えよう。

ふと思いついて
[admin@OpenRD ~]$ fire[Tab]

[admin@OpenRD ~]$ firefox

入ってるのか!?
起動してみると、30秒後くらいに
なんだこの小さいウインドウは?

Help→About Minefield
地雷原かよ(笑)。minefieldでぐぐれカスすると、firefoxの開発版なのか。知らんかった。

一応、ブラウズできるけど、文字が化け化け :-(

【OpenRD Ultimate】起動してみた。

ここを参考に、付属のUSBケーブルでUbuntu 10.04の入ったDELL Studio 1558に接続し、起動してみた。

[/var/log/messages]
Jul 16 00:32:16 purplecat kernel: [ 3078.486462] usb 2-1.3.2: FTDI USB Serial Device converter now attached to ttyUSB0
Jul 16 00:32:16 purplecat kernel: [ 3078.486480] usbcore: registered new interface driver ftdi_sio
Jul 16 00:32:16 purplecat kernel: [ 3078.486483] ftdi_sio: v1.5.0:USB FTDI Serial Converters Driver

Wikiに書かれているudevの設定をしなくても認識し、FTDIのドライバが読み込まれ、/dev/ttyUSB0 が有効になったのでシリアル通信ソフトで、

Port:/dev/ttyUSB0 Speed:115200 Parity:none Bits:8 Stopbits:1 Flow control:none

の設定で繋がった。

U-boot 1.1.4 で Kernel 2.6.22.18 なので、最新版になっているようだ。
最初から入ってるのは、Fedora release 8 (Werewolf) だけど、これってRedHat系だっけ?
UbuntuでRedHat系クロスコンパイル環境作るって面倒くさそう。