Whilst there is a great deal of work to be done creating the applications which drive the Media Station, there is also a lot of work to be done in creating the distribution on which the applications will run. Creating a distribution entirely from scratch is a huge undertaking, and hence it is suggested that an existing distribution be used as a starting point. This page should detail features expected from the distro itself, problems that must be overcome and ideas on how to achieve the desired results.
- Base distro
Using Debian as a base for this distro seems like a good idea since it provides an excellent package management system (apt) and many of our potential developers (and users?) are likely to be at least familiar with it. It also comes with quite a small footprint if handled carefully and this should allow us to maximise free space to use for AV storage. We'll need to provide a custom kernel amongst many other things though.
Can we modify the Debian installer so that our own kernel gets used instead of the Deb stock, and then include installation of some Base Media-Station packages which will also allow us to set up the system too? What about hardware auto-detection - will we just provide a descriptive menu which allows the user to select their hardware or can we _safely_ do some probing to try and find out what we've got?
Ideally we'd like to support a variety of different hardware including various different brands of DAB and DVB cards. How will we cope with this hardware support, and allow other developers to contribute easily? Perhaps an online repository of drivers kept seperately to an install ISO which can be updated regularly? That way new drivers can be added easily and people can download them and add them to their system via (say) a simple web interface.
Will some drivers have limitations that will affect the functionality of the card, and how will we detect this? Should we allow some sort of 'roll-back' function in case an updated driver module fails for any reason and the user wishes to revert to the previous one?
DVDs are often encrypted and cannot be played back without the 'hacked' libdvdcss library. Since this is potentially illegal in some places, we can't ship our distro with it included. Is it most sensible to follow Debian's lead and provide a set of simple instructions on how to install this support post-install so that it becomes the users' responsibility?
- Updating the distro
If we use Debian as a base for the project, then we should be able to use our own .deb packages which will make it easier to provide updates. Setting up an apt repository is easy, and we could use that, possibly pulling updates to core components not maintained by us from the Debian archives automatically?
- File System
Should we also consider tweaking the file system to optimise for the file sizes we might expect? Do we want to ask the user whether they expect to store MP3s or movies or both etc? Does it actually matter enough to bother the user with, or shall we just try and find a happy medium?
Do we want to use ext3 so that we reduce the risk of metadata corruption, or possibly even consider Reiser4 if it appears stable when it finishes beta?
What do we need?