Page 1 of 6 123 ... LastLast
Results 1 to 15 of 80

Thread: Manual upgrade to 7.2.2

  1. #1
    Join Date
    Jan 2005
    Posts
    1,008

    Manually Upgrade TiVo Software

    --- Upgrading your TiVo software via Telnet ---

    Assuming you have 'upgradesoftware=false' in your bootpage parameters, your tivo won't get new software automatically. Your first clue is the call status will change to "pending restart" and you'll have to manually install the new software. Wily veterans already documented this process so for some history see here.

    The basic upgrade boils down to a few things:

    1. Modifying the installSw.itcl script to prevent automatic reboot.
    2. Run installSw.itcl to install your new software.
    3. Putting your hacked kernel into the correct partition to continue defeating the chain of trust.
    4. Making sure you have fixed your iptables in the correct manner.
    5. Copying your rc.sysinit.author file & other hacks/utilities over to the new partition.
    6. Making sure you account for any network drivers needed depending on your Series and kernel used.

    So let's get started:

    1. Check the location of your current root

    Code:
    bootpage -p
    root=/dev/hda4 dsscon=true console=2,115200 upgradesoftware=false
    So we know the 3/4 partitions are the active kernel/root filesystem and 6/7 are the alternate partitions; if yours reports /dev/hda7 you will need to reverse my partition references below since this is based on my root=/dev/hda4.**

    2. Find out what software Tivo has ready for me

    Code:
    echo mls /SwSystem | tivosh
    
    Directory of /SwSystem starting at ''
    
        Name                      Type        FsId      Date  Time   Size    
        ----                      ----        ----      ----  ----   ----    
        11.0g-01-2-648            tyDb       28274  04/09/10 16:09    884    
        9.4c-01-2-648             tyDb        5761  04/22/09 19:23    900    
        ACTIVE                    tyDb        5761  04/22/09 19:23    900
    You will see Tivo has downloaded new software.

    3. Edit /tvbin/installSw.itcl script:

    Remount root filesystem as read-write:
    Code:
    mount -o remount,rw /
    Look for this section in installSw.itcl

    # Say goodbye
    putlog "Attempting reboot..."
    reboot
    You want to replace the 'reboot' command with 'exit 0' (that's a zero) - so it should read:

    # Say goodbye
    putlog "Attempting reboot..."
    exit 0
    Save your changes; and remount root as read-only again as it's not a good idea to leave root mounted read-write.
    Code:
    mount -o remount,ro /
    Now, Tivo won't automatically reboot once it completes the software upgrade, giving you time to re-install your hacks.

    4. Install the upgrade, providing the release-name you want to install.

    Code:
    /tvbin/installSw.itcl 11.0g-01-2-648
    This will place the new kernel and root filesystem in the alternate partitions (6/7)
    It will also flip your bootpage but should leave your other parameters unchanged.

    Check it again:
    Code:
    bootpage -p
    root=/dev/hda7 dsscon=true console=2,115200 upgradesoftware=false
    This is the NEW root filesystem; your old one is still at /dev/hda4

    Tivo also put a new kernel in /dev/hda6; you don't want this, you want to put in your hacked kernel there.

    5. dd in the hacked kernel into the NEW kernel partition (/dev/hda6)** overwriting the current Tivo-installed kernel. Of course, you will need to ftp the vmlinux.px file over beforehand or take it from your old partition.
    Example using custom kernel on an original Series 3:
    Code:
    dd if=./vmlinux-Gen05-netopt-ext3.px of=/dev/hda6
    Or from the old partition:
    Code:
    dd if=/dev/hda3 of=/dev/hda6
    Alternatively, using replace_initrd.mips to neuter a stock tivo kernel with a null linux.rc
    Code:
    ./replace_initrd.mips /dev/hda6 null-linuxrc.img.gz kernel.bak
    Note on custom kernels & iptables
    If you are using a custom (i.e. jamie) kernel or stock kernel with null initrd, you need an /sbin/iptables file that is executable (chmod 755) and looks like this:
    Code:
    #!/bin/bash
    exit 0
    6. Tivo should still have root mounted at /dev/hda4; mount the NEW root filesystem

    Code:
    mount /dev/hda7 /mnt
    Copy over your rc.sysinit.author, your "fixed" iptables and any other hacks from the old root filesystem to the new. In the example below, I am copying my rc.sysinit.author, my "exit 0" iptables and a recursive copy of my /hacks directory which has all my tivotools, scripts, utilities etc.

    Code:
    cp /etc/rc.d/rc.sysinit.author /mnt/etc/rc.d
    cp /sbin/iptables /mnt/sbin
    cp -dr /hacks /mnt
    On all filesystem changes, make sure you are making these changes to the NEW filesystem relative to the mount point of the NEW partition - i.e., /mnt

    Note on custom kernels and ethernet port drivers for Series 3
    If you are using a custom (jamie) kernel, you need to replace the stock driver file with the one supplied with the kernel. Look in /platform/lib/modules
    Example:
    Code:
    mv /mnt/platform/lib/modules/bcmenet.o /mnt/platform/lib/modules/bcmenet.bak
    cp ./bcmenet.o /mnt/platform/lib/modules
    chmod 644 /mnt/platform/lib/modules/bcmenet.o
    Note on upgrading 8.x+ software (generally Series 2)
    There are issues with 8.x+ USB network drivers and and the killhdinitrd kernels. It could be solved by using the backport drivers or the previous 7.3.1 drivers. See the "8.1 and my NIC" thread for more details. If you are using a Series 2 Dual-Tuner (649) or Series 3 with a USB network adapter, your best bet is to monte into a stock kernel. I'm not going into that here, you'll have to search more, sorry.

    7. Doublecheck your work - you don't want to screw this up and have to pull your drive. You should have your hacked kernel in /dev/hda6 (or /dev/hda3 - see ** below), your rc.sysinit.author which starts your telnet, etc., and your "fixed" iptables and any other hacks copied over to the NEW root filesystem (/dev/hda7). Make sure all your copied files have the proper permissions.

    8. Reboot, it will display the "processing upgrade, this may take up to an hour..." message; after that you should be good to go, I was...

    **Primer on Boots, Roots and Partitions**

    Tivo uses two pairs of partitions in booting your system and mounting the root filesystem: 3/4 and 6/7, one is active while the other is alternate.

    For example, when root=/dev/hda4, the 3rd partition is the kernel that boots and the 4th partition is the root filesystem. Similarly, with the 6/7 pair when root=/dev/hda7 (6 is kernel, 7 is root).

    Depending on where your current active boot/root is will determine where to make changes. Thus, if the result of bootpage -p in step 1 was /dev/hda7, tivo will install the "new" software in the 3/4 pair. Accordingly, after you run the installSw.itcl script, you should dd your hacked kernel into /dev/hda3 and make changes to the root filesystem at /dev/hda4 as outlined above.

    EDIT - Automated this process with a "ManualUpgrade.tcl" script in post #48!
    Last edited by ScanMan; 10-27-2010 at 09:30 PM. Reason: Update some stuff for Series 3

  2. #2
    Join Date
    Jul 2005
    Location
    San Francisco
    Posts
    134
    Nice summarization, I suppose I'll probably end up doing this today because I find myself in a bind with guide data not updating.
    Series 2 TCD140060 w/Lifetime, 9.3.2-01-2-140, 2x 250GB Seagate 7200.8 (638hrs), Monte'd, Tivotool, MRV.
    Unhacked TivoHD 500GB (76Hrs HD/638Hrs SD)

  3. #3
    Join Date
    Jul 2005
    Posts
    228
    Scanman,

    What issues are there with 7.2.2 and TivoWebPlus. I haven't had any issues as of yet, is it a specific portion of TivoWebPlus that is not stable?

  4. #4
    Join Date
    Jan 2005
    Posts
    1,008
    What issues are there with 7.2.2 and TivoWebPlus. I haven't had any issues as of yet, is it a specific portion of TivoWebPlus that is not stable?
    You know, I admit my info might be a little outdated on that; I read it somewhere in my travels...perhaps it's been addressed or is not an issue anymore. I'm not currently using it, so I'm not sure.

  5. #5
    Join Date
    Mar 2006
    Posts
    22

    29 Thanks !

    Wow!! Thanks for the great post. That was EXACTLY what I was looking for and it worked Perfect!
    -=reVx=-

  6. #6
    Join Date
    Jul 2005
    Location
    San Francisco
    Posts
    134
    Another successful in-place upgrade completed. Thanks for condensing the other thread. Now to apply the superpatch again.
    Series 2 TCD140060 w/Lifetime, 9.3.2-01-2-140, 2x 250GB Seagate 7200.8 (638hrs), Monte'd, Tivotool, MRV.
    Unhacked TivoHD 500GB (76Hrs HD/638Hrs SD)

  7. #7
    Join Date
    Jan 2005
    Posts
    1,008
    EDIT [Sorry, posted in the wrong thread...]
    Last edited by ScanMan; 04-01-2006 at 12:47 PM.

  8. #8
    Join Date
    Nov 2004
    Posts
    221
    These are pretty close to the routine I follow to do manual sw upgrades I explaned here:
    http://www.dealdatabase.com/forum/sh...68&postcount=5

    The more help the better for all. Thanks.

  9. #9
    Join Date
    Jan 2005
    Posts
    1,008
    I can confirm successful upgrade to 7.2.2b-oth-01-2-140 using the same process. The new superpatch-67all-NutKase-1.2.tcl works like a charm with this release as well. I edited my original post to clarify the need to determine your active boot/root partitions as well as understanding the active/alternate partition pairs and how they relate to this process. Have fun!
    ScanMan --> Just another Tivo hacker...
    Killhdinitrd SA S2 Monte S2 Unscramble Upgrade Tivo Software

  10. #10
    Join Date
    Jul 2005
    Location
    San Francisco
    Posts
    134
    I can confirm success on both counts as well. I am also monteing from 3.1.1c to Jamie's custom 7.2. Kernel.
    Series 2 TCD140060 w/Lifetime, 9.3.2-01-2-140, 2x 250GB Seagate 7200.8 (638hrs), Monte'd, Tivotool, MRV.
    Unhacked TivoHD 500GB (76Hrs HD/638Hrs SD)

  11. #11
    Join Date
    Jan 2005
    Posts
    1,008

    Successful upgrade to 7.3

    Confirming successful upgrade to 7.3-oth-01-2-140. FWIW, I am using a killhdinitrd 3.1.5 kernel.

    This upgrade has a little more meat to it, kidzone, minor UI changes; you get the "processing upgrade" splash screen - although it took less than 15 minutes to complete.

    Also applied the 7.3 superpatch .diff provided in the support thread (thanks 7.1!) Everything looks good, ciphercheck, MRV, etc.
    ScanMan --> Just another Tivo hacker...
    Killhdinitrd SA S2 Monte S2 Unscramble Upgrade Tivo Software

  12. #12
    Join Date
    Jul 2005
    Location
    San Francisco
    Posts
    134
    No problems afterward? There is a long bug report list over at the Tivo Community Forums. I was planning to wait for a 7.3b bugfix release. I still had not gotten it as of last night.
    Series 2 TCD140060 w/Lifetime, 9.3.2-01-2-140, 2x 250GB Seagate 7200.8 (638hrs), Monte'd, Tivotool, MRV.
    Unhacked TivoHD 500GB (76Hrs HD/638Hrs SD)

  13. #13
    Join Date
    Jan 2005
    Posts
    1,008
    Not as of yet; I've only been running it about 48 hours though. It hasn't rebooted spontaneously, it's been making the daily calls successfully. I've only received 7.3 on one of my two 240's so far though. Is the 7.3b bugfix release already being talked about as forthcoming?
    ScanMan --> Just another Tivo hacker...
    Killhdinitrd SA S2 Monte S2 Unscramble Upgrade Tivo Software

  14. #14
    Join Date
    Mar 2006
    Posts
    22
    Quote Originally Posted by ScanMan View Post
    Confirming successful upgrade to 7.3-oth-01-2-140. FWIW, I am using a killhdinitrd 3.1.5 kernel.

    This upgrade has a little more meat to it, kidzone, minor UI changes; you get the "processing upgrade" splash screen - although it took less than 15 minutes to complete.
    I can also confirm successful upgrade to 7.3.1-oth-01-2-140 also using the 3.1.5 kernel. Splash screen did take less than 15 minutes; not the more than an hour it advises... and not problems seen yet.

  15. #15
    Join Date
    Jun 2001
    Posts
    707
    Tried to to the manual upgrade to 7.3.1 (installSw.itcl 7.3.1-oth-01-2-540) and it failed with:

    Code:
    Creating upgrade messages
    can't read "env(SerialNumber)": no such variable
        while executing
    "string range $env(SerialNumber) 0 2"
        (procedure "createUpgradeMessages" line 6)
        invoked from within
    "createUpgradeMessages "$prefix/messages""
        (file "/var/utils/updateroot" line 184)
    child process exited abnormally
        while executing
    "exec /var/utils/updateroot /dev/hda /install /var/packages $name >&@ stdout"
        invoked from within
    "if [catch { set fIsActive [CheckActive $db $name] } res] {
            putlog "No software found in db for \"$name\", $res"
        } else {
            if { $eme..."
        (procedure "InstallSoftware" line 7)
        invoked from within
    "InstallSoftware $db $name"
        (file "/tvbin/installSw.itcl" line 120)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •