This site will look much better in a browser that supports web standards, but it is accessible to any browser or Internet device.
Tpip is a simple utility to do basic manipulation of TiVo disks. It can be run on the TiVo itself, or on a PC running Linux or BSD. There is no need to turn on byte-swapping, tpip will do byte-swapping itself if necessary.
What can it do?
I wrote tpip to solve the problems people were having when installing one of my LBA48 kernels. Previously it was necessary to use a Linux boot disk/CD with TiVo partition support and byte-swapping turned on, dd the new kernel into place. To make a large swap partition on a Series 1 TiVo, you had to run mkswap on the TiVo itself (due to byte order differences). For info on using LBA48 kernels on a Series 1 TiVo, see my "big disk" page.
With tpip, you can copy save the old kernel, copy a new one into place and initialize the swap partition in a single step without worrying about byte-order issues. Since the code already had to read the boot page and partition table, I added options to print those as well.
Why call it ``tpip''? Well, it started life as ``kernelcp'' but as features crept in I needed a new name. I suppose I was feeling nostalgic for my CP/M days :-)
Options may be specified in short form (single letter), long form, or the shortest unique substring of the long option.
You can get tpip via ftp from http://www.courtesan.com/ftp/pub/TiVo/tpip.tar.gz.
tpip [-abpSsVv] [-P "boot params"] [-k kernel] [-o old_kernel] device tpip [--alternate] [--bootpage] [--kernel=kernel] [--mkswap] [--old_kernel=old_kernel] [--parameters="boot params"] [--partitions] [--swapped] [--verbose] [--version] device
# tpip -k vmlinux-3.0.px -o kernel.bak /dev/hdeIf you asked MFS Tools to create a swap partition larger than 127MiB, you will need to have tpip write the swap header for you, e.g.
# tpip -k vmlinux-3.0.px -o kernel.bak -s /dev/hdeYou should now be able to halt Linux, install the new disk on your TiVo and have *lots* of space. :-)
$ cc -O2 -s -o tpip tpip.cTo build a ppc TiVo binary via cross-compiler:
$ /usr/local/tivo/bin/gcc -DTIVO -O2 -s -o tpip tpip.c