Tiger's MFS Tools 2.0 CD works fine for me, but this meant that I had to boot off the CD to access the disk, which is cumbersome if you want to make many additions or have several TiVos to upgrade (so far I've done my own, a friend's, my mother's and my brother's). In particular, other programs installed on my PC (like my favourite editor) were not easily available when booting from the CD.
I have an old PC running Debian GNU/Linux 3.0 with the bunk-1 kernel update to 2.4.22, which allows access to disks larger than 137 GB. To add TiVo partition support, here is what I did.
/usr/src.
I used the 2.4.22 kernel sources, but it is
probably best if you use the sources for your current kernel.
This patch was part of the 2.4.20-4.15 kernel patch set from WOLK, but I extracted just the TiVo partition support part. Here are the relevant entries from the change log.cd /usr/src/kernel-source-2.4.22 patch -p1 < ../tivo-partition-support-1.patch
kernel-source-2.4.22/Makefile to define "EXTRAVERSION = -2-686" at the top.
This was done to keep the same kernel version, 2.4.22-2-686, as my existing one,
so I didn't need to remake the kernel modules.
/boot/config-2.4.22-2-686 on my system)
to kernel-source-2.4.22/.config and ran make menuconfig
from the kernel-source-2.4.22 directory.
Included the following features directly into the kernel
(select the option and press Y).
Previously the IDE support was in a module, but with that it seemed to ignore the
IDE kernel options (bswap etc) I specified - perhaps this
is only a problem when using initrd.
ATA/IDE/MFM/RLL support ---> ATA/IDE/MFM/RLL support
ATA/IDE/MFM/RLL support ---> IDE, ATA and ATAPI Block devices ---> Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support
ATA/IDE/MFM/RLL support ---> IDE, ATA and ATAPI Block devices ---> Include IDE/ATA-2 DISK support
File systems ---> Partition Types ---> TiVo partition map support
.config by hand:
CONFIG_IDE=y CONFIG_BLK_DEV_IDE=y CONFIG_BLK_DEV_IDEDISK=y CONFIG_TIVO_PARTITION=y
or whatever is an appropriate location and name for your kernel image.cd /usr/src/kernel-source-2.4.22 make dep make bzImage cp -p arch/i386/boot/bzImage /boot/vmlinuz-2.4.22-2-686-tivo
/etc/lilo.conf
image=/boot/vmlinuz-2.4.22-2-686-tivo
label=2.4.22-bswap
read-only
initrd=/boot/initrd.img-2.4.22-2-686-bunk
append="ide=nodma hdb=bswap"
and ran lilo. This is for a TiVo disk is installed on
/dev/hdb (primary slave drive). Alternatively, you can leave out
the append line and specify it on the command line when you
boot the kernel.
Of course this step is different if you use another boot loader like Grub.