Gar-minimyth for other processors/motherboards

Announce/Discuss projects you are working on for MiniMyth

Moderator: Pablo

markk
Member
Posts: 39
Joined: Tue Dec 23, 2003 9:42 pm
Location: London, England

Gar-minimyth for other processors/motherboards

Post by markk »

Having tinkered with using my master backend (p4 based) to drive my main tv, I'm now sold on the idea of using a more powerful setup for my main frontend. I do however like the minimyth/diskless setup and my build with the latest GAR setup was pretty straightforward (if slow :-))

So my question is - has anyone attempted to use the gar minimyth build for other motherboard/processor combinations?

My initial thoughts are:-

1. more 'common' intel/amd processors should be fine with a vanilla kernel - with appropriate changes to the kernel config for network cards etc
2. no need for unichrome and x patches. (ie. vanilla Xorg)

I am however thinking about an Athlon 64 based system with nvidia graphics and this is where it potentially gets messy. I have little understanding of cross-compiling and suspect from reading various forum posts and looking at the gar setup that I would need to build from an Athlon 64 based system - as certain binaries are taken from the build system. Additionally, I can't see how to get around the nvidia installer (I need the nvidia closed source driver for interlaced outputs).

Anyone have any thoughts or suggestions?

Thanks in advance

Mark
gugux
Contributor
Posts: 86
Joined: Sun Apr 24, 2005 8:00 am

Me too

Post by gugux »

Hi,

I'd like to make the same thing too. Maybe we can coordinate our efforts ?
Pablo
Site Admin
Posts: 4182
Joined: Tue Dec 14, 2004 2:13 am
Location: La Jolla
Contact:

Post by Pablo »

There are instructions for creating a diskless frontend using Gentoo. You might give that a try.

Personally, the fanatic in me keeps me from using the NVidia solution, because the needed drivers are closed source. However, it is possible to create a GAR package that will install the closed source NVidia drivers.

I have never bothered to track down what cross environment packages are picking up the binaries from the build environment. However, there is no reason that any package should, so once the offending package is found, it can be fixed.
gugux
Contributor
Posts: 86
Joined: Sun Apr 24, 2005 8:00 am

Post by gugux »

Pablo wrote:There are instructions for creating a diskless frontend using Gentoo. You might give that a try.
I'll check that.
Pablo wrote:Personally, the fanatic in me keeps me from using the NVidia solution, because the needed drivers are closed source. However, it is possible to create a GAR package that will install the closed source NVidia drivers.
Yes, but from what I've understood ATI drivers are worse ?
Pablo wrote:I have never bothered to track down what cross environment packages are picking up the binaries from the build environment. However, there is no reason that any package should, so once the offending package is found, it can be fixed.
You are using GAR too for the actual minimyth ?
gugux
Contributor
Posts: 86
Joined: Sun Apr 24, 2005 8:00 am

Post by gugux »

gugux wrote:
Pablo wrote:There are instructions for creating a diskless frontend using Gentoo. You might give that a try.
I'll check that.
Pablo wrote:Personally, the fanatic in me keeps me from using the NVidia solution, because the needed drivers are closed source. However, it is possible to create a GAR package that will install the closed source NVidia drivers.
Yes, but from what I've understood ATI drivers are worse ?
Pablo wrote:I have never bothered to track down what cross environment packages are picking up the binaries from the build environment. However, there is no reason that any package should, so once the offending package is found, it can be fixed.
You are using GAR too for the actual minimyth ?
Hmmm, ok that one was stupid :-)

I downloaded gar with perforce, suppressed what I found related to VIA C3 platform and I'm currently compiling. Are there other things I should do to have a non-C3-dependent minimyth ?
gugux
Contributor
Posts: 86
Joined: Sun Apr 24, 2005 8:00 am

progress

Post by gugux »

Hi,

Well I've had quite some problems with the compilation of gar-minimyth, I was able to go to the end of the compilation, but the result is not really usable.

BTW, is it normal that a lot of dirs are read-only ? (like /etc for example) ?

My plan is to make a script to replace all the VIA-specific stuff in gar with non-VIA specific stuff (like xorg.conf, kernel config, etc ...). But it's hard to make some compilation tests, on my P-M 1.4 it took sooooo much time to compile :-)

Bye.
Pablo
Site Admin
Posts: 4182
Joined: Tue Dec 14, 2004 2:13 am
Location: La Jolla
Contact:

Re: progress

Post by Pablo »

gugux wrote:Hi,

Well I've had quite some problems with the compilation of gar-minimyth, I was able to go to the end of the compilation, but the result is not really usable.

