source code
I publish the source code for slimrio and a list of changes I have made under the terms of the GNU General Public Licence.The kernel included in the root tar file is built from linux 2.2.14-rmk4 modified by Rio to add support for the "mercury" hardware (built with config arch/arm/def-configs/mercury), then heavily patched to compile with gcc-3 by me, plus Jeff Mock's patch to make the volume control the line out jack. There is still a bug in it I would really like to fix: it has to do with NFS and lseek and it means that fdopen() doesn't work, which in turn means that sshd doesn't work (hence all that mucking about with netcat on port 5000).
My root image includes an empty /il-binary.o file because the bootloader kernel seems to require its presence. I do not have the source to build this file, so if for some bizarre reason you want the Rio's HPNA port to work, you'll have to obtain the proprietary module from the original root image. This isn't necessary if you want to use ethernet.
acknowledgements
I am indebted to several other projects, in particular, to the ones from which I copied code:- slimp3slave for much of the SLIMP3 protocol handling
- Reza's Rio Receiver for some Rio LCD driver code
- Jeff Mock for the kernel line-out volume patch
Other items included in the filesystem image came from these open source projects:
For all of these (and probably some more libraries I've forgotten about), I simply installed debian source packages and scratchbox cross-compiled them. I'm afraid I wasn't sufficiently well-organised to note package names and version numbers---I just used whatever apt-get inside scratchbox found for me---but I doubt if it matters much; slimrio is not at all fussy.