2010年12月27日月曜日

Flashの確認画面

なんか Linux版の Adobe Flash でマイクを使ったチャットなんかをしようとすると、図のようなダイアログが出て、マウスでクリックできないし、TAB キーでフォーカスは移動するものの、Enter やspaceを押しても何もならないし、全然ダメ。

camera flash mic linux とかでぐぐったら、一応の回避策は発見。以下にアクセスして、サイト毎に許可の設定をすればダイアログはでなくなる。


http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager06.html

mplayer + webcam で写真撮影

gentoo で mplayer をインストールして webcam を見ようとしたら(-tv オプション)、
以下のエラー。
  MPlayer was compiled without TV interface support.

USE に v4l2 が必要な模様。/etc/portage/package.use に以下を追加して再コンパイル。

  media-video/mplayer v4l2

で、mplayer + webcam で動画を見ながら静止画撮影をしようと試み、いろいろ調べた
結果 fifo 経由で撮影できることがわかった。

まず、 FIFO ファイルを作成。
mkfifo tmp.fifo
そしたら、以下で mplayer 実行
mplayer tv:// -tv device=/dev/video0 -input file=tmp.fifo -vo xv -vf screenshot

で、この fifo に "screenshot 0" という文字列を送信。
echo "screenshot 0" > tmp.fifo

すると、カレントディレクトリに1枚の写真が出来上がる。上記の 0 の意味はいまいち
不明だが、別の数字にすると連続写真になってしまう。

以下を参考にした。
http://mydebian.blogdns.org/?p=120

2010年12月26日日曜日

2010年12月24日金曜日

Acer Camera on gentoo

うちの家族用リビングPC の Acer Aspire についていた webcamera が不要
になったので(MS製のカメラが懸賞で当たったので)、my Gentoo でこれを
動作させようとしているところ。

まぁふつーに USB ポートに挿してみたが自動認識せず。

で、このカメラ、機種名がどこにも書いてない。Windows で認識しているの
を見たが、「Acer Camera」という名前しかわからない。

とりあえず Web で調べたところ、以下に近いのでは、と勘ぐってみた

http://en.gentoo-wiki.com/wiki/Acer_Extensa_4620

emerge media-video/linux-uvc しろと書いてあるんだけど、これやると以下
のエラー。

  CONFIG_VIDEO_DEV: is not set when it should be.

ちょっと調べたところ、上記ドキュメントは古いらしく、UVC はすでに kernel
に取り込まれているらしい。

なので menuconfig で以下を選択して、現在 kernel モジュールコンパイル中。

[Device Drivers] [Multimedia Support] [Video For Linux]を M。他のところ
も片っ端からチェック。さらに [Device Drivers] [Multimedia Support]
[Video capture adapters] [V4L USB Devices] をチェック。やっぱりもう面倒
なので片っ端から他のやつもチェック。

さてどうなるか。

以下参考にした。
http://forums.gentoo.org/viewtopic-p-6163351.html
http://www.mail-archive.com/gentoo-user@lists.gentoo.org/msg100297.html

2010年12月23日木曜日

GASでOS自作入門- 一日目

家で眠っていた「OS自作入門」という本。デバイスまわりが苦手な私にとって
バイブルとなるはずだったのだが…
この本での開発環境が Windows + NASM ということから、モチベーションと
私の 3 日坊主という性格も手伝い、本棚にそのまま置き去りに。

しかし、長期休暇を利用して再度チャレンジと意気込み、同じことを GAS で
やってみようと思い立ち Web を検索していたら以下のページを発見。

http://d.hatena.ne.jp/big-eyed-hamster/

全く同じことをやっている方がいて、跡追いながら、この big-eyed-hamster
様をカナーリ参考にし、私のブログにその勉強メモを記しておこうと思います。

まず、そもそも NASM と GAS では命令が全く違うのでその対比を。

命令内容NASMGAS
1バイト書込DB.byte, 文字列の場合は .ascii?
2バイト書込DW.word
4バイト書込DD.int
指定バイト空けるRESB.skip, .org?

んで、出来上がった 01_day/helloos2/helloos.nas に相当するのが↓これ。
 # big-eyed-hamster さんと同じです。すみません。

  helloos.s

以下でアセンブル。なお、私の手元のマシンは amd64 なので一応 32bit オプション
付き。

 as --32 helloos.s -o helloos-32.img

そして、big-eyed-hamster さんの仰るとおり、これは ELF なので ELF のヘッダ
を切る。なお、ヘッダサイズはまんまですが readelf -h で確認済み。

 dd if=helloos-32.img of=helloos-32-noelf.img bs=1 count=52

ちなみに amd64 のバイナリでアセンブルした場合は ELF ヘッダは 64byteでした。

2010年12月22日水曜日

qemu を gentoo にインストール

qemu を入れる必要があり、なんの気なしに emerge qemu したらエラー。
gcc-3 じゃないとダメとのこと。gentoo-wiki に以下発見。

http://en.gentoo-wiki.com/wiki/QEmu

 emerge -av =sys-devel/gcc-3.4.6*
 gcc-config -l で一覧を見て、デフォルトコンパイラを 3.4.6 に設定
 emerge qemu

2010年12月19日日曜日

みなとみらい万葉倶楽部

何年ぶりかでみなとみらいの万葉倶楽部に来てます。
その中のネットコーナーからの書き込みです。妻と子供と楽しい時間を
過ごしてます。

2010年12月8日水曜日

exponential back-off

単なるメモ。
gdata 失敗したときは exponential back-off でリトライ。

2010年12月1日水曜日

gentoo で root パーティションを lvm に

gentoo インストール時に、lvm で作成したパーティションを root パーティションに
するのにちょっと手こずったのでメモ。

genkernel を実行するときは --lvm オプションを忘れずに。

kernel のブートオプションに dolvm を忘れずに(これは initrd 内の /sbin/init の中を
見てわかった)。あとは real_root=/dev/vg/lv