コンテキスト
セットトップボックスがあります。八角形 SF4008、実行するように設計されています。オープン埋め込みLinuxベースの展開。私は現在オープンタイプの全地形車両それにインストールされました。
通常、ユーザーはこれらのセットトップボックスのビデオ出力をモニターに接続し、フロントエンドGUIを介してチャンネルを視聴したいと思います。ミステリー2。
私のユースケースは異なります。コンピュータネットワークを介してチャンネルをストリーミングしたいです。 Enigma2を使用できますが、私の考えではテレビフロントエンドさらにユーザーフレンドリーで機能が豊富です。
質問
セットトップボックスから直接Tvheadendを実行したいのですが、次を探しています。シンプルそこにインストールする方法。
オプション
openATVで使用するパッケージマネージャは次のとおりです。オッケ。事前設定されたリポジトリには多くのEnigma2関連パッケージが含まれていますが、同様のperl
汎用パッケージだけが含まれています。私が知っている限り、Tvheadendパッケージや互換アーキテクチャ(armv7l / armhf)用の他のopkg互換リポジトリはありません。python
vim
事前設定されたリポジトリには、などのビルドツールは含まれておらず、make
コンパイラも含まれておらず、基本ライブラリの開発バージョンも含まれていません。したがって、セットトップボックスから直接Tvheadendをコンパイルするにはかなり複雑な設定が必要です。他の場所でクロスコンパイルすることは間違いなく可能で、簡単になるかもしれません。しかし、私はプリコンパイルされたバイナリを使用することを好みます。
Tvheadendが提供する利点を知っています。APTリポジトリ互換性のあるアーキテクチャを備えたarmhf
Debianパッケージ。私も見つけました。opkgはインストールの.debファイルを処理できます。。ただし、ランタイム依存関係のため、外部パッケージはすべての基本依存関係がインストールされている場合にのみ正しく機能します。
たぶん、セットトップボックスにDebianを直接インストールすることができます。カーネルイメージを再構築し、ルートファイルシステムのアーカイブを抽出するリフレッシュプロセスがあります。私は初めてブートローダーに触れ、標準のLinuxカーネルを正しく起動するためにブートローダーを変更する方法や修正方法を知りません。また、現在実行中のLinuxカーネルから最初にカスタムハードウェアドライバを抽出する必要があるかもしれません。
質問
上記のオプションはすべて機能できますが、不必要に複雑だと思います。私はより簡単な方法があるべきだと思います。おそらく、すでに述べたオプションは単純化されます。あるいは、私が知らないより簡単な方法があるかもしれません。
答え1
より簡単な方法があります。
他の Linux ディストリビューションから起動しないで、代わりに既存の Linux カーネルと chroot 環境を使用してください。ブートローダを変更したり、カスタムハードウェアドライバを新しいカーネルに移植する必要はありません。
適切なchroot環境を作成する簡単な方法の1つは、クリーンシステムを起動することです。 Debian コミュニティはこの目的のために特別なツールを提供します。知られているブート防止プログラム。
答え2
クロスコンパイルが許可されている場合、1つの方法はoe-alianceビルド環境を使用することです。
git
複製用ビルド環境リポジトリを作成し、最近のブランチに切り替えます4.3
。- Bitbakeレシピがあることを確認してください
tvheadend
。存在meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend_git.bb
しない場合は、そのサブモジュールを含める必要があるmeta-openembedded
最新のmaster
四半期に更新してください。origin
- たとえば、次のようにビルド依存関係をインストールします。これオープン埋め込みのご案内です。
- たとえば、次のようにOctagon SF4008に好む画像を構築します
MACHINE=sf4008 DISTRO=openatv DISTRO_TYPE=release make image
。これを完了するには数時間かかりますが、完了したらbuilds/openatv/release/sf4008/tmp/deploy/images/sf4008/openatv-6.3-sf4008-20181219_usb.zip
。 次のようなコマンドを使用してbitbakeビルド環境を有効にします。
$ cd builds/openatv/release/sf4008/ $ . env.source
- を実行して
tvheadend
依存関係なしでビルドしますbitbake -b tvheadend
。次のような場所にipkパッケージを作成する必要があります。tmp/deploy/ipk/cortexa15hf-neon-vfpv4/tvheadend_4.3+git10608+dd37467-r0_cortexa15hf-neon-vfpv4.ipk
これにより、生成されたパッケージをリスナーに直接インストールできます。その依存関係の一部がアップストリームリポジトリから欠落している可能性があります。この場合は、bitbake -b package_name
bitbake(つまり)を使用してコンパイルしてから手動でインストールしてください。
カスタムイメージを使用すると、tvheadendのランタイム依存関係が満たされます。しかし、あらかじめ作成された画像を使用することも可能です。