BTW, is it normal that a lot of dirs are read-only ? (like /etc for example) ?
Could you provide more information? The build system should not complain about any directories being read only. If you are seeing this, then there is something wrong. Did you set the variables in minimyth.conf.mk? In particular mm_HOME.
My plan is to make a script to replace all the VIA-specific stuff in gar with non-VIA specific stuff (like xorg.conf, kernel config, etc ...). But it's hard to make some compilation tests, on my P-M 1.4 it took sooooo much time to compile :-)
Yes, it does take a long time for a complete build. As I said in the README, it takes approximately 5 hours to build on my 2.4GHz P4 machine. Compiling gcc, glibc, X and QT alot of time.
markk
Member
Posts: 39
Joined: Tue Dec 23, 2003 9:42 pm
Location: London, England

Post by markk »

Just got back from a longish break and my first attempt at an 'altered' version is compiling as I type. So far so good (I've had no problems with the standard gar minimyth, so any problems should be related to my tinkering). I'll post my results when ready...

Pablo - can you shed any light on how to to incorporate the nvidia closed source drivers? an hour or so of googling didn't shed any light.

thanks and regards

Mark
gugux
Contributor
Posts: 86
Joined: Sun Apr 24, 2005 8:00 am

progress 2

Post by gugux »

Hi,

For the read-only FS I'll check later. My main problem is to get how to replace the via driver for X11 with another one. I changed in the Makefile and so it compiled, but it doe snot copy it into the distrib ...

Could you help me on that one ?
gugux
Contributor
Posts: 86
Joined: Sun Apr 24, 2005 8:00 am

Re: progress

Post by gugux »

Pablo wrote:
gugux wrote:Hi,

Well I've had quite some problems with the compilation of gar-minimyth, I was able to go to the end of the compilation, but the result is not really usable.

BTW, is it normal that a lot of dirs are read-only ? (like /etc for example) ?
Could you provide more information? The build system should not complain about any directories being read only. If you are seeing this, then there is something wrong. Did you set the variables in minimyth.conf.mk? In particular mm_HOME.

It's when I boot on the compiled gar that I have some FS read-only, not in the dirs of the compilation. (not sure I was clear on that ?)
Pablo
Site Admin
Posts: 4182
Joined: Tue Dec 14, 2004 2:13 am
Location: La Jolla
Contact:

Re: progress

Post by Pablo »

gugux wrote:It's when I boot on the compiled gar that I have some FS read-only, not in the dirs of the compilation. (not sure I was clear on that ?)
Since the root file system is a cramfs image. As a result, it is read only. Directories are made writable using unionfs. If directories such as /etc are read-only, then unionfs is not working for some reason.

If I were you, I would not enable bootsplash on the command line and enable debugging from the command line (MM_DEBUG=yes).
qortra
New Member
Posts: 2
Joined: Wed May 04, 2005 2:16 am

Other Hardware

Post by qortra »

I have rel-0.18beta1 working on an AMD Duron with onboard Nvidia graphics and Nforce network (quite nasty; uses experimental reverse-engineered drivers in kernel 2.6.11.7).

Firstly, I did not use gar. The pre-compiled binaries seem to work just fine on the Duron, so I pretty much mounted the cramfs image on a loopback device and populated a new image directory with its files (just make sure that you get all the directories there. I think "cp -a" didn't manage to get all of the empty directories, and I have no idea why that is). In any case, not having to compile the whole thing saves a lot of time.

Secondly, I did end up having to compile my own kernel with the hardware support that I need. Now, of course, the default minimyth images comes with modules compiled against the default minimyth kernel. These become useless to you, so you might as well delete them. However, you absolutely need to make sure that you replace the "Unionfs" module. Download the source (google for it) and compile it against your custom kernel. You might also want to stick a line in the "/etc/rc" file towards the beginning to load it (something like "insmod /lib/modules/2.6.11.7/kernel/fs/unionfs.ko" if that's where you put it). gugux, this is the answer to your read-only fs problem! Most likely, unionfs hasn't been loaded for some reason (whether you're using gar to build everything or not). Do an "lsmod" to see if it's loaded.

Thirdly, with respect to the video drivers, just put any drivers that you need in "/usr/X11R6/lib/modules/drivers", and then edit the xorg.conf accordingly. I used the nvidia open source driver nv_drv.o which I actually copied from an XFree86 4.3 install (didn't think it would work, but it did). I don't really think you need that much hardware accelleration to do mythtv unless you have fancy visualizations going.

Some of this is quite a pain, but if you do it right, it should be startlingly easy (and time efficient) to make future minimyth versions compatible with your hardware. Certainly, your kernel and unionfs module can be recycled for the future.

Qortra
Pablo
Site Admin
Posts: 4182
Joined: Tue Dec 14, 2004 2:13 am
Location: La Jolla
Contact:

Post by Pablo »

markk wrote:Pablo - can you shed any light on how to to incorporate the nvidia closed source drivers? an hour or so of googling didn't shed any light.
I played around with it once some time ago, but I never finished because I decided to stick with the CLE266 hardware MPEG accelaration rather than installing an FX5200. Basically, I created a GAR makefile that executed the steps for creating a custom NVidia driver install for a custom kernel. Is your trouble with creating a GAR makefile or with creating a custom NVidia driver for a custom kernel?
Pablo
Site Admin
Posts: 4182
Joined: Tue Dec 14, 2004 2:13 am
Location: La Jolla
Contact:

Re: Other Hardware

Post by Pablo »

qortra wrote:I have rel-0.18beta1 working on an AMD Duron with onboard Nvidia graphics and Nforce network (quite nasty; uses experimental reverse-engineered drivers in kernel 2.6.11.7).

Firstly, I did not use gar. The pre-compiled binaries seem to work just fine on the Duron, so I pretty much mounted the cramfs image on a loopback device and populated a new image directory with its files (just make sure that you get all the directories there. I think "cp -a" didn't manage to get all of the empty directories, and I have no idea why that is). In any case, not having to compile the whole thing saves a lot of time.

Secondly, I did end up having to compile my own kernel with the hardware support that I need. Now, of course, the default minimyth images comes with modules compiled against the default minimyth kernel. These become useless to you, so you might as well delete them. However, you absolutely need to make sure that you replace the "Unionfs" module. Download the source (google for it) and compile it against your custom kernel. You might also want to stick a line in the "/etc/rc" file towards the beginning to load it (something like "insmod /lib/modules/2.6.11.7/kernel/fs/unionfs.ko" if that's where you put it). gugux, this is the answer to your read-only fs problem! Most likely, unionfs hasn't been loaded for some reason (whether you're using gar to build everything or not). Do an "lsmod" to see if it's loaded.

Thirdly, with respect to the video drivers, just put any drivers that you need in "/usr/X11R6/lib/modules/drivers", and then edit the xorg.conf accordingly. I used the nvidia open source driver nv_drv.o which I actually copied from an XFree86 4.3 install (didn't think it would work, but it did). I don't really think you need that much hardware accelleration to do mythtv unless you have fancy visualizations going.

Some of this is quite a pain, but if you do it right, it should be startlingly easy (and time efficient) to make future minimyth versions compatible with your hardware. Certainly, your kernel and unionfs module can be recycled for the future.

Qortra
I suspect that things work because MiniMyth is built for a pentium-mmx, which is rather generic.

MiniMyth has several kernel modules that are compiled outside the kernel: alsa, drm, unionfs, lirc_serial, lirc_serial, lirc_mceusb and lirc_zapstream. If you do not need the newer versions, then you can compile alsa and drm as part of the kernel. If you do not need the lirc kernel modules, then you can skip them as well (you do not need them for IRMAN compatibile or ATI receivers). However, as mentioned, you do need unionfs or things will fail.

The init scripts modprobe unionfs. If it is failing, it is likely that you did not do a depmod after building and installing unionfs.

Even if you wanted to, it is unlikely that you will be able to get hardware accelaration working very easily. Xine, MPlayer and MythTV have been compiled with XvMC-VLD support not XvMC support and they have been linked against libviaXvMC.

With beta2, it will be linked against libXvMCW so that MiniMyth can support both libviaXvMC (for CLE266) and libviaXvMCPro (for CN400). This should support NVidia's XvMC library as well. Assuming that Xine, MPlayer and MythTV can have XvMC and XvMC-VLD compiled in at the same time, it would not be difficult to have the support NVidia XvMC hardware accelaration.
qortra
New Member
Posts: 2
Joined: Wed May 04, 2005 2:16 am

Post by qortra »

MiniMyth has several kernel modules that are compiled outside the kernel: alsa, drm, unionfs, lirc_serial, lirc_serial, lirc_mceusb and lirc_zapstream. If you do not need the newer versions, then you can compile alsa and drm as part of the kernel. If you do not need the lirc kernel modules, then you can skip them as well (you do not need them for IRMAN compatibile or ATI receivers). However, as mentioned, you do need unionfs or things will fail.
Right; I did compile alsa as part of the kernel, and I did not need lirc (actually, I was under the apparently false impression that lirc was strictly userspace and just used the kernels serial drivers).
Even if you wanted to, it is unlikely that you will be able to get hardware accelaration working very easily. Xine, MPlayer and MythTV have been compiled with XvMC-VLD support not XvMC support and they have been linked against libviaXvMC.
I assumed as much, although I did imagine that if I installed the nvidia closed-source drivers, I might be able install a 3d accellerated visualization for the mythmusic plugin. In either case, neither DRM nor any other hardware accelleration were particularly important to me as my Duron 900 ran everything that I needed it to without problems.
The init scripts modprobe unionfs. If it is failing, it is likely that you did not do a depmod after building and installing unionfs.
Yeah, I noticed that they were trying load it, and I didn't know why the modprobe failed while the insmod succeeded. Thanks!

One more thing that I ran into was the alsa configuration. I don't think that the /etc/asoundrc file gets read by default. I had to change the name to /etc/alsa.conf for it to be read properly, and of course I needed to modify it to work with my nforce onboard audio (gugux, you will probably want to modify that file as well if your sound doesn't work at first). My alsa configuration now works pretty well (buffered nicely and everything), though I still can't get the ac3 passthrough to work properly. oh well.
Post Reply