Eu finalmente faço funcionar. Eu criei um repositório git com um script, patches e instruções. Se alguém também estiver lidando com esse problema, clone este repositório e siga os seguintes passos (estes também são descritos no README em o repositório):
Linux
Repositório do Clone Hardkernel Linux
git clone --depth 1 https://github.com/hardkernel/linux.git -b odroidc2-3.14.y
cd linux
Aplique o patch que permite que você compile um driver de vídeo como um módulo (tomei este passo em LibreELEC media_build edition )
patch -p1 < ../odroidC2-kernel/allow_amlvideodri_as_module.patch
Aplicar configuração padrão do Odroid C2
make odroidc2_defconfig
Agora modifique a configuração
make menuconfig
E defina os seguintes valores (pressione Y para selecionar, N para remover e M para selecioná-lo como um módulo)
Device Drivers
Amlogic Device Drivers
ION Support
ION memory management support = Yes
Amlogic ion video support
videobuf2-ion video device support = M
Amlogic ion video devic support = no
V4L2 Video Support
Amlogic v4l video device support = M
Amlogic v4l video2 device support = no
Amlogic Camera Support
Amlogic Platform Capture Driver = no
Multimedia support = M
Compile o kernel
make -j5 LOCALVERSION=""
O parâmetro LOCALVERSION é apenas para evitar o sinal "+" no nome do kernel. Após a compilação bem sucedida, instale os módulos, kernel e reinicie o sistema
sudo make modules_install
sudo cp -f arch/arm64/boot/Image arch/arm64/boot/dts/meson64_odroidc2.dtb /media/boot/
sudo sync
sudo reboot
Criação de mídia
Clone o repositório media_build e tente criá-lo.
git clone https://git.linuxtv.org/media_build.git
cd media_build
./build
O comando de compilação provavelmente falha. Ignore este erro e continue com as etapas a seguir. O script a seguir também é inspirado na edição media_build do LibreELEC e inclui apenas o driver de vídeo no módulo de mídia.
../odroidC2-kernel/add_video_driver_module.sh
Para evitar possíveis problemas com a compilação, tente desativar o suporte ao controlador remoto e todo o adaptador USB que você não precisa. Tente executar:
make menuconfig
Isso provavelmente resultará em um erro semelhante ao seguinte:
./Kconfig:694: syntax error
./Kconfig:693: unknown option "Enable"
./Kconfig:694: unknown option "which"
Você precisa editar o arquivo v4l/Kconfig
e alinhar com os espaços as linhas impressas no erro. As linhas precisam estar alinhadas com as anteriores. Em seguida, execute o make menuconfig
novamente. Provavelmente, você precisa fazer este passo várias vezes.
Se você vir um menu em vez do erro, poderá modificar a configuração da seguinte maneira:
Remote Controller support = no
Multimedia support
Media USB Adapters
## Disable all driver you don't need ##
Aplique o seguinte patch
patch -p1 < ../odroidC2-kernel/warning.patch
Faça a seguinte alteração para evitar erros e compilar o kernel
sed -i 's/#define NEED_PM_RUNTIME_GET 1/\/\/#define NEED_PM_RUNTIME_GET 1/g' v4l/config-compat.h
make -j5
Possivelmente, você precisa executar a etapa anterior (sed e make) várias vezes antes de ser bem-sucedida.
Após a compilação, instale os módulos e reinicie o sistema
sudo make install
sudo reboot
A etapa final é adicionar o módulo amlvideodri
em /etc/modules
para que seja carregado na inicialização.
sudo echo "amlvideodri" >> /etc/modules
Isso é tudo. Agora você pode assistir seus vídeos acelerados com DVB-T e HW no Kodi.