Updated version attached (upgrade-2.x.zip, old version is upgrade.zip). It has been tested for upgrading from 6.2 to 6.2a or 6.3x, from 6.3x to 6.3x and 8.1a to 8.3, and should work for other SA sw updates (works for 8.3 to 9.1 update). The script has been updated, and will now work for upgrading from 3.1.5x to 6.3x. I don't have any S2.5 tivos, so I'm sure there may be a few things it's missing in regards to those units. It's just a simple shell script, nothing fancy, feel free to edit it all you want (but you better not sell it under ANY circumstances. period. Is that clear enough blhirsch?)

This script will edit installSw.itcl and run it for you. Then it will copy over the hacked kernel you've been using, and copy over startup scripts that it finds (.profile, test.conf, rc.sysinit.author, rc.runfirst, and rc.runlast). It also copies over /etc/group and /etc/passwd for cron. It will copy over backported drivers and your usb.map if you want also.

The script no longer requires a configuration file. A few lines at the top of the script can be edited to include full hack directories or just specific files. It currently looks like this :

Just add anything else you'd need, and it will be copied if found. The crypto line sets the prom password to "factory", comment it out or edit it if you want.

Ftp over the script somewhere on your tivo, remove dos line endings just in case with dos2unix upgrade.sh, and then set permissions with chmod 755 upgrade.sh. Run the script with ./upgrade.sh and answer any questions it asks as it goes along. When it finishes, double check things if you want, and then reboot when you're ready to install the new software.

The script will set network settings in MFS if you want. If so, you will need to reboot one more time manually after the update for the changes to MFS to take effect. It will set a static ip of your choosing, as well as netmask, gateway, and dns addresses. You won't be prompted for this information if you're using a SA tivo.

As always, YMMV and use at your own risk. As a wise man once said, "If it breaks your tivo, you own both halves"

WARNING : The only change that would need to be made by hand, is if the user is upgrading from 3.1.1x or 4.x software (not on the HR10). These software versions use different kernel builds. 3.1.1x uses a 2.4.4 kernel, and 4.x uses a 2.4.18 kernel, while 6.x and higher uses a 2.4.20 kernel. These differences make their respective kernel modules including usb drivers incompatible. If you are upgrading from 3.1.1x or 4.x to 6.x, you will need to manually install a 2.4.20 kernel (either 3.1.5 or 7.2.2-oth-K1 will work) before rebooting. Also make sure if this applies to you, to not copy over the same backported usb drivers that you have been using. You will need to manually install 2.4.20 drivers. Once again, this warning does NOT apply to HR10 users. For HR10 users or 6.x to 6.x users, regardless of software versions, the script should work as-is.

-edit- with the 2.x version, if you are doing an upgrade that requires a new kernel, you can put a compatible kernel named vmlinux.px anywhere on your tivo, and the script will install it if needed.

Da Goon, Thanks for making this available for others. I purchased the slicer back in January and have downloads available to update it to the newest version. Since I already have paid for the slicer, are there any advantages of using your script vs. the slicer on my zippered HR10-250's running either 6.3c or 6.3d to update them to 6.3e?
thanks,
Murray

I have no idea of any advantages/disadvantages since I've never used the slicer or looked at it's code. One thing that would set it apart I would think is the use of a config file to specify certain things to be copied. I don't believe the slicer does anything like that.

Da Goon,
I think I will give this a try. I have a few questions about the configuration file:

1. How do I create it? In windows, ftp it over then use the dos2unix command?
2. What do I name it?
3. Where do I put it?

thanks,
Murray

1. However you want. On your pc, on the tivo, just as long as you strip dos line endings with dos2unix if needed.
2. upgrade.conf (edited the OP, probably should have had that there huh? )
3. anywhere on your tivo

I used your script on my 2nd HR10 and everything seems to be working fine, but I did receive quite a few warnings about no space or directory.

Code:

