English > {Single, Dual, Quad} Sundtek SkyTV Ultimate

linuxserver/tvheadend + sundtek

<< < (5/5)

tomasl:
what I noticed is, that the /dev/dvb disappears on the host after ubuntu reboot.
the container then won't start of course.
perhaps that was the reason, that somehow the container lost access to this folder previously and I missed something and just always tried to re-create the container and install drivers inside container and never noticed that there is something wrong with /dev/dvb
so after reboot, when I create the /dev/dvb content with the below commands, the tvh container starts fine and adapter is present in tvh interface. I'll observe further.

mkdir -p /dev/dvb/adapter0
mknod /dev/dvb/adapter0/frontend0 c 212 1
mknod /dev/dvb/adapter0/dvr0 c 212 5
mknod /dev/dvb/adapter0/demux0 c 212 3

Sundtek:
yes that's a stupidity of docker that those nodes have to exist outside of the image before being able to use them inside.

Docker prohibits the use of mknod() inside the docker, if the corresponding major/minor number is not in some kind of list before starting up docker. That special file (with major/minor number) links to the device itself.
That's something where LXR containers are definitely ahead of Docker.

As some workaround for docker you can install the driver on the host and create a config file /etc/sundtek.conf
and put enabledocker=on into it, the driver will just pre-create the nodes and exit.


--- Code: ---        media_get_config(dev->config, "enabledocker", &docker, NULL);
        if (docker && strcmp(docker, "on")==0) {
                system("mkdir -p /dev/dvb/adapter0");
                system("mknod /dev/dvb/adapter0/frontend0 c 212 1");
                system("mknod /dev/dvb/adapter0/dvr0 c 212 5");
                system("mknod /dev/dvb/adapter0/demux0 c 212 3");
                system("mkdir -p /dev/dvb/adapter1");
                system("mknod /dev/dvb/adapter1/frontend0 c 212 7");
                system("mknod /dev/dvb/adapter1/dvr0 c 212 11");
                system("mknod /dev/dvb/adapter1/demux0 c 212 9");
                system("mkdir -p /dev/dvb/adapter2");
                system("mknod /dev/dvb/adapter2/frontend0 c 212 13");
                system("mknod /dev/dvb/adapter2/dvr0 c 212 17");
                system("mknod /dev/dvb/adapter2/demux0 c 212 15");
                system("mkdir -p /dev/dvb/adapter3");
                system("mknod /dev/dvb/adapter3/frontend0 c 212 19");
                system("mknod /dev/dvb/adapter3/dvr0 c 212 23");
                system("mknod /dev/dvb/adapter3/demux0 c 212 21");
                exit(0);
        }

--- Ende Code ---

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln