OpenRDサーバ稼働

Debian6のARM版で、UVCビデオカメラが繋いだだけで動いたり、ZoneMinderがパッケージで用意されていて簡単にインストールできたりと、x86版と何ら使い勝手が変わらず、連休を利用して格闘する事を想定していたのが、あっさり終わってしまって拍子抜けだ。

結局、OpenRD Ultimate に Debian6 ARM版のパッケージを使って次の環境を整えた。

・監視カメラ画像記録
・ファイルサーバ
・VPN接続
・Web Proxy
・IRCサーバ

これで今までLet’s note CF-W2のUbuntu 10.10のサーバでやっていた機能を完全に代替する事ができた。ハードディスクがハードウエアRAID1になったのと容量アップしたから、信頼性は多少上がったかもしれない。

Marvell Sheeva 1.2GHzのパフォーマンスはLet’s note CF-W2のIntel Pentium M 1.1GHzと余り変わらない感じ。

これで何が便利なのかとかは後々紹介しようと思う。
# いらないって? (^^;

【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状態にして放置してみる。

Dell Studio 1558 のUbuntu 10.10へのアップグレード受難

Let’s note CF-W2 や VirtualBox 4.0.4 における Ubuntu 10.04 で拍子抜けする位にあっさり10.10へのアップグレードができたので、Dell Studio 1558にインストールしているUbuntu 10.04 をそんなに深く考えずアップグレードした。

手順は、アップデートマネージャの設定でアップグレードリリースを「長期サポート版(LTS)のみ」から「通常のリリース」に変更。

再チェックして、アップデートモジュールが無い事を確認してから、「10.10へアップグレードできます」ってのをポチっとやり、後はsamba、dovecotの設定ファイルを保持で、alsaは置き換え。

再起動させたら

ときたもんだ。
こりゃまいったね。まさか起動不能になるとは微塵も思って無かった。

ls (hd1,5) とかやっても Bad Filename とか言われてダメな雰囲気がありありと出ている。
で、Let’s note CF-W2 でfirefox起動してGoogle 先生にお伺い。

こんなん出ました。
という事で、10.10 LiveCDを作る為にISOイメージをダウンロード。Let’s note CF-W2のUbuntu 10.10でイメージを焼こうとするも失敗して焼けず、2枚のCD-Rをダメにした。
まあ、生CD-Rの空きが16MBという表示がでていたので、焼けない感がもーりもりだったが…。

仕方がないので、Dell Studio 1558のLinux起動用USBメモリをぶっこ抜いてWindows7を起動。
こちらでは無事焼けたので、このLiveCDでUbuntu 10.10を起動。

アプリケーション>アクセサリ>端末 でターミナルソフト起動。

sudo fdisk -l

という構成で、Grub が Windows7のシグネチャを破壊しないようにブートローダはUSBメモリに入れてある。

sudo mount /dev/sda5 /mnt
sudo mount –bind /dev /mnt/dev
sudo mount –bind /proc /mnt/proc
sudo mount –bind /sys /mnt/sys
sudo chroot /mnt
apt-get install grub-pc
とやったら既に入ってると言われたので、インストールはしていない。

grub-mkconfig -o /boot/grub/grub.cfg
grub-install /dev/sdb

No error だったので、LiveCDを終了して再起動。
そしてGrubの起動メニューが出て、無事に起動するようになった。

しかし、それだけでは終わらなかった。
ログイン画面になり、アカウントをクリックした途端、画面が暗転し、またログイン画面が出て、暗転というのを数回繰り返すという現象が発生。

画面の右下の電源アイコンクリックしても暗転してログイン画面を繰り返すので、ログイン画面が安定したところで電源ボタンを押す。するとシャットダウンメニューが出るので再起動を実行。

思い当たる事は、Dell Studio 1558はMobility RADEON HD5470で、プロプラエタリドライバを使っており、ビデオドライバのアップグレードに失敗しているのだろう。

Grubのメニューでrecovery modeのカーネルを起動。またもや日本語が文字化けしたメニューからXほげほげってのを選び、低解像度モードでXを起動。

