Okay. Sorry about the delay. Read this entire post twice before you enter any commands.
The command to inspect your boot page options is
This will tell you at a minimum which partition is your active one, hda4 or hda7.
bootpage -p /dev/hda
Assume your active partition is 7. To stop any upgrades you would do:
That will prevent rc.sysinit from calling InstallSw.tcl during the boot process that follows the phone call. I leave my DTiVo in this state all the time. You can look in rc.sysinit and see where this happens.
bootpage -P "root=/dev/hda7 upgradesoftware=false" /dev/hda
If anything besides "root=/dev/hdax" is shown to be present with the bootpage -p, include it in the string you give to bootpage -P each time.
When your ready for the upgrade to happen you would do the following:
Force a call home.
bootpage -P "root=/dev/hda7" /dev/hda
After the call completes force a reboot.
You should see a message to the effect that the TiVo software is being upgraded.
As soon as that completes the TiVo will begin another reboot. You pull the power plug as soon as that happens so the new kernel doesn't get to hose your large drive.
Pull the drive and place in your PC.
I always check to make sure killinitrd doesn't need to be rerun and make sure cachecard drivers don't need to be reinstalled(if you have a cache card) or just do both - it doesn't hurt anything.
Perform the copykern process as documented.
You also need to make sure your hacks get reinstalled if they aren't under /var.
Next, if these apply to you, copy over your rc.sysinit.author, .profile, .bash_logout and/or any other modified files you have in partition 7 to partition 4, which will be your new active partition.
Put the drive back in the TiVo and you should be good to go.
Of course if your current active partition is hda4 when you start this process, swap the fours and sevens.
You will also want to repeat the bootpage commands at the top of this post to prevent any further upgrades from happening without you knowing about it.