Upgrading a TiVo Premiere or Premiere XL to 2TB and 317 hours of space is quite easy thanks to the jmfs tool by Comer of the TiVo Community. So I upgraded last week. It took 7 hours just to copy the data, but it was worth it. My TiVo went from always on the edge of full to 48%!
Here is how to do it without a CDROM drive or Windows machine.
It seems that the 3 most common Western Digital drives used to upgrade a TiVo to 2TB are:
I went with the WD20EARS. It is not pre-tuned for DVR use, but it can be with 1 or 2 tweaks. It's actually fine with no tweaks at all. I didn't make any.
Starting from a Fedora Linux laptop or workstation; configure a blank USB stick to boot the JMFS tools image. These instructions assume the USB stick is /dev/sdb.
Partition the USB stick, and set the partition as type '83 Linux' and flag it as bootable.
echo '0,+,0x83,*' | sfdisk /dev/sdb
Create a filesystem to hold the JMFS files.
mke2fs /dev/sdb1 e2label /dev/sdb1 jmfs
Mount the disk under /media/jmfs. An unplug and replug should do that automatically.
Copy grub to the USB stick
mkdir -p /media/jmfs/boot/grub/ # adjust path below if your aren't on 64bit cp -p /usr/share/grub/x86_64-redhat/* /media/jmfs/boot/grub/
Create a grub entry to boot Slax / JMFS tool
cat <<EOF > /media/jmfs/boot/grub/grub.conf default=0 timeout=5 root=(hd0,0) title jmfs kernel /boot/vmlinuz ramdisk_size=6666 root=/dev/ram0 rw initrd /boot/initrd.gz EOF
Install grub boot loader to the partion. Note hd1 corresponds to sdb. Sdc would be hd2 for example.
grub grub> device (hd1) /dev/sdb grub> root (hd1,0) grub> setup (hd1) grub> quit
Copy jmfs ISO contents to USB
mkdir jmfs mount -o loop jmfs.iso jmfs cp -rp jmfs/* /media/jmfs/ umount jmfs
Unmount and safely remove the USB stick.
Now you can install both the old and new TiVo hard drives in the computer, and boot from the USB stick. Continue with the upgrade or tweak the disk first.
Perform the Upgrade
If you chose not to modify the drive, or you are already done with that, boot from the USB stick and follow the prompts to perform the upgrade. It's a menu driven set of 3 steps.
See the original Premiere Drive Upgrade Instructions - and all-in-one jmfs Live CD image, and another set of TiVo Premiere instructions here.
You're done! Enjoy!
Optionally Test and Tune the Disk for DVR Use
The tools to test and adjust drive settings are:
The cheapest disk, WD20EARS, is not pre-tuned for DVR use, because the AAM acoustic settings are not optimized for silence over performance. Even though it is very quiet already, you can adjust this setting to match the WD20EVDS for example by setting AAM to 128 with the Hitachi Feature Tool. I tried to do this, but the tool failed to detect the drive. Rather than fight it, I just put it in the TiVo. It's very quiet already anyway.
To optionally adjust the acoustic settings and the intellipark feature, you need to boot into DOS.
Create a bootable DOS USB stick. You could add another partition to the previous USB stick, but to keep it simple grab another blank stick.
echo '0,+,0x0e,*' | sfdisk /dev/sdb dd if=/dev/zero of=/dev/sdb1 bs=512 count=1
Create a label a DOS filesystem on the partition.
mkdosfs -F16 /dev/sdb1 dosfslabel /dev/sdb1 wdtools
Copy FreeDOS to the disk. Let's boot up the image in QEMU and use XCOPY.EXE to place the contents on the USB stick and make it bootable with the SYS.COM command.
wget http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/un... qemu-kvm -boot a -fda balder10.img -hda /dev/sdb xcopy /E /N a: c: sys c:
Destroy the QEMU machine and mount the disk under /media/wdtools. Unplug and replug should do that automatically.
Copy grub files to the disk.
cd /media/wdtools mkdir grub cp /usr/share/grub/x86_64-redhat/* grub/
Create an entry to boot FreeDOS where you can run the disk tools.
cat <<EOF > grub/grub.conf default=0 timeout=10 root=(hd0,0) title FreeDOS makeactive chainloader +1 EOF
Install grub boot loader to the partion. Note hd1 corresponds to sdb. Sdc would be hd2 for example.
grub grub> device (hd1) /dev/sdb grub> root (hd1,0) grub> setup (hd1) grub> quit
Test the USB stick. You can boot from the USB stick in a window to test it.
qemu-kvm -hda /dev/sdb
Download Western Digital's Data Lifeguard Diagnostic for DOS (CD) and copy the executable to the USB stick.
mkdir wd-diag504f mkdir -p /media/wdtools/tools mount -o loop Diag504fCD.iso wd-diag504f cp wd-diag504f/DLGDIAG*.* /media/wdtools/tools/ umount wd-diag504f
Download Hitachi Feature Tool v2.12 and copy the contents to the USB stick.
mkdir hitachi mount -o loop hitachi-featuretool-ftool_211.iso hitachi mkdir -p /media/wdtools/tools/ cp -r hitachi /media/wdtools/tools/ umount hitachi
Download WDIDLE3.EXE v1.05 and unzip to the USB stick.
cp wdidle3_1_05.zip /media/wdtools/tools/ cd /media/wdtools/tools unzip wdidle3_1_05.zip
I had to adjust the path in autoexec.bat to make the Hitachi tool run, and run 'subst a: c:' to make the WD tool happy. Blast from the past...
SET PATH=C:\;c:\tools\hitachi;c:\tools\hitachi\dos subst a: c:
The WD tool failed with an unknown error 0141, so I wasn't able to do this. It's probably a good idea to test the drive before upgrading to it, rather than rolling the bones like I did.
You may want to adjust AAM and turn off intellipark. But you don't have to.
Set AAM to 128 using the Hitachi Feature Tool. I wasn't able to do this. For some reason the tool did not detect my drive.
This may be done from Linux instead with hdparm, so you may try that while booted from the jmfs tool.
hdparm -k 1 -M 128 /dev/sda
Intellipark may already be off depending on which model and the date of manufacture. Reboot the TiVo using the menu, as opposed to pulling the power, and if it does not hang on boot up then intellipark is either off or delayed enough to not matter. Do not use this if you do not have to.
Apparently intellipark is now off by default or is no longer a problem, but if it is on and you want to turn it off, use WDIDLE3.EXE.
I didn't bother with this.
Recent comments
1 year 34 weeks ago
1 year 45 weeks ago
1 year 50 weeks ago
1 year 51 weeks ago
3 years 1 week ago
4 years 23 weeks ago
5 years 3 days ago
5 years 3 days ago
5 years 13 weeks ago
5 years 19 weeks ago