Skip to content

build(config): disable DVB, TV tuner, and PCI capture drivers while keeping USB webcams - #24

Merged
azagramac merged 4 commits into
masterfrom
develop
Sep 20, 2026
Merged

azagramac merged 4 commits into
masterfrom
develop

Conversation

@azagramac

Copy link
Copy Markdown
Owner

📌 Summary of Changes

This PR migrates the GitHub Actions CI/CD build pipeline to run natively inside a Debian 13 (Trixie) container, resolves runner Out-Of-Memory (OOM) crashes during BTF generation, and trims over 200+ unused DVB/TV capture drivers from the kernel configuration.


🐳 1. GitHub Actions CI/CD Workflow (build-kernel.yml)

  • Native Debian 13 Environment: Added container: debian:trixie to both prepare and build-and-release jobs.
  • Modern Toolchain & BTF: Installed gcc-14, g++-14, and dwarves (Pahole 1.30+) for native GCC 14 compilation and full eBPF/BTF generation (CONFIG_DEBUG_INFO_BTF=y).
  • 10 GB Swap Space Expansion: Dynamically created and mounted a 10 GB swap file (fallocate -l 10G /swapfile) before compilation to expand total virtual memory to 17 GB. This prevents pahole OOM-killer crashes during split-BTF encoding (BTF [M]).
  • Container Bootstrap Fixes: Added an initial 🛠️ Prepare container base tools step (git, sudo, curl, tar, xz-utils) before actions/checkout@v7 to fix missing git/sudo binary errors in minimal Debian docker images.
  • Debian 13 Compatibility: Removed deprecated libncurses5-dev package. Added kmod build dependency required by dpkg-buildpackage.

🧹 2. Kernel Configuration (configs/config-6.19.14-debian13)

  • DVB & TV Capture Drivers Disabled: Disabled 245 unused configuration options, including:
    • DVB Core & Digital/Analog TV (# CONFIG_DVB_CORE is not set, # CONFIG_MEDIA_DIGITAL_TV_SUPPORT is not set).
    • PCI/PCIe Capture Cards (# CONFIG_MEDIA_PCI_SUPPORT is not set - Conexant, SAA7134, Bt878, Digital Devices).
    • USB TV Tuners & SDR (# CONFIG_DVB_USB is not set, # CONFIG_VIDEO_EM28XX is not set, # CONFIG_VIDEO_CX231XX is not set).
  • Webcam Support Preserved: Kept UVC USB Webcam support active (CONFIG_USB_VIDEO_CLASS=m, CONFIG_MEDIA_CAMERA_SUPPORT=y, CONFIG_VIDEO_DEV=m) for Logitech/Elgato webcams and OBS Studio virtual cameras.

📚 3. Documentation (README.md)

  • Workflow Mermaid Diagram: Redesigned the architecture diagram to reflect the actual 3-stage GitHub Actions pipeline (1. Prepare, 2. Build & Release, 3. Telegram Notification) without hardcoded kernel version strings.
  • Hardware Trimming Documentation: Documented DVB & PCI capture card removal under the Hardware Trimming & Bloat Elimination section.

🔍 Verification

  • Local Kconfig verified via grep (CONFIG_USB_VIDEO_CLASS=m, # CONFIG_DVB_CORE is not set).
  • Syntax and step sequence of .github/workflows/build-kernel.yml validated.
  • Git diff reviewed and confirmed clean across all modified files.

@azagramac azagramac self-assigned this Sep 20, 2026
@azagramac azagramac added the enhancement New feature or request label Sep 20, 2026
@azagramac
azagramac merged commit 564b992 into master Sep 20, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant