Skip to content

Commit 1c2fcc9

Browse files
committed
feat: Add dvb-usb-dvbsky extension for MyGica T230C DVB-T/T2/C USB stick
1 parent e67c9ea commit 1c2fcc9

10 files changed

Lines changed: 99 additions & 0 deletions

File tree

.kres.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ spec:
1717
- drbd
1818
- dvb-cx23885
1919
- dvb-m88ds3103
20+
- dvb-usb-dvbsky
2021
- ecr-credential-provider
2122
- fuse3
2223
- gasket-driver

MAINTAINERS.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ If the field is marked as `Needs Maintainer`, it means that the package is curre
2323
| drbd | Needs Maintainer | NA |
2424
| dvb-cx23885 | Skyler Mäntysaari | [samip5](https://github.com/samip5) |
2525
| dvb-m88ds3103 | Yehia Amer | [yehia2amer](https://github.com/yehia2amer) |
26+
| dvb-usb-dvbsky | Rokoucha | [rokoucha](https://github.com/rokoucha) |
2627
| ecr-credential-provider | Florian Ströger | [Preisschild](https://github.com/Preisschild) |
2728
| fuse3 | Sidero Labs | NA |
2829
| gasket-driver | Sidero Labs | NA |

Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ TARGETS += ctr
7878
TARGETS += drbd
7979
TARGETS += dvb-cx23885
8080
TARGETS += dvb-m88ds3103
81+
TARGETS += dvb-usb-dvbsky
8182
TARGETS += ecr-credential-provider
8283
TARGETS += fuse3
8384
TARGETS += gasket-driver

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,7 @@ tiers based on support level:
123123
| ---- | ---- | ----- | ------- | ----------- |
124124
| [dvb-cx23885](dvb/cx23885) | :white_large_square: contrib | [ghcr.io/siderolabs/dvb-cx23885](https://github.com/siderolabs/extensions/pkgs/container/dvb-cx23885) | `VERSION` | This system extension provides the dvb kernel modules required for Hauppage WinTV-quadHD PCIe tuner built against a specific Talos version. Includes the firmware required. |
125125
| [dvb-m88ds3103](dvb/dvb-m88ds3103) | :white_large_square: contrib | [ghcr.io/siderolabs/dvb-m88ds3103](https://github.com/siderolabs/extensions/pkgs/container/dvb-m88ds3103) | `VERSION` | This system extension provides the dvb-demod-m88ds3103.fw firmware for DVB-S/S2 PCIe cards like DVBSky S952. It is intended to be used as a dependency on existing DVB driver extension dvb-cx23885 that provides the necessary kernel modules. |
126+
| [dvb-usb-dvbsky](dvb/dvb-usb-dvbsky) | :white_large_square: contrib | [ghcr.io/siderolabs/dvb-usb-dvbsky](https://github.com/siderolabs/extensions/pkgs/container/dvb-usb-dvbsky) | `VERSION` | This system extension provides the dvb kernel modules required for DVBSky USB DVB devices, including the MyGica T230C DVB-T/T2/C USB stick built against a specific Talos version. Includes the firmware required. |
126127

127128
### Miscellaneous
128129

dvb/dvb-usb-dvbsky/README.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# dvb-usb-dvbsky system extension
2+
3+
## Installation
4+
5+
See [Installing Extensions](https://github.com/siderolabs/extensions#installing-extensions).
6+
7+
## Usage
8+
9+
Enable the `dvb_usb_dvbsky` module in Talos machine config to enable the tuner.
10+
11+
```yaml
12+
machine:
13+
kernel:
14+
modules:
15+
- name: dvb_usb_dvbsky
16+
```

dvb/dvb-usb-dvbsky/files/dvb.conf

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
blacklist dvb_usb_dvbsky
2+
blacklist dvb_core
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
modules.order
2+
modules.builtin
3+
modules.builtin.modinfo
4+
kernel/drivers/media/rc/rc-core.ko
5+
kernel/drivers/media/dvb-core/dvb-core.ko
6+
kernel/drivers/i2c/i2c-mux.ko
7+
kernel/drivers/media/dvb-frontends/m88ds3103.ko
8+
kernel/drivers/media/dvb-frontends/si2168.ko
9+
kernel/drivers/media/tuners/si2157.ko
10+
kernel/drivers/media/usb/dvb-usb-v2/dvb_usb_v2.ko
11+
kernel/drivers/media/usb/dvb-usb-v2/dvb-usb-dvbsky.ko
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
version: v1alpha1
2+
metadata:
3+
name: dvb-usb-dvbsky
4+
version: "{{ .VERSION }}"
5+
author: Rokoucha
6+
description: |
7+
[{{ .TIER }}] This system extension provides the dvb kernel modules required for DVBSky USB DVB devices, including the MyGica T230C DVB-T/T2/C USB stick built against a specific Talos version.
8+
Includes the firmware required.
9+
compatibility:
10+
talos:
11+
version: ">= v1.14.0"

dvb/dvb-usb-dvbsky/pkg.yaml

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
name: dvb-usb-dvbsky
2+
variant: scratch
3+
shell: /bin/bash
4+
dependencies:
5+
- stage: base
6+
- stage: v4l-uvc-drivers
7+
# The pkgs version for a particular release of Talos as defined in
8+
# https://github.com/siderolabs/talos/blob/<talos version>/pkg/machinery/gendata/data/pkgs
9+
- image: "{{ .BUILD_ARG_PKGS_PREFIX }}/kernel:{{ .BUILD_ARG_PKGS }}"
10+
steps:
11+
- sources:
12+
- url: https://raw.githubusercontent.com/osmc/dvb-firmware-osmc/master/dvb-demod-si2168-d60-01.fw
13+
destination: dvb-demod-si2168-d60-01.fw
14+
sha256: 753e338163d10244837a2fa4ad1258e1f270e3040e21ffa574609814943437c9
15+
sha512: 25d3f6ac7f194b39b7cde7a21abd4acea2fe62fd86e2329010d679537fac83f4b0ef40cb3fafe110bc1f922941a14f111b15c1142267ac69b779a8c093f7627d
16+
- url: https://raw.githubusercontent.com/osmc/dvb-firmware-osmc/master/dvb-tuner-si2141-a10-01.fw
17+
destination: dvb-tuner-si2141-a10-01.fw
18+
sha256: 29cf0b0d20a3040f8e59b0ed548e9d3d54eda0b2d2869708f7bcee9d7cbf7e34
19+
sha512: cbcbc2b9b5b1735e049f2dd57b01fed153a1ed173054ef324ce779f0ac98cbead7bc3883d3f69c2e4e4339a15a13ebaec2168c31e3a1c0982ecd86d9640279b9
20+
prepare:
21+
- |
22+
mkdir -p /rootfs
23+
# {{ if eq .ARCH "x86_64" }} This in fact is YAML comment, but Go templating instruction is evaluated by bldr
24+
install:
25+
- |
26+
export KERNELRELEASE=$(find /usr/lib/modules -type d -name "*-talos" -exec basename {} \+)
27+
28+
mkdir -p /rootfs
29+
30+
xargs -a /pkg/files/modules.txt -I {} install -D /usr/lib/modules/${KERNELRELEASE}/{} /rootfs/usr/lib/modules/${KERNELRELEASE}/{}
31+
depmod -b /rootfs/usr ${KERNELRELEASE}
32+
- |
33+
mkdir -p /rootfs/usr/local/lib/modprobe.d
34+
cp /pkg/files/dvb.conf /rootfs/usr/local/lib/modprobe.d/dvb-usb-dvbsky.conf
35+
- |
36+
mkdir -p /rootfs/usr/lib/firmware
37+
cp dvb-demod-si2168-d60-01.fw /rootfs/usr/lib/firmware
38+
cp dvb-tuner-si2141-a10-01.fw /rootfs/usr/lib/firmware
39+
test:
40+
- |
41+
# https://www.kernel.org/doc/html/v4.15/admin-guide/module-signing.html#signed-modules-and-stripping
42+
find /rootfs/usr/lib/modules -name '*.ko' -exec grep -FL '~Module signature appended~' {} \+
43+
- |
44+
mkdir -p /extensions-validator-rootfs
45+
cp -r /rootfs/ /extensions-validator-rootfs/rootfs
46+
cp /pkg/manifest.yaml /extensions-validator-rootfs/manifest.yaml
47+
/extensions-validator validate --rootfs=/extensions-validator-rootfs --pkg-name="${PKG_NAME}"
48+
# {{ end }} This in fact is YAML comment, but Go templating instruction is evaluated by bldr
49+
finalize:
50+
- from: /rootfs
51+
to: /rootfs
52+
- from: /pkg/manifest.yaml
53+
to: /

dvb/dvb-usb-dvbsky/vars.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
VERSION: "{{ .BUILD_ARG_TAG }}"
2+
TIER: "contrib"

0 commit comments

Comments
 (0)