3.ivtvインストール


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

TVチューナーカード用のivtv ドライバをインストールします。

注意点ですが、ivtvドライバのうち、特にカーネルモジュールドライバ(kmdl)については
kernelを変更するたびに再インストールが必要になります。


ATrpms からインストールする場合

ちょっと長いですが、以下のコマンドを入力します。
前述したように、/etc/yum.repos.d/ATrpms.repoの記述を enable=0 にしてあるので、--enablerepo=atrpms オプションをつけて install します。
[root@foltia ~]# yum --enablerepo=atrpms install ivtv-firmware.noarch ivtv.i386 ivtv-devel.i386 perl-Video-Frequencies perl-Video-ivtv ivtv-kmdl-2.6.18-8.1.14.el5.i686

installが成功すると、以下のようなメッセージが表示されるはずです。

Installed: ivtv.i386 1:0.10.6-131.el5 ivtv-devel.i386 1:0.10.6-131.el5 ivtv-firmware.noarch 2:20070217-14
ivtv-kmdl-2.6.18-8.1.14.el5.i686 1:0.10.6-131.el5 perl-Video-Frequencies.noarch 0:0.03-4.0.el5 perl-Video-ivtv.i386 0:0.13-8.0.el5
Complete!

なお、PAEやXen対応カーネルを使っている場合や、CentOSのカーネルがupdateされてたりすると、ivtv-kmdlがインストールできないはずです。
linux のカーネルモジュールドライバ(kmdl)は今動作しているカーネルに依存するので、適宜ファイル名を変更する必要があります。

今動作しているカーネルのバージョンは以下のコマンドで確認します。
[root@foltia ~]# uname -r

atrpmsに掲載されているivtv-kmdlのバージョンは以下のようにして調べます。
[root@foltia ~]# yum --enablerepo=atrpms list ivtv-kmdl*

カーネルバージョンに合致するivtvドライバが見つかったら、それを使って先のコマンドを実行します。


SRPMをrebuildする場合

標準とは異なるカーネル…たとえば、i586カーネルやcentosplusのカーネルを使っている場合、ATrpmsに掲載されているrpmファイルはインストールできません。
その場合は各自 SRPMファイルからrebuild する必要があります。

const ユーザでログイン

rootでrebuildを行うのはシステムを危険にさらすので、特に理由がない限り一般ユーザ権限で行います。
(make中にrmコマンド等を実行するので、万が一ファイルにバグがあった場合、最悪システムファイルを消してしまうなどの恐れがあります。)
先に作成した const ユーザに su するかログインしなおします。

buildディレクトリの作成

rpmのrebuildは専用のディレクトリを作る必要があります。以前は自分で mkdir したりする必要がありましたが、
先に epel からインストールした rpmdevtools に専用のコマンドがあります。

[const@foltia ~]$ rpmdev-setuptree

実行後には以下のディレクトリが作成されているはずです。
[const@foltia ~]$ tree /home/const/rpmbuild
/home/const/rpmbuild
|-- BUILD
|-- RPMS
|-- SOURCES
|-- SPECS
`-- SRPMS

5 directories, 0 files

GPG署名の設定

constユーザで作成したrpmにGPG署名を行えるように、
~/.rpmmacros を編集します。

[const@foltia ~]$ vi ~/.rpmmacros

以下の内容を追記します。gpg_name は 先に作成したGPG鍵と同じ内容にします。
%_signature     gpg
%_gpg_name      const (RPM constract User) <const@localhost>

SRPMの取得とインストール

atrpmsから ivtv 0.10.6の src.rpm をインストールします。
[const@foltia ~]$ rpm -ivh http://dl.atrpms.net/all/ivtv-0.10.6-131.src.rpm

または
[const@foltia ~]$ cd ~/rpmbuild/SRPM/
[const@foltia SRPM]$  wget http://dl.atrpms.net/all/ivtv-0.10.6-131.src.rpm
[const@foltia SRPM]$ rpm -ivh ./ivtv-0.10.6-131.src.rpm

src.rpmのインストールが成功すると、以下のファイルができているはずです。
[const@foltia ~]$ tree /home/const/rpmbuild/
/home/const/rpmbuild/
|-- BUILD
|-- RPMS
|-- SOURCES
|   `-- ivtv-0.10.6.tar.gz
|-- SPECS
|   `-- ivtv.spec
`-- SRPMS