Synaptic パッケージマネージャを起動して、設定のリポジトリを見る。他のソフトウエアのタブでmaverickへのアップグレード時に無効化されました(http://ppa.launchpad.net/ubuntu-x-swat/x-updates/ubuntu)なんてのがあるので、

http://ppa.launchpad.net/ubuntu-x-swat/x-updates/ubuntu
http://ppa.launchpad.net/ubuntu-x-swat/x-updates/ubuntu main
http://ppa.launchpad.net/ubuntu-x-swat/x-updates/ubuntu main (ソースコード)

の3つにチェックを入れる。
そして、fglrxで検索し、
fglrx fglrx-amdcccle fglrx-modaliases xserver-xorg-video-radeon

の4つをアップグレード指定して適用をポチっとな。
再起動して通常起動したら、やっとまともに起動した。

Linuxの維持管理は機種によって難易度が全然違うなあ。

ナビスタジオをVirtualBoxのGuestOS Windows7 Professional 64bit で動かす

10日夜にamazonで買って、11日発送のままどうなってたか分からなかったWindows7 が今日到着し、早速仮想マシン化

Pioneerのサイバーナビ AVIC-ZH9000のリビングキットでナビスタジオを使う目的で買ったのだが、よく考えたら、前にVirtualBox3.2に入ってるWindows7でテストしてダメだった気がするぞ…。

単にUSBのデバイスIDをGuest OSに渡すだけだから何で失敗したのかよく分からんが、とくかく前進、前進、前進進♪

VirtualBox 4.0.4 Linux Hosts でUbuntu 10.04用をダウンロードしてインストール。
# Dell Studio 1558もUbuntu 10.10にアップグレードするかな

システム>システム管理>ユーザとグループで詳細ボタン押してパスワード入れる。

「VirtualBox仮想マシンの使用」にチェックを入れてOKボタンを押す。

PC再起動して、これでUSBデバイスをGuest OSに渡せるようになる。

リビングキットをPCのUSBに接続すると、一応LinuxではUSBディスクとして扱われるが一部のみ。

Windowsみたいに複数ドライブには見えないようだ。

そして、VirtualBoxの設定で、USBに不明なデバイス 08E4:0145[0100]を追加し、「USB 2.0(EHCI)コントローラを有効化」にチェックを入れる。

で、GuestOSでナビスタジオをナビ付属CDからゴリゴリインストール。こいつはWindows7対応じゃないけど、Windows7対応版にアップデートするには、まず付属CDの奴を入れないといけない。

そしてPioneerのページからWindows7対応版をダウンロードしてアップデートする。BeatJamもBeatJam Video Converterもアップデートしないと音楽やビデオが転送できない。

ナビスタジオ起動させてみるも、やっぱり認識しない…。
仕方ないのでシャットダウンすると、凄く遅くなっていつまでもシャットダウンしない。

一時停止して、状態を保存して、リビングキット外して再開したら軽くなるかな?
などとやったら起動せぬ(汗)。

「USB2.0動かすにはExtention Pack使いやがれ」とVirtualBox様が言われるので、ダウンロードしてダブルクリックしたら、VirtualBoxがインストールしてくれた。

それでも起動不能で再開できないから、「破棄」して起動。
すると、ナビスタジオが起動!Extention Pack恐るべし!

ちゃんとBrain Unitの接続マークが出てるし、ナビに蓄積したデータも送信している。

ドライブマネージャで渋滞情報、ウェザーライブも問題なし。
BeatJam Video Converterがクラッシュするけど、リアルWindows7でもクラッシュしてて、何とか解決したんだが、どうやるんだっけな…まあ、後でいいや(苦笑)

# BeatJam Video Converterのプロパティの互換性タブで「Windows 98 / Windows Me」にするんだった。

これで一々Linux終了して、Windows起動しなくて済むな。

Let’s note CF-W2 Ubuntu10.10 grub-pc設定

Synaptic パッケージマネージャで grub-pc を選択すると、grub(legacy version)が削除され、新しいgrub version 2になる。

Windows 7を使用しているパソコンでセレクタブルブートにする場合は危険だが、わしの場合は、USB接続したハードディスクでブートしているので、問題が起これば取り外せばOK。

menu.lst 経由で起動(チェーンロード)しますか?

なんて聞いてくるが訳がわからんので「ヘルプ」のボタンを押すと、旧設定を利用してGRUB2を起動するとの事で、トラブル回避にはお勧めらしい。
で、うまく動いているようなら、

# upgrade-from-grub-legacy

とやれば完全移行できるそうな。
grub2で便利なのは、USBブートに設定してても、内蔵HDDのWindowsをメニューに設定できて起動できる事。

今まで、USBメモリや、USBのHDDを引っこ抜いてWindowsを起動していたのが引っこ抜かなくても良くなるのだ。

Ubuntu9.04→9.10→10.04→10.10アップグレード

Let’s note CF-W2 にUbuntu9.04でサーバにしているのだが、以前、9.10を試しに入れたら、新型ビデオドライバが Intel Chipset に厳しく、X Window表示が酷い状況になり、結局、9.04のままじっと我慢していた。

で、9.04の最終アップデートで、ビデオドライバを新型にされたせいか、GUIにできなくなってしまった。

まあ、サーバにしてるから別にGUI要らんけど、サポートされなくなってプログラムがどんどん古くなるし、セキュリティ的に問題が出てくるだろう。

Intel Chipset のビデオ表示でアップグレードをためらっていたが、これでは 9.04 のまましておく意味が無いのでこちらを参考に一挙にアップグレードを行う事にした。

アップグレードは設定をいかに引き継ぐかが課題となるが、今はVirtualBoxで仮想マシンを立てるのも楽だし、9.04の設定ファイルは基本的に変更無しにそのままにし、サポートされなくなったパッケージは削除、後で入れなおしと、最新バージョンの設定ファイルを見つつ、調整するってのでイケるだろう。

9.04→10.10に一発ではできず、段階を踏まなくてはならない。
まずは、9.04→9.10へアップグレード。
GUI使えないし、置き場所が手の届きにくい場所なので、Windows7のPuTTYからsshで繋いでリモートで

なんてやった。

ご丁寧に「sshでやると万が一の時に復旧大変だぞ、それでもやるのか?」と警告が出て、「うん」と答えると、「念の為にport 9004でもう一つssh待ち受けするから、繋がらなくなったらこっちで入れ」という手順になった。

実体験に基づき、かゆい所に手が届く実に見事な配慮だ。実際はマシンは目の前にあるのだが、リモートアップグレードも一応できるんだな。これ作った奴は神!

アップグレードしてると、時折設定ファイルを置き換えるか?と聞かれるので次の様に返答。
/etc/mysql/my.conf  N
/etc/alsa-conf     N
/etc/scim/config  Y 日本語変換はAnthyになってるし置き換えてもいいだろう。

プロプラエタリビデオドライバ関係
/etc/ati/amdpcsdb.default Y
/etc/ati/atiogl.xml N (間違えて押した)
/etc/ati/control Y
/etc/ati/signature Y
これは、ハードディスクをdellのマシンに繋いでいた時に入ったやつかな?これは置き換えてもOK

/etc/dovecot/dovecot.conf 現在インストールされてるローカルバージョンを保持

で、「システムのアップグレードには再起動が必要」という事で再起動したら、あっさりと起動。何の問題も無くGUIで立ち上がった。

次に、9.10→10.04へ
折角なのでGUIで実施。アップデートマネージャを起動すると、「Ubuntu 10.04にアップグレードできます」とあるので、ポチっと押す。

聞かれる事は9.10へアップグレードした時と同じだが、
/etc/kernel/header_postinst.d/dkms N

と、DKMSの初めて質問があった。

アップグレードが完了して再起動すると…、GRUBの画面の後、ハングアップ 🙁
ping に応答しないのでとりあえず電源ぶち切り。

リカバリーモードで起動して、文字化けだらけのメニューから、「grub…」という項目を選んで、その後、resume ってやったが、GUIにならないので、そのままコマンドラインでログインした。

/etc/update-manager/release-upgradesを編集し、Prompt=normalにして、
sudo do-release-upgrade 実行。

設定ファイル上書きについては、10.04で聞かれる事と同じで、無事アップグレードが終了。

後はどの程度、システム整合性が保たれているか調べんといかんな。

ddclientの罠

ログを見てたら、ddclient がプライベートアドレスを登録しにいってやがるので、なんで!?

と思ったが、会社からVPN接続カマしてる時間と一致してるので、ピンと来て、/etc/ppp/ip-up.d/を見たらddclientってのが居やがりました。

まあ、ダイヤルアップしてる人なら、ppp接続時にIPアドレスが付与されるので、それをダイナミックDNSに登録してくれるってのは有難い機能だわな。

しかし、わしの場合は、PPTPでpppdが起動しているので、余計なお世話だ。これをさせないようにするには、 /etc/default/ddclient の中の

run_ipup=”false”

で止まる。

PPTP設定

Windows のVPNでppp(Point to Point Protocol)を使ったPPTP接続ってのがあるので、家のLet’s note CF-W2に入ってるUbuntu 9.04に設定する。

ここを参考にさせていただいたが、設定は簡単過ぎるので書く事が余り無い。

ubuntuがクライアントになってるけど、会社の10.10じゃ家のマシンに接続できなかった。Windows7ならあっさり繋がる。

ただ、Windows側の設定で、PPTP接続を default route にすると、パケットが全部VPN経由で出て行く事になって、会社なんかでLANに接続できなくなるから、その辺りの設定をうまくニギらないといけない。

samba-serverを入れて、wins serverにして、/etc/ppp/pptpd-options に
ms-wins 192.168.11.5

なんて書いてやると、家のマシンがwindowsから見えるようになる。
会社に居ながら家のネットワーク網が使えるってのは便利。

ddclient

Dynamic DNSサービスを利用していて、知らない内にIPアドレスが変わってる事がよくある。

友人がIRCに来たりするのだが、「来ねえな…」と思ってると、IPアドレスが変わってたという具合。

調べると、IPアドレスを定期的に調べて、Dynamic DNSのサービスに自動登録してくれるツールがあるようで、 ddclient ってのがあった。

Ubuntu 10.04にあるのかな?と Synaptic パッケージマネージャで調べてみると、あったので早速イソストール。

入れる時に色々聞かれるので、素直に答えると設定完了で、daemonモードで常駐して、定期的にDynamic DNSサービスのサイトに接続に行くようだ。

しかし、/etc/ddclient.confに生パスワード書かれているのがちょっといただけないな。

【Ubuntu 10.04】xvba-video更新

2010年8月5日にxvba-video_0.7.3-1_i386.debが出てたのでアップデート。

そしてテスト
noizumi@purplecat:~/ビデオ$ mplayer -vo vaapi -va vaapi -ao pulse -fs -lavdopts threads=8 big_buck_bunny_1080p_h264.mov

xvba_video: error: FGLRX driver version 8.73.2 (Catalyst 10.5) or later is required

うーむ、どうやらUbuntu 10.04のプロプラエタリドライバではダメなようだ。

という事で、こちらを参考にUbuntu X Team’s PPAのリポジトリ追加
sudo add-apt-repository ppa:ubuntu-x-swat/x-updates

アップデートマネージャで更新して再起動すると、Catalyst 10.7になってた 😀

動画のテストをしてみると、xvba-videoは問題無く動くようになり、動作的には余り変わらない感じだが、気のせいか発色が良くなった気がする。

しかし、また gstreamer-vaapi でモザイク表示に orz

しょうがないから、またゴリゴリやる。
【libvpxビルド】
cd src
cd libvpx
git pull
make clean
./configure
make -j8
sudo make install
cd ..

【libnutビルド】
svn co svn://svn.mplayerhq.hu/nut/src/trunk libnut
cd libnut
make distclean
make -j8
sudo make install
cd ..

【libx264ビルド】
cd x264
git pull
make distclean
./configure
make -j8
sudo make install
cd ..

【ffmpegビルド】
configureで「--enable-avfilter-lavf」のオプション付けたらエラーになったが、このオプションは無くなったようだ。
svn co svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg
cd ffmpeg
make distclean
./configure --enable-gpl --enable-nonfree --enable-pthreads --disable-debug --disable-ffserver --disable-ffplay --enable-libdirac --enable-libschroedinger --enable-libdc1394 --enable-libfaac --enable-libgsm --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-zlib --enable-bzlib --enable-libopenjpeg --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-version3 --enable-libnut --enable-libspeex --enable-libvpx --enable-avfilter --enable-vaapi
make -j8
sudo make install
cd ..

【gstreamer-vaapiビルド】
cd gstreamer-vaapi-0.2.4
make distclean
./configure
make -j8
sudo make install
cd ..

…なおらん orz
まあ、前回直した時も、具体的にどこが原因だったのかが分からず仕舞いだったから、こういう事もあるだろうとは思っていた。

仕方がないので、gstreamer-vaapiはアンインストールした。