OpenEmbeddedベースのLinuxを実行しているセットトップボックスにTvheadendをインストールする方法

OpenEmbeddedベースのLinuxを実行しているセットトップボックスにTvheadendをインストールする方法

コンテキスト

セットトップボックスがあります。八角形 SF4008、実行するように設計されています。オープン埋め込みLinuxベースの展開。私は現在オープンタイプの全地形車両それにインストールされました。

通常、ユーザーはこれらのセットトップボックスのビデオ出力をモニターに接続し、フロントエンドGUIを介してチャンネルを視聴したいと思います。ミステリー2

私のユースケースは異なります。コンピュータネットワークを介してチャンネルをストリーミングしたいです。 Enigma2を使用できますが、私の考えではテレビフロントエンドさらにユーザーフレンドリーで機能が豊富です。

質問

セットトップボックスから直接Tvheadendを実行したいのですが、次を探しています。シンプルそこにインストールする方法。

オプション

openATVで使用するパッケージマネージャは次のとおりです。オッケ。事前設定されたリポジトリには多くのEnigma2関連パッケージが含まれていますが、同様のperl汎用パッケージだけが含まれています。私が知っている限り、Tvheadendパッケージや互換アーキテクチャ(armv7l / armhf)用の他のopkg互換リポジトリはありません。pythonvim

事前設定されたリポジトリには、などのビルドツールは含まれておらず、makeコンパイラも含まれておらず、基本ライブラリの開発バージョンも含まれていません。したがって、セットトップボックスから直接Tvheadendをコンパイルするにはかなり複雑な設定が必要です。他の場所でクロスコンパイルすることは間違いなく可能で、簡単になるかもしれません。しかし、私はプリコンパイルされたバイナリを使用することを好みます。

Tvheadendが提供する利点を知っています。APTリポジトリ互換性のあるアーキテクチャを備えたarmhfDebianパッケージ。私も見つけました。opkgはインストールの.debファイルを処理できます。。ただし、ランタイム依存関係のため、外部パッケージはすべての基本依存関係がインストールされている場合にのみ正しく機能します。

たぶん、セットトップボックスにDebianを直接インストールすることができます。カーネルイメージを再構築し、ルートファイルシステムのアーカイブを抽出するリフレッシュプロセスがあります。私は初めてブートローダーに触れ、標準のLinuxカーネルを正しく起動するためにブートローダーを変更する方法や修正方法を知りません。また、現在実行中のLinuxカーネルから最初にカスタムハードウェアドライバを抽出する必要があるかもしれません。

質問

上記のオプションはすべて機能できますが、不必要に複雑だと思います。私はより簡単な方法があるべきだと思います。おそらく、すでに述べたオプションは単純化されます。あるいは、私が知らないより簡単な方法があるかもしれません。

答え1

より簡単な方法があります。

他の Linux ディストリビューションから起動しないで、代わりに既存の Linux カーネルと chroot 環境を使用してください。ブートローダを変更したり、カスタムハードウェアドライバを新しいカーネルに移植する必要はありません。

適切なchroot環境を作成する簡単な方法の1つは、クリーンシステムを起動することです。 Debian コミュニティはこの目的のために特別なツールを提供します。知られているブート防止プログラム

答え2

クロスコンパイルが許可されている場合、1つの方法はoe-alianceビルド環境を使用することです。

  1. git複製用ビルド環境リポジトリを作成し、最近のブランチに切り替えます4.3
  2. Bitbakeレシピがあることを確認してくださいtvheadend。存在meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend_git.bbしない場合は、そのサブモジュールを含める必要があるmeta-openembedded最新のmaster四半期に更新してください。origin
  3. たとえば、次のようにビルド依存関係をインストールします。これオープン埋め込みのご案内です。
  4. たとえば、次のように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
  5. 次のようなコマンドを使用してbitbakeビルド環境を有効にします。

    $ cd builds/openatv/release/sf4008/
    $ . env.source
    
  6. を実行してtvheadend依存関係なしでビルドしますbitbake -b tvheadend。次のような場所にipkパッケージを作成する必要があります。tmp/deploy/ipk/cortexa15hf-neon-vfpv4/tvheadend_4.3+git10608+dd37467-r0_cortexa15hf-neon-vfpv4.ipk

これにより、生成されたパッケージをリスナーに直接インストールできます。その依存関係の一部がアップストリームリポジトリから欠落している可能性があります。この場合は、bitbake -b package_namebitbake(つまり)を使用してコンパイルしてから手動でインストールしてください。

カスタムイメージを使用すると、tvheadendのランタイム依存関係が満たされます。しかし、あらかじめ作成された画像を使用することも可能です。

関連情報