Been messing around with adding mythbackend & mythtv-setup to minimyth to enable minimyth to run as a slave backend (I'd like to be able to add a dvb card to locally minimyth and have it used for live tv).
I've had to add this patch to mythtv as the minimyth ps utility doesn't support the same syntax as a normal distro;
- Code: Select all
diff -Naur mythtv-0.21-old/libs/libmyth/mythcontext.cpp mythtv-0.21-new/libs/libmyth/mythcontext.cpp
--- mythtv-0.21-old/libs/libmyth/mythcontext.cpp 2008-05-11 18:56:13.000000000 +0100
+++ mythtv-0.21-new/libs/libmyth/mythcontext.cpp 2008-06-21 22:14:49.000000000 +0100
@@ -1810,7 +1810,7 @@
#if defined(CONFIG_DARWIN) || (__FreeBSD__) || defined(__OpenBSD__)
char *command = "ps -ax | grep -i mythbackend | grep -v grep > /dev/null";
#else
- char *command = "ps -ae | grep mythbackend > /dev/null";
+ char *command = "ps | grep mythbackend | grep -v grep > /dev/null";
#endif
bool res = myth_system(command,
MYTH_SYSTEM_DONT_BLOCK_LIRC |
Obviously also had to build mythtv with --enable-dvb set in the Makefile & a proper dvb-path setting. Also had to use a custom kernel cfg that enables all dvb & video related options (probably way too many modules built but doesn't seem to increase the image much in size and works for now).
Adding mythbackend & mythtv-setup adds ~1MB to the final nfs tarball. Adding most/all dvb drivers appears to add another ~2.5MB to final tarball (mostly compiled as modules and just including all libs in modules/*/kernel/media/ to be included in minimyth. I'm sure the kernel module size increase can be reduced if only the relevant drivers are installed, but as I use nfs mounted root system it doesn't seem that important (yet).
I can now start the backend daemon & run mythtv-setup and the dvb card drivers are loaded!!
I'm not really suggesting that this becomes part of the default minimyth build (though that would be great
Now I have one issue that has been driving me mad (and stops myth from finding the local dvb card), the dvb nodes are created in /dev with the following (wrong) names;
/dev/dvb0.demux0
/dev/dvb0.dvr0
/dev/dvb0.frontend0
/dev/dvb0.net0
This appears to be udev rules missing from minimyth (unsurprisingly), and I've been googling loads but just can't get it to work properly. Current udev rules in /etc/udev/rules.d/04-minimyth-detect-dvb.rules that I'm trying are;
- Code: Select all
ACTION=="add|remove", KERNEL=="dvb[0-9]*", GOTO="begin"
GOTO="end"
LABEL="begin"
# Import mm_detect_id.
IMPORT{program}="/lib/udev/mm_detect_id"
KERNEL="dvb[0-9].dvr*", NAME="dvb/adapter%n/dvr%n"
KERNEL="dvb[0-9].demux*", NAME="dvb/adapter%n/demux%n"
KERNEL="dvb[0-9].frontend*", NAME="dvb/adapter%n/frontend%n"
KERNEL="dvb[0-9].audio*", NAME="dvb/adapter%n/audio%n"
KERNEL="dvb[0-9].ca*", NAME="dvb/adapter%n/ca%n"
KERNEL="dvb[0-9].osd*", NAME="dvb/adapter%n/osd%n"
KERNEL="dvb[0-9].net*", NAME="dvb/adapter%n/net%n"
KERNEL="dvb[0-9].video*", NAME="dvb/adapter%n/video%n"
LABEL="end"
But nothing changes in the device names. I'm not really sure how to debug udev so any pointers would be very helpful.
I know this isn't really part of minimyth, but any ideas? It seems so close to actually working and doesn't seem to add 'much' to overall size.
Thanks
Peter[/code]
