Contexto
Eu tenho um set-top-box Octagon SF4008 , que é projetado para executar distribuições Linux baseadas no OpenEmbedded . Eu atualmente tenho openATV instalado nele.
Normalmente, os usuários desejam conectar a saída de vídeo desses decodificadores a um monitor e, em seguida, querem assistir aos canais por meio de uma GUI de front-end, como Enigma2 .
Meu caso de uso é diferente. Eu gostaria de transmitir os canais pela rede de computadores. Eu poderia usar o Enigma2 para isso, mas eu considero que o Tvheadend seja mais fácil de usar e mais rico em recursos.
Pergunta
Eu gostaria de rodar o Tvheadend diretamente no set-top-box e estou procurando uma maneira simples de instalá-lo lá.
Opções
O gerenciador de pacotes usado pelo openATV é opkg . Os repositórios pré-configurados contêm muitos pacotes específicos do Enigma2, mas apenas alguns genéricos como perl
, python
, vim
e similares. Não há nenhum pacote Tvheadend lá, nem em qualquer outro repositório compatível com opkg para a arquitetura compatível (armv7l / armhf) que eu conheço.
Os repositórios pré-configurados não contêm ferramentas de compilação como make
, nenhum compilador e nenhuma versão de desenvolvimento das bibliotecas básicas. Portanto, compilar o Tvheadend diretamente no set-top-box exigiria uma configuração bastante complexa. É definitivamente possível e talvez mais fácil compilar em outro lugar. No entanto, eu preferiria usar binários pré-compilados.
Eu sei que o Tvheadend fornece repositórios APT com pacotes Debian para a arquitetura armhf
compatível. Eu também descobri que o opkg pode manipular a instalação de arquivos .deb . No entanto, devido às dependências de tempo de execução, os pacotes externos só funcionariam corretamente quando todas as dependências nativas também estivessem instaladas.
Talvez eu possa instalar o Debian diretamente no set-top-box. Existe um procedimento que inclui reescrever a imagem do kernel e extrair um arquivo do sistema de arquivos raiz. Eu não estou familiarizado com o bootloader e não sei se ou como ele precisa ser modificado para inicializar adequadamente um kernel Linux padrão. Além disso, os drivers de hardware personalizados podem primeiro precisar ser extraídos do kernel Linux atualmente em execução.
Problema
As opções acima mencionadas podem funcionar, mas considero-as desnecessariamente complexas. Eu acredito que deveria haver uma maneira mais simples. Talvez as opções já mencionadas possam ser simplificadas. Ou talvez haja uma maneira muito mais simples da qual eu não estou ciente.