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