I'm no linux programmer but you might get some hacking ideas over at
http://www.dealdatabase.com/forum/
which is a Tivo hacking forum. It seems there might be similarities with how things are protected and how they've been gotten around. Search for monte which is the procedure they use to jump around various bits of code during startup.
This is actually not a bad idea. I, uh, have a Tivo, so I guess that gives me license to talk out of my ass on this matter?
Early Tivos didn't have muc in the way of protection -- in fact, you could stick the drive in your computer, edit the /etc/rc.sh, stick a bash statement in there, and you'd have a shell on your serial port, no problem.
Contractual requirements with DirecTV made them start foiling our fun -- in a way similar to PhatNoise, except that instead of just blinking at you if you corrupted a file, it would copy over a hidden backup, erasing your changes.
I recall three different ways this was overcome:
1. The BOOT rom code would allow them to actually send commands over the serial port (I think) to change the kernel boot parameters-- they were able to use this force the kernel to run a command.
2. Tivo reflashed the boot rom to prevent the above attack, so people started deliberately downgrading to the older version to get the older BIOS, and then went from there
3. Eventually, with the Series 2 boxes, Tivo got wise to both of the above tricks. The last hacks I saw were extremely sophisticated -- it turns out that Tivo wrote some custom tool to package together A. a header B. a kernel image C. a ramdisk D. a signature of B and C into one big file. Hackers figured out a way to corrupt the header A, such that signature D would still check out, but that kernel B would not load ramdisk C, which was what had had the code to check the rest of the system. Get it?
In any case, although some of the challenges they caced are similar to ours, the countermeasures were more sophisticated, which left far more room for errors and exploits.
Please, though, anyone correct me if I'm wrong!
Ben