Rather than all this passing about of files back and forth between TiVo and your PC, mount an NFS share on your TiVo and access that networked partition as if it were local to your TiVo.
Rather than uploading MP3s [Hack #46] to your TiVo to play, or FTPing in to grab the latest version of that Now Playing List for incorporation into your web site [Hack #90], NFS-mount your PC's drive on your TiVo, and read and write files as if the drive were local to TiVo.
Just as we inserted a kernel module to give TiVo access to Closed Captioning [Hack #42], we can do the same to get network filesystem (NFS) support loaded into TiVo's OS. Download a copy of the kernel module (http://themurrays.homeip.net/downloads/tivo/for_tivo/nfs-kernelmod_tivo25-1.zip) and unzip it on your local PC. Upload the nfs-tivo25.o file contained therein to your TiVo and drop it into /var/hack/modules.
While these instructions should work about the same on Series 1 and 2 TiVos, at the time of this writing there is no NFS module for the Series 2.
To activate the kernel extension, type the following at TiVo's Bash prompt:
/sbin/insmod -f /var/hack/modules/nfs-25.o
There are a plethora of NFS servers out there for Windows, but one of the more popular ones is the XLink NFS Server (http://www.xlink.com/eval.htm). It's a breeze to setup and get working with your TiVo.
Bring up the XLink NFS Server (see Figure 4-14), and click the New button to create a new mount point. The NFS Server Export tool shown in Figure 4-15 lets you configure and set up the directory for remote mounting.
Setting up security on an NFS mount can be a really tricky thing. But since you are supposed to be working behind your home network's firewall, we can just ignore all that. Give all clients read/write access to the directory. This will let the TiVo mount the directory, get files, and put files over the network.
Click OK. The new mount should show up in the main XLink NFS Server window (see Figure 4-16).
There is no graphical tool to set up NFS mounts on Linux. On a Red Hat box, make sure that you have the nfs-utils RPM installed on your system; then edit your /etc/exports file, adding the directory that you wish to allow your TiVo to mount. Such a configuration directive should look something like this:
This command will export /tivodir over NFS, restricting access to only tivo.homenetwork.net. But when the TiVo does connect, it has full read/write access to that directory.
/etc/rc.d/init.d/nfs restartShutting down NFS mountd: [ OK ] Shutting down NFS daemon: [ OK ] Shutting down NFS quotas: [ OK ] Shutting down NFS services: [ OK ] Starting NFS services: [ OK ] Starting NFS quotas: [ OK ] Starting NFS daemon: [ OK ] Starting NFS mountd: [ OK ]
Let's assume you have an NFS server running on a PC named nfs.homenetwork.net, which shares a /for_tivo directory to be mounted by your TiVo. Create a /var/mnt directory under which to keep NFS-mounted directories. Create a subdirectory named appropriately for the machine and directory you are going to mount: