I recently bought a nice little box (t-online s100) which I think will make a great frontend. It's got Intel i830 graphics, TV out (fs454, same as the xbox), LAN, 128MB RAM, digital audio output, USB etc...
I've got it running Gentoo at the moment, mythfrontend works, IR works, TV out works & so on, but it's BIG.
I know I can strip out all the unneeded libs & so on but having been a minimyth user for quite some time I've had an idea about hacking minimyth to run on the s100.
Obvious things I need to change are the graphics driver, kernel and xorg configs - very easy to do.. but
I know minimyth arrives in a cramfs archive and I think it's all downloaded with the bootloader & uncrammed into RAM. This wouldn't be acceptable for the s100 with its puny 128MB... so...
I'd have 2 options... bung it all on a USB stick with a readonly filesystem, or (as I've done with my Gentoo install) make it nfsrooted.
Will that stand any chance of working?
Once you have the hardware support in the kernel and X, you would need to add support ot the init scripts for the specific hardware configuration. The hardest part here is initializing the audio and video. In particular, determining what settings need to be unmuted using amixer and what setting need to appear in xorg.conf.
MiniMyth has support for booting from a read-only NFS partition. I added it to make development easier. For it to work, the hardware's ethernet kernel module needs to be compiled into the kernel.
MiniMyth does not have support for running the read only fiile system from a local USB flash drive. Although it can boot from a local USB flash drive. it still loads the CRAMFS file system into memory. Adding support for running the read only file system from la local USB flash drive would require compiling the USB kernel modules into the kernel and modiffying the init scripts to recognize that it is using a local drive.
However, I am not sure that MiniMyth can be completely functional in 128MB of memory. the CRAMFS image is less than 64MB of memory, yet MiniMyth requires more than 256MB of memory when using some plugins. I suspect that you will need give up on some plugins in order to get it to run in 128MB of RAM.
One other thing that would decrease the in-memory footprint is to include minimyth.conf, extras, themecache and codecs as part of the filesystem on the USB key rather than loading them into memory after the fact. Also, sending syslog to a remote server rather than logging it locally would also reduce the memory needed.
At the moment, the gentoo nfsroot it runs from has X, evilwm, mythfrontend (& its deps), mythweather, mythmusic, mythvideo & xine. Everything runs just fine in 128MB RAM. It's surprisingly fast even without swap - certainly a lot faster than an xbox mythtv install
For the gentoo install I built everything I could into the kernel apart from intel-agp. Everything apart from xvmc & DRI (which needs the kernel to be patched) just works.
If the hardest part is initialising the audio & video I don't forsee any major problems.
The only snag is that the TV out on the box needs the intel binary drivers to work - AFAIK there's no support for the fs454 port module in the open source driver. Configuring the TV out is easy though.
As far as hardware in the thing is concerned, I have put the output of lspci here: http://www.mythtvtalk.com/ProjectGrayhem/s100/lspci.txt
I'll have a go grabbing all the gar stuff & building this thing - heck it might even be easy enough to 'hack' my way around it & just copy the intel binary drivers to an uncrammed rootfs served by nfs & make the required alterations. A lot of what's in the conf rc script isn't needed - simply because the hardware in the box doesn't have any variations
So I'll take a look at GAR & see how far I can get with it
I just remembered that the board doesn't have the capability to use PXE without pressing a key in the BIOS POST screen either - so what I've done is put a bootloader & nfsroot enabled kernel on a Disk-On_module inside the box. From what I've seen so far it's not going to make that much of a difference to how minimyth would build though (I hope).
Looking at the output of lspci, it appears that GAR MiniMyth has kernel module and Xorg driver support for everything except the Ethernet driver and the i2c bus. I can easily add these and check in the changes. Once this is done, you should be able to NFS boot MiniMyth on the box.
Does the board have a sensor chip (temp, fan, etc)? If so, could you post the part number so that GAR MiniMyth can build the kernel module?
From where can the Focus FS454 driver downloaded?
The GAR MiniMyth build system has settings that control things such as target processor, version of MythTV built, version of Xorg built, and software included in the image. While GAR MiniMyth builds software for the VIA EPIA boards, some NVIDIA based boards and some Intel based boards, in only includes the files for the VIA EPIA boards by default. When you build it, you will want to build it to include the Intel support, but not the VIA or NVIDA support.
Here's the output of sensors-detect:
Adapter: SMBus I801 adapter at e480
V1.5: +1.523 V (min = +1.42 V, max = +1.58 V)
VCore: +0.003 V (min = +1.48 V, max = +1.63 V)
V3.3: +0.009 V (min = +3.13 V, max = +3.47 V)
V5: +0.000 V (min = +4.74 V, max = +5.26 V)
V12: +0.031 V (min = +11.38 V, max = +12.62 V)
CPU_Fan: 0 RPM (min = 4000 RPM)
fan2: 0 RPM (min = 0 RPM)
fan3: 0 RPM (min = 0 RPM)
fan4: 0 RPM (min = 0 RPM)
If you have working audio settings and an xorg.conf file, let me know and I can add them to the init script.
If you want to take the extra stuff out of the main build that's fine. I already have a kernel & stuff so if you want to keep cruft out of minimyth that's totally understandable.
The possible user base for a S100 minimyth build is still very small (ie. me and possible one or two other people), so again - don't feel obliged to keep things in that needn't be.
I went quiet because I've been busy with other stuff (preparing boxes for exhibiting MythTV at a linux show next month) but now I'm on the case again
My plan is first to get minimyth to build okay using generic drivers - adding the intel IEGD binary will come later when I know it all works (should be a simple matter of just adding a script to copy files to the right places I think).
So - I started out on the long road of building minimyth and...
Following the README file in the gar tarball, I've done make clean, make garfiles then found a bunch of issues I'd overlooked...
I fixed the problem of using wrong build locations... got my minimyth.conf.mk file up to scratch (or so I thought)...
Code: Select all
mm_NFS_ROOT="/media/minimyth/rootfs" mm_TFTP_ROOT="/media/minimyth" mm_HOME=/media/gar-minimyth-0.19-13 mm_VERSION_EXTRA ?=s100 mm_INSTALL_CRAMFS=no mm_INSTALL_NFS=yes mm_CHIPSETS ?=intel mm_GARCH ?=pentium-mmx
now I get the error "the directory specified by mm_NFS_ROOT="/media/minimyth/rootfs " does not exist" - when it clearly does. I'll do some more digging to try & fix this - I have a feeling that extra space character shouldn't be there
it should not read mm_NFS_ROOT="/media/minimyth/rootfs"... it should be mm_NFS_ROOT ?=/media/minimyth/rootfs
It looks like you were right in the first place Pablo.
Minimyth, in its current incarnation at least, isn't suitable for this box with its tiny amount of RAM.
I could do a whole lot of tweaking & tuning but I don't know how far it'd get me. So, I regret to say that I'm giving up on it for now.
Thanks for all the guidance, and for your continuing releases - minimyth is the only distro I want for my epia system - and that's got a heck of a lot of life left in it yet
Now my s100 is back to its trusty gentoo nfsroot. I might take up the challenge again, probably after upgrading the s100's ram - another 128MB should do the trick I reckon
I've now got a happy little epia frontend again, my themes are ticking over nicely, there are no linux expos to prepare for so....
Time to once again play with my s100 box!
After the appalling failure to build minimyth on ubuntu & gentoo I'm now looking to use a virtual environment on my fastest box which happens to be running windows (boooo!) .. so I'm going with Fedora Core.
I've had a few goes at trying to customise & downsize other distros for this box but it seems silly when there's a perfectly suitable minimal distro builder here
Or I could just crack on with another theme idea I've had... oh man.
Nah for the good of the communitae & general educational experience it's time the bullet was bitten! I may need lots of help - I thank you in advance