「3.ivtvインストール」の編集履歴(バックアップ)一覧はこちら
「3.ivtvインストール」(2007/10/20 (土) 14:14:16) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
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 '' オプションを追記します。([[参考>http://lists.atrpms.net/pipermail/atrpms-devel/2006-August/001211.html]])
最初に 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公開鍵>http://www42.atwiki.jp/foltia/pub/const-GPG-KEY]]と[[rpm>http://www42.atwiki.jp/foltia/pub/RPM/i686/ivtv-saa717x-kmdl-2.6.18-8.1.14.el5-0.10.6-131.el5.i686.rpm]]を置きましたので、使ってください。
もちろん無保証ですので、そのつもりで。
[[http://www42.atwiki.jp/foltia/pub/const-GPG-KEY>http://www42.atwiki.jp/foltia/pub/const-GPG-KEY]]
[[http://www42.atwiki.jp/foltia/pub/RPM/i686/ivtv-saa717x-kmdl-2.6.18-8.1.14.el5-0.10.6-131.el5.i686.rpm>http://www42.atwiki.jp/foltia/pub/RPM/i686/ivtv-saa717x-kmdl-2.6.18-8.1.14.el5-0.10.6-131.el5.i686.rpm]]
**自分でbuildする場合
以下に[[SPECファイル>http://www42.atwiki.jp/_pub/foltia/SPEC/ivtv-saa717x.spec]]を置きました。
[[http://www42.atwiki.jp/_pub/foltia/SPEC/ivtv-saa717x.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 でシステムを再起動します。
再起動後、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 のようなメッセージが出るはずです。)
----
累計:&counter(total) 今日:&counter(today) 昨日:&counter(yesterday)
----
コメント
#comment_num2(title_name=コメントログ,log=コメントログ)
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 '' オプションを追記します。([[参考>http://lists.atrpms.net/pipermail/atrpms-devel/2006-August/001211.html]])
最初に 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公開鍵>http://www42.atwiki.jp/foltia/pub/const-GPG-KEY]]と[[rpm>http://www42.atwiki.jp/foltia/pub/RPM/i686/ivtv-saa717x-kmdl-2.6.18-8.1.14.el5-0.10.6-131.el5.i686.rpm]]を置きましたので、使ってください。
もちろん無保証ですので、そのつもりで。
[[http://www42.atwiki.jp/foltia/pub/const-GPG-KEY>http://www42.atwiki.jp/foltia/pub/const-GPG-KEY]]
[[http://www42.atwiki.jp/foltia/pub/RPM/i686/ivtv-saa717x-kmdl-2.6.18-8.1.14.el5-0.10.6-131.el5.i686.rpm>http://www42.atwiki.jp/foltia/pub/RPM/i686/ivtv-saa717x-kmdl-2.6.18-8.1.14.el5-0.10.6-131.el5.i686.rpm]]
**自分でbuildする場合
以下に[[SPECファイル>http://www42.atwiki.jp/_pub/foltia/SPEC/ivtv-saa717x.spec]]を置きました。
[[http://www42.atwiki.jp/_pub/foltia/SPEC/ivtv-saa717x.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
----
累計:&counter(total) 今日:&counter(today) 昨日:&counter(yesterday)
----
コメント
#comment_num2(title_name=コメントログ,log=コメントログ)