ivtv-kmdl のrebuild

ATrpmsのSPECファイルはカーネルモジュールドライバ(kmdl)とコマンドとを作り分けられるように工夫が凝らしてあります。
一般的な rpmbuild コマンドオプションに加えて --define '' オプションを追記します。(参考)

最初に ivtv-kdml をrebuildします。

まず ~/rpmbuild/SPECS/ ディレクトリに cd します。
[const@foltia ~]$ cd ~/rpmbuild/SPECS/
[const@foltia SPECS]$ pwd
/home/const/rpmbuild/SPECS


[const@foltia SPECS]$ rpmbuild -bb --define 'kmdl_userland 0' --target=i686 ./ivtv.spec
target は使用中のPCに合わせます。

正常に終了すると、最後に以下のようなメッセージが表示されるはずです。
ファイルの処理中: ivtv-kmdl-2.6.18-8.1.14.el5-debuginfo-0.10.6-131.el5
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
伸張ファイルの検査中: /usr/lib/rpm/check-files /var/tmp/ivtv-0.10.6-131.el5-buildroot
書き込み完了: /home/const/rpmbuild/RPMS/i686/ivtv-kmdl-2.6.18-8.1.14.el5-0.10.6-131.el5.i686.rpm
書き込み完了: /home/const/rpmbuild/RPMS/i686/ivtv-kmdl-2.6.18-8.1.14.el5-debuginfo-0.10.6-131.el5.i686.rpm
実行中(%clean): /bin/sh -e /var/tmp/rpm-tmp.47821
+ umask 022
+ cd /home/const/rpmbuild/BUILD
+ cd ivtv-0.10.6
+ rm -rf /var/tmp/ivtv-0.10.6-131.el5-buildroot
+ exit 0
[const@foltia SPECS]$

~/rpmbuild/RPMS/i686/以下にrpmファイルができていることを確認します。
[const@foltia ~]$ ls /home/const/rpmbuild/RPMS/i686/
ivtv-kmdl-2.6.18-8.1.14.el5-0.10.6-131.el5.i686.rpm
ivtv-kmdl-2.6.18-8.1.14.el5-debuginfo-0.10.6-131.el5.i686.rpm

ivtvコマンド類のrebuild

次にコマンド類をrebuildします。
[const@foltia SPECS]$ rpmbuild -bb --define 'kmdl_userland 1' --target=i386 ./ivtv.spec
targetをi386にしているのはatrpmsにあわせるためだけです。別にi686でも問題ないでしょう。

正常にrebuild できると、最後に以下のメッセージが表示されるはずです。
伸張ファイルの検査中: /usr/lib/rpm/check-files /var/tmp/ivtv-0.10.6-131.el5-buildroot
書き込み完了: /home/const/rpmbuild/RPMS/i386/ivtv-0.10.6-131.el5.i386.rpm
書き込み完了: /home/const/rpmbuild/RPMS/i386/ivtv-devel-0.10.6-131.el5.i386.rpm
書き込み完了: /home/const/rpmbuild/RPMS/i386/ivtv-debuginfo-0.10.6-131.el5.i386.rpm
実行中(%clean): /bin/sh -e /var/tmp/rpm-tmp.33435
+ umask 022
+ cd /home/const/rpmbuild/BUILD
+ cd ivtv-0.10.6
+ rm -rf /var/tmp/ivtv-0.10.6-131.el5-buildroot
+ exit 0

~/rpmbuild/RPMS/i386ディレクトリ以下にrpmファイルができているか確認します。
[const@foltia ~]$ ls rpmbuild/RPMS/i386/ 
ivtv-0.10.6-131.el5.i386.rpm
ivtv-debuginfo-0.10.6-131.el5.i386.rpm
ivtv-devel-0.10.6-131.el5.i386.rpm

