Hacking The Tivo
K2 dug up a page where people are discussing hacking the Tivo (note to outsiders: Hacking is a good thing!) Essentially, they figured out how to mount the boot partition, and get a shell running off the serial port. It's a long page, and it doesn't start getting really interesting until you're a third of the way into it, but it opens up the door for fun ways of voiding your warranty like adding bigger hard drives... of course my dream is a way to suck MP3s over and use a few gigs of Tivo as a stereo component, but that'd take some doing.
Does anyone know if TIVO has any of the above in the works?
The difference between Canada and the USA is that in Canada healthcare is a right and gun ownership is a privilege.
Check out http://www.tivo.com/linux/. It has their mods to the kernel and some tools they created. Since they aren't really losing money on the hardware I don't think they care if you hack it.
I've been a regular over on that board for a while (nick: Otto) and there's really only one reason people are hacking it, right now. To add new drives. New drives = more space to record programs. They use a weird filesystem called Media FS for storing the recorded programs, and to add a new drive you have to do some strange things with the Tivo software. You can plug in anything, but the Tivo software won't recognize it unless you follow a certain procedure. Since Tivo won't tell us, we're just figuring it out. There have been 2 reports of someone doing a self upgrade on the space. One guy copied the second drive from a fresh, unused Tivo, the other guy says he figured out how to "bless" a drive so the Tivo software recognizes it.
/dev/ttyS3 and then you can use a null modem cable to connect to that shell while it's back in the Tivo unit. Pretty neat.
Anyway, we've been working on this for a while, and the possibilities are staggering. The Tivo is essentially a PowerPC 50 Mhz or so, with a built in modem/ IDE interface card. Also on board are an MPEG encoder and decoder chips and a TV tuner. Very neat. The serial port is actually used to directly connect to DSS receivers, to change channels reliably.
To connect a shell to the serial port: take out the drive, mount it under linux (use bswap to do byte swapping). To mount it under linux, you probably have to recompile your kernel using the genhd.c from the tivo linux sources. Anyway, once you mount it you'll find several things on several partitions. You can then edit the startup rc.d's to put a shell on
There's a lot of cool swag going on here, but it'll be a while before good mods come out. The only thing I worry about is that some wanker will hack the thing to get around Tivo's service.
Making it not use Tivo's service at all would be extremely difficult. Making it use Tivo service wrongly, by giving the wrong serial or some such, would be easier, but they could crack down on the modified Tivo's and not let people with mods dialin anymore. That would suck. Plus, since Tivo updates the software from time to time, an update to a modded box could ruin the sucker.
Just some of my thoughts, and insights.
---
- Give a man a fire and he's warm for a day, but set him on fire and he's warm for the rest of his life.