ナビスタジオを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はアンインストールした。

【Ubuntu 10.04】samba設定

いじったところだけ。
/etc/samba/smbd.conf の次の部分のコメントアウト部分を有効化。

[global]
security = user
[homes]
comment = Home Directories
browseable = no

samba のリスタート
$ sudo restart smbd

アカウントの追加
$ sudo pdbedit -a noizumi

これで自分のホームディレクトリにアクセス可能になる。

【Ubuntu 10.04】Ardour

字幕付きビデオを

mencoder MOL003.3GP -oac mp3lame -ovc lavc -sub ../字幕.srt -utf8 -slang ja -subfont-outline 6 -o 解説ビデオ.avi

などとやって作成したが、サウンドに余計な音が入っているので消したいから、音楽編集ツールをUbuntu 10.04に入れた時の設定メモ(長い(^^;)

ArdourはUbuntu ソフトウエアセンターからさっくりインストール。
それに付随して、jackdというのがインストールされ、Ardour起動時にこのjackdが起動できないとのエラーメッセージが出た。

端末で、jackdを起動させてみると、/etc/security/limits.conf に次の行を設定しろと言われたので設定

再ログインして、再びArdourを起動するも、やはりjackdが起動できないとエラーメッセージ。

再び端末で、jackdと叩くと、

を実行しろというので実行。
再ログインして、やっとArdourを動かす事ができた。

ArdourはWAVが編集できるソフトのようなので、ffmpeg でビデオの音声を抜きだし、編集後合成すれば良いだろう。

しかし、Ardourの使い方がようわからん…

【Ubuntu 10.04】Phoronix Test SuiteとPHP-GTK2

Phoronix Test Suiteというベンチマークソフトを入れた。

Ubuntu のパッケージ phoronix-test-suite_2.6.1_all.deb があったのでそれを入れたら、アプリケーションメニューのシステムツールにアイコンが現れたので、それを実行してみると、「PHP-GTKが無いからGUIは動かせねえよ(超意訳)」とブラウザに表示された。

CUIでも充分動くが、PHP-GTKを入れておくと、後々、色々使えそうだから入れる事にした。色々、試行錯誤とかあったが、それらは省いて以下まとめ。

こちらにまとめがあったので、これを元にする。

まず、関連パッケージのインストール
~$ sudo apt-get install libgtksourceview2.0-dev libsexy-dev xulrunner-dev libqscintilla2-dev libgtkhtml3.14-dev libgtkspell-dev

なんかよく分からんが、pecl-cairoのインストール
~$ cd src
~/src$ svn co http://svn.php.net/repository/pecl/cairo/trunk pecl-cairo
リビジョン 301419 をチェックアウトしました。
~/src$ cd pecl-cairo
~/src/pecl-cairo$ phpize
~/src/pecl-cairo$ ./configure
~/src/pecl-cairo$ make
~/src/pecl-cairo$ sudo make install
Installing shared extensions:     /usr/lib/php5/20090626+lfs/
Installing header files:          /usr/include/php5/

PHP-GTK2のインストール
~/src$ cd php-gtk
~/src/php-gtk$ cat /usr/share/aclocal/ltoptions.m4 /usr/share/aclocal /ltversion.m4 /usr/share/aclocal/ltsugar.m4 /usr/share/aclocal/lt~obsolete.m4 >> aclocal.m4
~/src/php-gtk$ ./buildconf
~/src/php-gtk$ ./configure
~/src/php-gtk$ make
~/src/php-gtk$ sudo make install
Installing shared extensions:     /usr/lib/php5/20090626+lfs/

参考のページの手順を一部変更して設定
~/src/php-gtk$ sudo su -
~# rm /etc/php5/cli/conf.d
~# mkdir /etc/php5/cli/conf.d
~# cd /etc/php5/cli/conf.d
/etc/php5/cli/conf.d# for i in /etc/php5/conf.d/*; do ln -s $i ;done

/etc/php5/cli/conf.d# echo "extension=/usr/lib/php5/20090626+lfs/php_gtk2.so" > /etc/php5/cli/conf.d/php_gtk2.ini
/etc/php5/cli/conf.d# echo "extension=/usr/lib/php5/20090626+lfs/cairo.so" > /etc/php5/cli/conf.d/cairo.ini
/etc/php5/cli/conf.d# exit

入ったかテスト
~/src/php-gtk$ php -m |grep php-gtk
php-gtk

無事GUI起動成功。