rpmへのGPG署名

rebuildしたrpmをyum localinstall できるようにするため、GPG署名します。
~/rpmbuil/RPMS/ディレクトリにcdした後、以下のコマンドを実行します。

[const@foltia RPMS]$ rpm --resign ./{i386,i686}/ivtv-*
(i386,i686フォルダのivtv-から始まるファイルを全て署名)

パスフレーズが求められたら、GPG鍵作成のときにご自分で指定したパスフレーズを入力します。
もしも忘れてしまったら、GPG鍵を再作成してください。
また、作成の際に入れた本名、メールアドレス、説明と .rpmsmacrosの 記述が異なっていると、パスフレーズは一致しません。

出力結果は以下のようになるはずです。
[const@foltia RPMS]$ rpm --resign ./{i386,i686}/ivtv-*
パスフレーズの入力:
パスフレーズは正常です。
./i386/ivtv-0.10.6-131.el5.i386.rpm:
gpg: WARNING: standard input reopened
gpg: WARNING: standard input reopened
./i386/ivtv-debuginfo-0.10.6-131.el5.i386.rpm:
gpg: WARNING: standard input reopened
gpg: WARNING: standard input reopened
./i386/ivtv-devel-0.10.6-131.el5.i386.rpm:
gpg: WARNING: standard input reopened
gpg: WARNING: standard input reopened
./i686/ivtv-kmdl-2.6.18-8.1.14.el5-0.10.6-131.el5.i686.rpm:
gpg: WARNING: standard input reopened
gpg: WARNING: standard input reopened
./i686/ivtv-kmdl-2.6.18-8.1.14.el5-debuginfo-0.10.6-131.el5.i686.rpm:
gpg: WARNING: standard input reopened
gpg: WARNING: standard input reopened
[const@foltia RPMS]$

GPG署名を確認します。gpg OKと表示されれば正常に署名されています。
[const@foltia RPMS]$ rpm -K ./{i386,i686}/ivtv-*
./i386/ivtv-0.10.6-131.el5.i386.rpm: (sha1) dsa sha1 md5 gpg OK
./i386/ivtv-debuginfo-0.10.6-131.el5.i386.rpm: (sha1) dsa sha1 md5 gpg OK
./i386/ivtv-devel-0.10.6-131.el5.i386.rpm: (sha1) dsa sha1 md5 gpg OK
./i686/ivtv-kmdl-2.6.18-8.1.14.el5-0.10.6-131.el5.i686.rpm: (sha1) dsa sha1 md5 gpg OK
./i686/ivtv-kmdl-2.6.18-8.1.14.el5-debuginfo-0.10.6-131.el5.i686.rpm: (sha1) dsa sha1 md5 gpg OK
[const@foltia RPMS]$

yumコマンドを使ってインストール

buildしたrpmファイルは通常通り、rpm -Uvh でインストールしてもいいのですが、
yum localinstall コマンドを使うと、依存関係を解決して他に必要なパッケージを自動取得してくれるので便利です。

今回の場合は以下のようにします。

~/rpmbuild/RPMS ディレクトリに cd し、ファイルを確認します。