Initializing First Activation Date
Modifying bootparams to point to /dev/hda7
Creating upgrade messages
upgrade_721_mb.msg does not apply to 357
upgrade_721_ptcm.msg does not apply to 357
Flipping root, setting boot parameters to 'root=/dev/hda7 dsscon=true console=2,
115200 upgradesoftware=false'
OK, reboot the system to use the new root filesystem
11/11:02:07:42: /tvbin/omicron-percei-8.itcl: Attempting exit 0...
Install script complete, continuing...
Post upgrade insanity check
Your new root and kernel partitions correctly
moved to /dev/hda7 and /dev/hda6 Congratulations!
Mounting new root /dev/hda7 on /install
New root mounted, continuing.
Copying hacked kernel...
dd: /dev/hda6: No space left on device
3+0 records in
2+0 records out
Trying again...
dd: /dev/hda6: No space left on device
3+0 records in
2+0 records out
Copying startup scripts, etc...
find: /proc/1203: No such file or directory
copying tools and other hacks
cp: /install/busybox/[: No such file or directory
cp: /install/busybox/[[: No such file or directory
cp: /install/busybox/ash: No such file or directory
cp: /install/busybox/awk: No such file or directory
cp: /install/busybox/bunzip2: No such file or directory
cp: /install/enhancements/varhacks/hack/bin/tivocid: No such file or directory
Disabling firewall
Do you need to copy over backport usb drivers? [y/n]
y
Alright, all done. Reboot for changes to take effect
Enjoy the upgrade

Is this anything I should worry about?
Sorry to pester you so much!
Murray

Those error messages are 100% normal. [, ash, etc are all links to the busybox binary. They're copied first (alphabetical order) so technically the busybox binary wasn't there (yet) for them to be linked to. The error about not enough space is occurring during the kernel copy. It's normal also most likely due to bugs with older versions of mfstools. Nothing to worry about.

My second HR10-250 went through the upgrade with your script successfully without any of those error messages -- either that or I didn't notice them at 4 AM. So I used the Da Goon script for 2 HR10's and the slicer for my other HR10. To answer a question I asked earlier, I would recommend the Da Goon script since your hacks are kept intact.

Goon, not sure if it was the upgrade script, but on the two HR10-250's that were upgraded to 6.3e using the script, the TivoWebPlus auto-upgrade wasn't working. The /TivoWebPlus/.dist directory wasn't there (units had originally been Zippered/rbautch'd). Once I replaced the directory with the contents of the TWP upgrade tgz, the auto-upgrade feature worked fine again.

Perhaps something to check out to make sure the script is catching 'hidden' directories.

[edit: the error had been: sh: /TivoWebPlus/.dist/extract.sh: No such file or directory Error Updating Package ]

Goon, not sure if it was the upgrade script, but on the two HR10-250's that were upgraded to 6.3e using the script, the TivoWebPlus auto-upgrade wasn't working. The /TivoWebPlus/.dist directory wasn't there (units had originally been Zippered/rbautch'd). Once I replaced the directory with the contents of the TWP upgrade tgz, the auto-upgrade feature worked fine again.

Perhaps something to check out to make sure the script is catching 'hidden' directories.

[edit: the error had been: sh: /TivoWebPlus/.dist/extract.sh: No such file or directory Error Updating Package ]

I have a HR10-250 fully modified. Please help me. I am having the hardest time getting these slices to work. Let me tell you what I have done. I downloaded the slices from the DVRUpgrade link that Da Goon posted on another post. I've put the 6.3e slices into /var/packages:

I'm trying to use the script to upgrade an HR10-250 and it won't read the keyboard input into the variable. At the first question about saving the network info, I hit "y"<enter>. It continues on like I did not enter a key. When I ctrl-c, I see the "y" being written to the screen.

dunno anything about the script, but it does certainly seem like your tivo has some odd issues... the lack of /install is the biggest mystery (the boot params are understandable, given that you've had at least one failed upgrade attempt)

How was this tivo hacked, initially?

__________________
Check Out my To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts. with info on TWP2.0 and Tivoserver

I used the zipper to hack it back when the zipper was on about rev 1.8
I did mess up the bootpage when trying to remove the upgradesoftware=false param.
I was able to set the bootpage to point at the right /dev but really don't know what It was originally.

I don't know why you'd be missing /install, you can create it with mkdir /install. Don't try to run the script again, it'll just crap out. At this point though, the box has upgraded the software, and will finish installing it when you reboot. It may be best to try to copy your hacks manually just to maintain bash. Maybe I should add a check for /install before initiating the install, I never thought that would be an issue. PM me if you need some help.

might also want to add a switch to the script to allow multiple attempts at copying hacks (for cases. like this, where an unexpected error causes an abort halfway through)
or you could create an installation progress file, and have it auto-resume when rerun, but that's a lot more work

since fstab can ALSO be incorrect, is there any way (in Linux) of getting a definitive answer as to exactly which partition is mounted?

__________________
Check Out my To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts. with info on TWP2.0 and Tivoserver

since fstab can ALSO be incorrect, is there any way (in Linux) of getting a definitive answer as to exactly which partition is mounted?

From a bash session do:

Code:

strings /tvbin/tivoapp | grep sandbox

That will tell you which software version tivoapp is running. The OP may be booting from non-contiguous partitions or otherwise booting into the wrong root partition. By using 'bootpage -b /dev/hda' and 'bootpage -a /dev/hda' - the OP can verify the active and alternate boot parts. Then modifying bootpage parameters and verifying with the 'strings tivoapp' above, he should be able to get the correct boot and root partitions lined up with the right ACTIVE software version.

Unless I'm mistaken:
1) tivoapp CAN be running on a different partition than what it thinks (I've done plenty of copying of root to alternate to boot in case of a fatal mistake when playing on the tivo, to know this seems to be true)
2) the boot params are in an indeterminate state because installSW has been attempted several times

I was more looking for something in linux internals to determine this (the info mount returns could easily be inaccurate, because, AFAIK, it relies on fstab being accurate, which is NOT a given)

__________________
Check Out my To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts. with info on TWP2.0 and Tivoserver

Sorry it took so long for me to get back to the computer. I have tried some more of the ideas and here is where i am at so far.

Quote:

Originally Posted by Da Goon

I don't know why you'd be missing /install, you can create it with mkdir /install. Don't try to run the script again, it'll just crap out. At this point though, the box has upgraded the software, and will finish installing it when you reboot. It may be best to try to copy your hacks manually just to maintain bash. Maybe I should add a check for /install before initiating the install, I never thought that would be an issue. PM me if you need some help.

I am not sure what this means. I also get an error when trying to create the /install directory. Here is what I get:
den-TiVo# mkdir /install
mkdir: cannot make directory `/install': No space left on device

That will tell you which software version tivoapp is running. The OP may be booting from non-contiguous partitions or otherwise booting into the wrong root partition. By using 'bootpage -b /dev/hda' and 'bootpage -a /dev/hda' - the OP can verify the active and alternate boot parts. Then modifying bootpage parameters and verifying with the 'strings tivoapp' above, he should be able to get the correct boot and root partitions lined up with the right ACTIVE software version.

Not feeling the love. Ran the Upgrade script on my 10-250 with no errors, set the network info, double checked it to make sure they were correct. Now I have no network connection. I also noticed the start up image (the Moon) is gone and the original startup "Almost there" image is back. I have rebooted four times now. No light on my FA120. The System does show that I'm at 6.3f