On your current root you want to edit installSw.itcl to change the reboot line to exit 0. Then run it; it will install the upgrade on the alternate root and then exit (not reboot). Then copy over the hacks, rc.sysinit.author, iptables, bcmenet.o (for custom kernel) over to the new root and dd your kernel into the new boot. Then manually reboot into the upgraded system. It's just as easy to do it by hand; I'm afraid my script could trip you up as it really is tuned to my setup. If you want to try it, I attached a stripped down version that I just use now for Series 3 and Tivo HD (the other one could do S2.5, DT). I just used it to upgrade a Series 3; read through it first and make sure you start clean (for ex: if you already edited installSw.itcl, it will screw up the script). Follow along with the output:
bash-2.02# echo mls /SwSystem | tivosh
Directory of /SwSystem starting at ''
Name Type FsId Date Time Size
---- ---- ---- ---- ---- ----
11.0k-01-2-648 tyDb 996399 03/10/11 20:55 884
11.0k.E1-01-2-648 tyDb 942524 02/20/11 12:49 916
ACTIVE tyDb 942524 02/20/11 12:49 916
bash-2.02# cd /var/hacks
bash-2.02# ls
S3Upgrade.tcl
TivoWebPlus
bcmenet.o
tvapppatch.tcl
tvapppatches-11.0k.tcl
vmlinux-Gen05-netopt-ext3.px.gz
bash-2.02#
bash-2.02# ./S3Upgrade.tcl
Your hardware generation is 648
Do you want this script to automatically edit and run /tvbin/installSw.itcl for you? [y/n]:
y
Remounting root as read-write.
Backing up original installSw.itcl to installSw.itcl.bak.
Replacing original installSw.itcl with modified one.
Remounting root as read-only.
Running modified installSw.itcl...
03/12:22:27:53: ./S3Upgrade.tcl: Installing "11.0k-01-2-648".
Installing module utils
03/12:22:27:53: ./S3Upgrade.tcl: Executing updateroot /dev/hda /install /var/packages 11.0k-01-2-648
Path prefix is /var/utils/
Sha1hash passed for updatekernel
Sha1hash passed for checkkernel.tcl
Sha1hash passed for messagelib.tcl
Sha1hash passed for buildskeleton
Sha1hash passed for SwInstall.tcl
Sha1hash passed for builddev
Searching /etc/fstab for current root
Old root is on /dev/hda7, new one goes on /dev/hda4
Creating new filesystem on /dev/hda4
Mounting new root filesystem on /install
Installing module core
Installing module hpk-Gen05
Installing module locale-en_US
Installing module eiger
Installing module kernel-Gen05
Building basic filesystem skeleton on /install
Checking /install/etc/fstab
newroot is 4, leaving fstab alone
Creating symlinks for /install/etc files
Dismounting /install and checking its integrity
Initializing First Activation Date
Modifying bootparams to point to /dev/hda4
Creating upgrade messages
upgrade_73_ptcm.msg does not apply to 648
upgrade_73_mb.msg does not apply to 648
Flipping root, setting boot parameters to 'root=/dev/hda4 dsscon=true console=1,115200 upgradesoftware=false'
OK, reboot the system to use the new root filesystem
03/12:22:30:09: ./S3Upgrade.tcl: Attempting reboot...
installSw.itcl should have completed without error. If so, do you want to continue? [y/n]:
y
Determining active boot partition.
Your new bootpath is /dev/hda3
Your new rootpath is /dev/hda4
Mounting /dev/hda4 at /mnt.
Choose one of the following kernel options:
1. Install custom (i.e. Jamie) kernel
2. Replace stock kernel with null-initrd
3. Do nothing and continue
1
Checking for custom kernel...
vmlinux-Gen05-netopt-ext3.px.gz found. Proceeding...
Unzipping kernel...
Installing vmlinux-Gen05-netopt-ext3.px kernel to /dev/hda3.
This may take a minute, be patient...
1653248+0 records in
1653248+0 records out
gzipping vmlinux-Gen05-netopt-ext3.px, just a few more seconds...
Generation 648 with a custom kernel requires bcmenet.o to use
built-in ethernet port. Do you want to install bcmenet.o? [y/n]:
y
Checking for bcmenet.o...
File found. Backing up original bcmenet.o to bcmenet.o.bak
Copying custom bcmenet.o to /mnt/platform/lib/modules
Copying rc.sysinit.author.
Do you want to replace iptables with an "exit 0" dummy script? [y/n]:
y
Checking for /etc/profile...
Copying /etc/profile.
Checking for /etc/passwd
/etc/passwd not found.
Checking for /etc/group
/etc/group not found.
Checking for /hack
/hack not found.
Checking for /hacks
Copying /hacks to /mnt.
Checking for /mfs_ftp
/mfs_ftp not found.
Checking for /tivowebplus
/tivowebplus not found.
Checking for /TivoWebPlus
/TivoWebPlus not found.
Checking for /busybox
/busybox not found.
Checking for /tivo-bin
/tivo-bin not found.
Checking for /devbin
/devbin not found.
Checking for /tivotool
/tivotool not found.
Checking for /tivotools
/tivotools not found.
The script has completed your manual upgrade. You may reboot into your upgraded system.
bash-2.02#
bash-2.02# mount
/dev/hda7 on / type ext2 (ro)
/dev/hda9 on /var type ext2 (rw)
/proc on /proc type proc (rw)
/dev/hda4 on /mnt type ext2 (rw)
bash-2.02#
bash-2.02# ./tvapppatch.tcl -p ./tvapppatches-11.0k.tcl -t /mnt/tvbin/tivoapp
tvapppatch.tcl 1.6, 1/11/2008 ("tvapppatch.tcl -help" for instructions)
We will be patching /mnt/tvbin/tivoapp.
Patching active TiVo Software version 11.0k-01-2-648
Looking for patches in ./tvapppatches-11.0k.tcl...
patch_11.0k found!...OK
Make sure you've backed up your tivoapp!
Ready to patch (Y/N)? y
Verifying patch locations...OK
Patching tivoapp...OK
bash-2.02# reboot
ScanMan --> Just another Tivo hacker...
Killhdinitrd SA S2 Monte S2 Unscramble Upgrade Tivo Software
On flipping, assuming current root is hda4, are both of these necessary?
bootpage -f /dev/hda4
bootpage -f /dev/hda3
Neither. In fact, it may even screw up your partitions. You run bootpage on the drive (/dev/hda), not on a partition (/dev/hda[1-n]). Do a singleThat should change it to boot from the other partition. To check, do aCode:bootpage -f /dev/hdaNote, that's a lower case "p." I grabbed this from somone's post, probably around here:Code:bootpage -p /dev/hda
Code:The TiVo uses a utility called bootpage to set parameters in the boot disk's boot block. Since there's no documentation on this, I whipped up the following quick usage info for my own benefit. Perhaps others will find it useful as well. usage: /sbin/bootpage options... device -p dev - print existing args -P string dev - set args to "string" -D dev - create default boot page on dev -B num - set primary boot to partition num -A num - set alternate boot to partition num -b dev - print current value of primary boot -a dev - print current value of alternate boot -f dev - swap (flip) values of primary and alternate boot partitions -q dev - ???
bootpage -p shows the same "root=dev/hda4" before and after bootpage -f /dev/hda
The commands above come from here, I think:
http://www.courtesan.com/tivo/bootpage.html
Doh. It's been a while, since I've automated things. Check bootpage withIt should say 3 or 6. If you want to boot from the 3/4 pair, and it says 6, do a "bootpage -f /dev/hda" Then when you check again, it should return 3. That takes care of which kernel you're booting from. Then, you need to set the boot string to match. That's done withCode:bootpage -b /dev/hda
to get your current one, thenCode:bootpage -p /dev/hda
note: capital P, and the quotes are necessary. root will point to either 4 or 7, to match a kernel in 3 or 6. The rest of the string should match what you already have - the "console=..." may be different depending on model.Code:bootpage -P "root=/dev/hda4 dsscon=true console=1,115200 upgradesoftware=false"
Last edited by mike_s; 03-15-2011 at 01:25 PM. Reason: typo
Thanks to all, particularly for your patience......
Thanks ScanMan and others,
I used your S3Upgrade script to upgrade my TiVoHD tonight and it worked great!! It makes the upgrades a breeze.
Regards
Anzio
Last edited by Anzio; 03-15-2011 at 12:19 PM.
Just curious: has anyone else installed Thinkdiff's OpenVPN kernel? I tried it when I did the upgrade to the final version of 11.0k, but couldn't get it to boot (just went to a grey screen.) I didn't have enough time to do any decent troubleshooting so I reinstalled Jamie's Gen06-netopt-ext3.
If I have a chance I'll get out the serial cable, etc and try again.
More software at http://davidlauria.com/software.
The lost alt-rock masterpiece from the '90s, Range of Motion's "Soft Buzz of Silence", is now available on iTunes!
Hey thanks, but I doubt the difference between the 11.0k.E1 and the final version was the problem. It wasn't booting at all. I'm trying to figure out what might be different about my setup, and the only thing I've come up with is that I run routerplus in place of router.o. Maybe that's incompatible with your kernel?
More software at http://davidlauria.com/software.
The lost alt-rock masterpiece from the '90s, Range of Motion's "Soft Buzz of Silence", is now available on iTunes!
Here is what I ran
And I gotCode:0x005d353c "104000aa 100000aa" //noencryption 0x006562a0 "30b000ff 00008021" //cci1 0x006562c4 "00e08821 24110000" //cci2 0x00774f74 "00008021 24100001" //backdoors 0x01046970 "30b000ff 00008021" //cci3 0x00b8f910 "14400026 10400026" //30secskip
Could it be tivo changed tivoapp from the original release?Code:Getting the hacking parameters for tivoapp 104000aa 100000aa 1914172 08250100 Failed for 104000aa 100000aa 1914172 Old value: 08250100
Those are the patches for version 11.0j. I assume you have the latest version, 11.0k? The correct patches for that version are in post #12 on the first page of this thread.
-psxboy
TCD652160 TivoHD
1TB
11.0k-01-2-652