[const@foltia ~]$ cd ~/rpmbuild/RPMS/
[const@foltia RPMS]$ pwd
/home/const/rpmbuild/RPMS
[const@foltia RPMS]$ tree
.
|-- i386
|   |-- ivtv-0.10.6-131.el5.i386.rpm
|   |-- ivtv-debuginfo-0.10.6-131.el5.i386.rpm
|   `-- ivtv-devel-0.10.6-131.el5.i386.rpm
`-- i686
    |-- ivtv-kmdl-2.6.18-8.1.14.el5-0.10.6-131.el5.i686.rpm
    `-- ivtv-kmdl-2.6.18-8.1.14.el5-debuginfo-0.10.6-131.el5.i686.rpm

2 directories, 5 files

パッケージインストールのために、root に su します。
[const@foltia RPMS]$ su

以下のコマンドでlocalinstallします。

[root@foltia RPMS]# yum --enablerepo=atrpms localinstall ./i686/ivtv-kmdl-2.6.18-8.1.14.el5-0.10.6-131.el5.i686.rpm ./i386/ivtv-0.10.6-131.el5.i386.rpm ./i386/ivtv-devel-0.10.6-131.el5.i386.rpm

yumが依存関係を自動的に判断して、以下のように表示されるはずです。

Dependencies Resolved
=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 ivtv                    i386       1:0.10.6-131.el5  ./i386/ivtv-0.10.6-131.el5.i386.rpm  287 k
 ivtv-devel              i386       1:0.10.6-131.el5  ./i386/ivtv-devel-0.10.6-131.el5.i386.rpm  8.3 k
 ivtv-kmdl-2.6.18-8.1.14.el5  i686       1:0.10.6-131.el5  ./i686/ivtv-kmdl-2.6.18-8.1.14.el5-0.10.6-131.el5.i686.rpm  170 k
Installing for dependencies:
 ivtv-firmware           noarch     2:20070217-14    atrpms            130 k
 perl-Video-Frequencies  noarch     0.03-4.0.el5     atrpms             23 k
 perl-Video-ivtv         i386       0.13-8.0.el5     atrpms             23 k 

Transaction Summary
=============================================================================
Install      6 Package(s)
Update       0 Package(s)
Remove       0 Package(s)

Total download size: 641 k
Is this ok [y/N]: 
問題がなければ y でインストールを開始します。

追加ドライバのbuildとインストール

atpmsのivtv-kmdlは 玄人志向 CX23416GYC-STVLP のチップ saa717x のドライバをインストールしてくれないようです。
(ivtv 0.10.6 の i2c-drivers にあるのですが)
そこで追加のrpmを作成してインストールします。

バイナリパッケージの場合

以下に GPG公開鍵rpmを置きましたので、使ってください。
もちろん無保証ですので、そのつもりで。


自分でbuildする場合


以下にSPECファイルを置きました。
http://www42.atwiki.jp/_pub/foltia/SPEC/ivtv-saa717x.spec
※中身は結構手抜きですので、そのつもりで。

~/rpmbuild/SPEC/ ディレクトリ以下に置いて、以下のようにbuildしてください。
(ソースファイルは ivtv と同一ですので、 ivtv-0.10.6-131.src.rpm をインストールしていれば準備は不要です。 )

[const@foltia ~]$ cd ~/rpmbuild/SPECS/
[const@foltia SPECS]$ wget http://www42.atwiki.jp/_pub/foltia/SPEC/ivtv-saa717x.spec
[const@foltia SPECS]$ rpmbuild -bb --target=i686 /home/const/rpmbuild/SPECS/ivtv-saa717x.spec

正常に終了すれば、~/rpmbuild/RPMS/i686/以下に ivtv-saa717x-kmdl というファイルができているはずです。
[const@foltia SPECS]$ ls ~/rpmbuild/RPMS/i686/ivtv-saa717x-kmdl*
/home/const/rpmbuild/RPMS/i686/ivtv-saa717x-kmdl-2.6.18-8.1.14.el5-0.10.6-131.el5.i686.rpm

suしてrpm -ivh でインストールします。
[const@foltia ~]$ su
パスワード:
[root@foltia const]# rpm -ivh rpmbuild/RPMS/i686/ivtv-saa717x-kmdl-2.6.18-8.1.14.el5-0.10.6-131.el5.i686.rpm


動作確認

ivtv一式がインストールできたら、shutdown -r でシステムを再起動します。

dmesg確認

再起動後、rootでログインして、以下のコマンドで起動ログを確認します。
[root@foltia ~]# dmesg | grep ivtv

以下はCX23416GYC-STVLPx2の時のログです。
[root@foltia ~]# dmesg | grep ivtv
ivtv:  ==================== START INIT IVTV ====================
ivtv:  version 0.10.6 (tagged release) loading
ivtv:  Linux version: 2.6.18-8.1.14.el5 SMP mod_unload 686 REGPARM 4KSTACKS gcc-4.1
ivtv:  In case of problems please include the debug info between
ivtv:  the START INIT IVTV and END INIT IVTV lines, along with
ivtv:  any module options, when mailing the ivtv-users mailinglist.
ivtv0: Autodetected Yuan MPG600GR, Kuroutoshikou CX23416GYC-STVLP card (cx23416 based)
ivtv0: Unreasonably low latency timer, setting to 64 (was 32)
ivtv0: loaded v4l-cx2341x-enc.fw firmware (376836 bytes)
ivtv0: Encoder revision: 0x02060039
tuner 0-0043: chip found @ 0x86 (ivtv i2c driver #0)
tuner 0-0061: chip found @ 0xc2 (ivtv i2c driver #0)
saa717x 0-0021: saa7173 found @ 0x42 (ivtv i2c driver #0)
upd64031a 0-0012: chip found @ 0x24 (ivtv i2c driver #0)
upd64083 0-005c: chip found @ 0xb8 (ivtv i2c driver #0)
ivtv0: Registered device video0 for encoder MPEG (4 MB)
ivtv0: Registered device video32 for encoder YUV (2 MB)
ivtv0: Registered device vbi0 for encoder VBI (1 MB)
ivtv0: Registered device video24 for encoder PCM audio (1 MB)
ivtv0: Initialized Yuan MPG600GR, Kuroutoshikou CX23416GYC-STVLP, card #0
ivtv:  ======================  NEXT CARD  ======================
ivtv1: Autodetected Yuan MPG600GR, Kuroutoshikou CX23416GYC-STVLP card (cx23416 based)
ivtv1: Unreasonably low latency timer, setting to 64 (was 32)
ivtv1: loaded v4l-cx2341x-enc.fw firmware (376836 bytes)
ivtv1: Encoder revision: 0x02060039
tuner 1-0043: chip found @ 0x86 (ivtv i2c driver #1)
tuner 1-0061: chip found @ 0xc2 (ivtv i2c driver #1)
saa717x 1-0021: saa7173 found @ 0x42 (ivtv i2c driver #1)
upd64031a 1-0012: chip found @ 0x24 (ivtv i2c driver #1)
upd64083 1-005c: chip found @ 0xb8 (ivtv i2c driver #1)
ivtv1: Registered device video1 for encoder MPEG (4 MB)
ivtv1: Registered device video33 for encoder YUV (2 MB)
ivtv1: Registered device vbi1 for encoder VBI (1 MB)
ivtv1: Registered device video25 for encoder PCM audio (1 MB)
ivtv1: Initialized Yuan MPG600GR, Kuroutoshikou CX23416GYC-STVLP, card #1
ivtv:  ====================  END INIT IVTV  ====================

WARNINGや not found のようなメッセージが表示されていなければOKです。
(先にインストールした ivtv-saa717x-kmdlをインストールしてないと、saa717x not found のようなメッセージが出るはずです。)

lsmod 確認


[root@foltia ~]# lsmod | grep ivtv
ivtv                  122896  0
i2c_algo_bit           12489  1 ivtv
cx2341x                14277  1 ivtv
tveeprom               17745  1 ivtv
i2c_core               23745  9 i2c_ec,upd64083,upd64031a,saa717x,tuner,i2c_i801,ivtv,i2c_algo_bit,tveeprom
videodev               25025  1 ivtv
v4l1_compat            16069  2 ivtv,videodev
v4l2_common            24385  4 tuner,ivtv,cx2341x,videodev

録画確認


[root@foltia ~]# v4l2-ctl -d /dev/video0 -i 0
Video input set to 0 (Tuner 1)
[root@foltia ~]# ivtv-tune /dev/video0 -t japan-bcast -c 52
/dev/video0: 705.250 MHz
[root@foltia ~]# cat /dev/video0 >test.mpg


累計: - 今日: - 昨日: -

コメント
  • TEST - foltia 2007-10-08 16:26:30
コメントログ
コメント:

すべてのコメントを見る
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。