GentooでPT2を使う

しばらく放っておいた Linux で PT2 を使う件ですが、とりあえず Gentoo で使えるようにしてみました。PT2 ドライバは DVB 版じゃなくてキャラクタデバイス版です。


B25 オプションを有効にして、 UDP で投げて VLC で再生しているとこ。


最初 DVB 版が使えるのかと思って試していたんだけど、いろいろ情報をかき集めてみたところどうもこちらは PT2 には未対応だということがわかった…。orz  コンパイルして insmod してテストしてみた感じだと BS は拾えてるみたいだったんで、どこかなおせば動きそうなんだけどなぁ。残念。

まぁ、今は『使えるようになった』だけであって、これからいろいろアプリを考えなきゃならないんですけどね。

おまけ:pt2関連のパッケージでebuildの練習をしてみた

それから、 ebuild スクリプトの練習も兼ねて、 ebuild スクリプトを書いてインストール/アンインストールを emerge で出来るようにしてみました。

[I] media-tv/recpt1 [1]
     Available versions:  (~)9999 {b25 kernel_linux +modules}
     Installed versions:  9999(13時24分08秒 2010年03月24日)(b25 kernel_linux modules)
     Homepage:            http://hg.honeyplanet.jp/pt1/
     Description:         Earthsoft PT1/PT2 Char-Driver & Recording Tool

[I] media-tv/arib25 [1]
     Available versions:  (~)0.2.4
     Installed versions:  0.2.4(13時23分46秒 2010年03月24日)
     Homepage:            http://www.marumo.ne.jp/
     Description:         ARIB STD-B25 test program

カテゴリが media-tv でいいのか微妙 (特に arib25…crypt 関係に入れるべき?) なんですが、とりあえずココに。

media-tv/recpt1 はテストも兼ねて wget じゃなくて mercurial でソースを取得、 ebuild 内の econf で b25 の有効/無効が効くように軽くパッチをあて、カーネルモジュールとバイナリをコンパイル & インストールするようにしました。また、 USE="b25" を指定したときには、 media-tv/arib25 が必須になるように依存関係を書いてあります。

media-tv/arib25 は一時配布先からソースを取得して、 pt1 キャラクタドライバの過去のソースに含まれていた arib25 の Linux 対応ソース (現在は消えてる) との差分パッチを取得したものを当ててコンパイルするように作ってみました。またインストールは /usr/local 以下ではなく、 Gentoo 標準の /usr 以下に配置するように変えてしまいました。


ライセンスとかディスクリプションとかをもうちょっと見直して、公開できるようなら公開するかもしれません。そうなると arib25 っていう名前も何か適当過ぎるので arib-std-b25 とかフルで名前つけるべきかな。 app-crypt/arib-std-b25 (MULTI2復号処理だからcrypt) とか media-tv/arib-std-b25 (TVの規格名だからtv) とかがいいかなぁ。
portage のカテゴリの基準ってどこ見ればいいんだっけ。

GentooでPT2やらHDUSやらを使うときのコツ

前も書いたかもしれないけど。スマートカードのサービス周りが少し分かりにくいので再度メモ。

  • スマートカードのサービスは sys-apps/pcsc-lite を emerge すると入ります。
  • 一般的なスマートカードのドライバは app-crypt/ccid 。 SCR3310 とかはコレだけでいけます。
    • app-crypt/ccid は sys-apps/pcsc-lite に依存してるので、これを入れれば両方入ります。
  • スマートカードサービスを立ちあげるには /etc/init.d/pcscd を start します。
$ sudo emerge -v ccid                 ←依存関係にあるもの (pcsc-lite等) も一緒に入る
$ sudo /etc/init.d/pcscd start        ←pcscd サービススタート
$ sudo rc-update add pcscd default    ←起動時に pcscd が自動でスタートするように登録