ubuntu编译dvb开源驱动media_build

ubuntu20.04环境下编译TBS系列DVB卡驱动模块安装到系统内核实现Tvheadend识别

一 :编译环境配置

1:ubuntu下载安装:https://ubuntu.com/download/desktop

2:移除旧驱动:sudo apt autoremove  

3:内核更新:sudo apt update

4:依赖库安装

sudo apt-get install build-essential  sudo apt-get install checkinstall

sudo apt-get install dpkg-dev  sudo apt-get install dh-make  sudo apt-get install fakeroot

sudo apt-get install gnupg  sudo apt-get install patchutils libproc-processtable-perl

5:安装内核头文件

sudo apt install build-essential linux-header-$(uname -r)

sudo apt install dkms build-essential linux-headers-$(uname -r)

二:获取源码

1:git clone https://github.com/crazycat69/linux_media   latest  #分支或指定commit 

     git clone https://github.com/tbsdtv/linux_media  master  #分支或指定commit 

2:TBS官方本地下载:https://www.tbsdtv.com/download/index.html  #推荐选择此源码

3:解压源码包至主目录:media_build-2025-04-28.tar.xz

4:进入源码目录

ubuntu@ubuntu-MacBookAir:~$ cd media_build-2025-04-28 

ubuntu@ubuntu-MacBookAir:~/media_build-2025-04-28$ cd media_build

ubuntu@ubuntu-MacBookAir:~/media_build-2025-04-28/media_build$ sudo ./build  

[sudo] ubuntu 的密码:输入设定的权限密码即可

截取编译过程开头日志如下:
Checking if the needed tools for Ubuntu 20.04.6 LTS are available
Needed package dependencies are met.

************************************************************
* This script will download the latest tarball and build it*
* Assuming that your kernel is compatible with the latest  *
* drivers. If not, you'll need to add some extra backports,*
* ./backports/<kernel> directory.                          *
* It will also update this tree to be sure that all compat *
* bits are there, to avoid compilation failures            *
************************************************************
************************************************************
* All drivers and build system are under GPLv2 License     *
* Firmware files are under the license terms found at:     *
* https://github.com/tbsdtv/media_build/releases/download/last *
* Please abort in the next 5 secs if you don't agree with  *
* the license                                              *
************************************************************

make: 进入目录“/home/ubuntu/media_build-2025-04-28/media_build/linux”
wget https://github.com/tbsdtv/media_build/releases/download/last/linux-media.tar.bz2.md5 -O linux-media.tar.bz2.md5.tmp
此处获取临时源码树: https://github.com/tbsdtv/media_build/releases/download/last/linux-media.tar.bz2.md5

三:模块编译生成v4l目录下

make -C /lib/modules/5.15.0-139-generic/build M=/home/ubuntu/media_build-2025-04-28/media_build/v4l  modules
make[2]: Entering directory '/usr/src/linux-headers-5.15.0-139-generic'

  CC [M]  /home/ubuntu/media_build-2025-04-28/media_build/v4l/tbs5520.o
  CC [M]  /home/ubuntu/media_build-2025-04-28/media_build/v4l/tbs5520se.o
  CC [M]  /home/ubuntu/media_build-2025-04-28/media_build/v4l/tbs5530.o
  CC [M]  /home/ubuntu/media_build-2025-04-28/media_build/v4l/tbs5580.o
  CC [M]  /home/ubuntu/media_build-2025-04-28/media_build/v4l/tbs5927.o
  CC [M]  /home/ubuntu/media_build-2025-04-28/media_build/v4l/tbs5301.o
  CC [M]  /home/ubuntu/media_build-2025-04-28/media_build/v4l/tbs5930.o
  CC [M]  /home/ubuntu/media_build-2025-04-28/media_build/v4l/tbs5931.o
  CC [M]  /home/ubuntu/media_build-2025-04-28/media_build/v4l/tbs5590.o

MODPOST /home/ubuntu/media_build-2025-04-28/media_build/v4l/Module.symvers

  CC [M]  /home/ubuntu/media_build-2025-04-28/media_build/v4l/dvb-usb-tbs5220.mod.o
  CC [M]  /home/ubuntu/media_build-2025-04-28/media_build/v4l/dvb-usb-tbs5230.mod.o
  CC [M]  /home/ubuntu/media_build-2025-04-28/media_build/v4l/dvb-usb-tbs5301.mod.o
  CC [M]  /home/ubuntu/media_build-2025-04-28/media_build/v4l/dvb-usb-tbs5520.mod.o
  CC [M]  /home/ubuntu/media_build-2025-04-28/media_build/v4l/dvb-usb-tbs5520se.mod.o
  CC [M]  /home/ubuntu/media_build-2025-04-28/media_build/v4l/dvb-usb-tbs5530.mod.o
  CC [M]  /home/ubuntu/media_build-2025-04-28/media_build/v4l/dvb-usb-tbs5580.mod.o
  CC [M]  /home/ubuntu/media_build-2025-04-28/media_build/v4l/dvb-usb-tbs5590.mod.o
  CC [M]  /home/ubuntu/media_build-2025-04-28/media_build/v4l/dvb-usb-tbs5880.mod.o
  CC [M]  /home/ubuntu/media_build-2025-04-28/media_build/v4l/dvb-usb-tbs5881.mod.o
  CC [M]  /home/ubuntu/media_build-2025-04-28/media_build/v4l/dvb-usb-tbs5922se.mod.o
  CC [M]  /home/ubuntu/media_build-2025-04-28/media_build/v4l/dvb-usb-tbs5925.mod.o
  CC [M]  /home/ubuntu/media_build-2025-04-28/media_build/v4l/dvb-usb-tbs5927.mod.o
  CC [M]  /home/ubuntu/media_build-2025-04-28/media_build/v4l/dvb-usb-tbs5930.mod.o
  CC [M]  /home/ubuntu/media_build-2025-04-28/media_build/v4l/dvb-usb-tbs5931.mod.o
  CC [M]  /home/ubuntu/media_build-2025-04-28/media_build/v4l/dvb-usb-tbsqbox.mod.o
  CC [M]  /home/ubuntu/media_build-2025-04-28/media_build/v4l/dvb-usb-tbsqbox2.mod.o
  CC [M]  /home/ubuntu/media_build-2025-04-28/media_build/v4l/dvb-usb-tbsqbox22.mod.o
  CC [M]  /home/ubuntu/media_build-2025-04-28/media_build/v4l/dvb-usb-tbsqbox2ci.mod.o
  CC [M]  /home/ubuntu/media_build-2025-04-28/media_build/v4l/dvb-usb-tbsqboxs2.mod.o

 日志截取:TBS5922se驱动依赖关系

  LD [M]  /home/ubuntu/media_build-2025-04-28/media_build/v4l/dvb-usb-tbs5880.ko
  LD [M]  /home/ubuntu/media_build-2025-04-28/media_build/v4l/dvb-usb-tbs5881.ko
  LD [M]  /home/ubuntu/media_build-2025-04-28/media_build/v4l/dvb-usb-tbs5922se.ko
  BTF [M] /home/ubuntu/media_build-2025-04-28/media_build/v4l/dvb-usb-tbs5922se.ko
Skipping BTF generation for /home/ubuntu/media_build-2025-04-28/media_build/v4l/dvb-usb-tbs5922se.ko due to unavailability of vmlinux

四:安装驱动模块

1:ubuntu@ubuntu-MacBookAir:~/media_build-2025-04-28/media_build$ sudo make install
[sudo] ubuntu 的密码:
2:模块文件路径: /lib/modules/5.15.0-139-generic/updates/extra/media
3:firmware文件路径:/lib/firmware

五:驱动加载示例

1:ubuntu@ubuntu-MacBookAir:~$ sudo modprobe rtl2830
2:ubuntu@ubuntu-MacBookAir:~$ lsmod | grep rtl2830
   rtl2830 24576 0  
   i2c_mux 16384 1 rtl2830
  dvb_core 155648 4 mn88473,mn88472,cxd2841er,rtl2830

以上信息仅供学习参考,是依据我的实际环境编译出的结果,希望给出建议

© 版权声明

相关文章

暂无评论

none
暂无评论...