Page 3 of 8 FirstFirst 12345 ... LastLast
Results 31 to 45 of 109

Thread: TivoHD -- my 1st attempt

  1. #31
    Join Date
    Jun 2006
    Location
    Dougal County
    Posts
    1,007
    Quote Originally Posted by mlcarson View Post
    Are there instructions out there anywhere for simply modifying a standard Linux build to make Linux aware of Tivo partitions.
    you could patch and recompile your linux kernel, or take the easy way out and just use tivopart.

  2. #32
    Join Date
    Dec 2004
    Posts
    831
    Quote Originally Posted by mlcarson View Post
    Just a quick followup on this.... I did create a VMWare virtual machine and was able to use this rather than directly boot off the MFSLive CDROM. There's probably a better way of doing this but I simply mapped the CDROM to the downloadable MFSLive Linux ISO image. I then mapped a virtual hard disk as IDE 0:0 to use as a repository for various utilities/files. The Tivo HD I mapped as physical disk on another IDE channel pointing to the Tivo SATA disk. When I started the virtual machine, I was able to mount the Tivo partitions from the drive just like I was able to via the boot cd. The only real differences were that the Tivo HD and the CDROM were mapped to IDE devices rather than SATA devices and it allowed me to work on the Tivo while still having Windows up.
    That certainly works. You can do the same thing with an ordinary Linux desktop environment, as well. The advantage of the desktop environment, as I mentioned, is full access to all network utilities and peripherals, plus access to GUI based applications such as a web browser, GUI based text editors, etc.

    Quote Originally Posted by mlcarson View Post
    I'm not sure how to create a real Linux installation off from the MFSLive Linux boot disk.
    Well, it's certainly possible, but hardly worth the trouble. It's much easier just to create a Linux VM from whatever distro of Linux suits your fancy (I happen to like Debian) and add the few proprietary utilities and TiVo files required for hacking the TiVo.

    Quote Originally Posted by mlcarson View Post
    It might be useful to have a full blown Linux VM rather than just the Live CD. Are there instructions out there anywhere for simply modifying a standard Linux build to make Linux aware of Tivo partitions.
    As jt1134 mentioned, tivopart is a utility which, among other things, does just this very thing. If you will look at the script I posted, about 50 lines down you will see some lines that say:

    Code:
    # Scan the TiVo partitions to make them mountable
    /hack/tivopart r $dspec
    This runs the tivopart routine with the "r" switch (r = rescan) on the target $dspec, which is probably something like /dev/sdb. If there is a valid Tivo drive at $dspec, tivopart scans it and adds the partitions to the drive lists. After that partitions 4, 7, and 9 can be mounted just like any other Linux partition. As you can see in the following code, I do just that after running tivopart:

    Code:
    echo Mounting Drives...
    mount $rootdrv /tivo
    mount $vardrv /tivo/var
    Typically, $rootdrv is something like /dev/sdb4 or /dev/sdb7 and $vardrv is something like /dev/sdb9. The examples wind up with the entire TiVo structure (other than the kernel) in the /tivo directory. Once done, the user can untar the previously prepared tarball containing the software and pertinent files from /etc, /var, /utils, /tivobin, and so forth, from the hacked Tivo image to the virgin image under /tivo/etc, /tivo/var, /tivo/utils, etc. After that, all that's left is patching tivoapp and either neutering the new kernel or copying over a custom kernel.

    Quote Originally Posted by mlcarson View Post
    Sorry -- not really a Linux guy. Irhorer's reply mentioned he's doing this
    That's Lrhorer, not Irhorer, if you please.

    Quote Originally Posted by mlcarson View Post
    and is kind of where I want to be but all within VMWare.
    Yeah, that sounds like a perfectly viable solution. VMWare can most certainly create a Linux VM. For my personal tastes, I'm just as happy simply booting into Linux, but there's certainly nothing whatsoever wrong with running a VMWare Linux session.
    Last edited by lrhorer; 07-08-2009 at 11:50 PM.
    Having trouble with TyTool? Try TyTool Documentation
    Need to hack an S3 / THD? Try S3 Hacking Script

  3. #33
    Join Date
    Jun 2009
    Posts
    24

    mods for 11.0d

    Am I correct that the only change needed in mlcarlson's procedure (first post of this thread) for the new 11.0d software is to use the new tivoapp patches given in this post ?
    VideoReDo users: Try VideoReDo-Autoprocessor (VAP)
    pyTivo users: Try PyTivoMetaGen and MetaToExcel

  4. #34
    Join Date
    Jan 2005
    Posts
    1,008
    Quote Originally Posted by dlfl View Post
    Am I correct that the only change needed in mlcarlson's procedure (first post of this thread) for the new 11.0d software is to use the new tivoapp patches given in this post ?
    Yes, to make it easier I posted an 11.0d "tvapppatches" in the support thread. Good luck!
    ScanMan --> Just another Tivo hacker...
    Killhdinitrd SA S2 Monte S2 Unscramble Upgrade Tivo Software

  5. #35
    Join Date
    Jun 2009
    Location
    NYC
    Posts
    3
    Great summary! I have only passing familiarity with Unix but I was able to hack my Tivo in just a few minutes using this post as a guide. Some corrections:

    Quote Originally Posted by mlcarson
    There may be a way of using VMWare to boot off the CD ISO and to point the virtual machine at the physical SATA drive connection so you can have Windows up at the same time -- I may look into this later.
    As noted later in the thread, this is quite simple. However, VMWare Server 2.x does not support raw hard drive access. Unfortunately I only learned this the hard way after downloading & installing the whole thing. You can use a 1.x version of VMWare Server, a copy of VMWare Workstation ($$), or Microsoft Hyper-V (part of Win2008). I cut my losses and just switched over to my laptop.

    Next, we need to download the various tools we'll need and burn them to a second CD. ... I believe the above files are the only ones I needed to burn to CD.
    Just to save everyone some heartache: yes, those files are more than enough. I also read through all of the linked threads to ensure the "best" options were chosen. NetOpt is a nice custom kernel that only needs minor additional tweaking (provided below). TivoTools doesn't have a version number, but the attachment link is current as of this writing. TivoPatch 1.7 is indeed the latest. The only difference is that you need a 11.0d patch script, not 11.0c. Search the forum and you'll find it. No sense linking it when 11.0e will be out before you know it.

    /sbin/mkdev -s
    This command was a godsend. The rest of the hacking proceduring is fairly trivial and probably would've only taken a few extra hours in the absence of a guide, but it's extremely non-obvious (to me) that Linux would fail to detect some storage devices until running an extra command.

    [b]However[/i], it has a typo. The actual command is 'mdev.' You shouldn't need to prepend /sbin/ as it's in your PATH.

    I believe a SATA CD/DVD drive will become SR0 rather than the default of HDB.
    I used my USB digital camera for storage since it was conveniently lying around. It showed up as SDx where x varied every time I plugged it in (even within the same session).

    After running 'mdev -s' you should be able to identify your flash or optical drive quickly using 'cat /proc/partitions'. Use [TAB] completion, of course.

    Since /dev/sdd4 is the active partion, /dev/sdd3 is the active Kernel partition.
    This confused me. Short version: there are two pairs of kernel + boot partitions, 3+4 and 6+7. Once you identify the active boot partition then you can be assured the active kernel partition is (boot-1).

    mkdir /tivovar
    mount /dev/sdd9 /tivovar

    I mounted partition 9 (/var) as /tivovar. I'm going to use this partition to store the files on CD and any backups.
    This partition IS hard coded as far as I know. Unless you hear otherwise you can simply assume that partition 9 is the right one for your S3. Still doesn't hurt to recheck /proc/partitions and see what appears in /tivovar after you mount.

    Time to unzip and untar the kernel.
    bunzip2 Gen06-netopt-ext3.tar.bz2
    I got a CRC error here. Surprise surprise, flash drives aren't the pinnacle of reliability. Recopied and then it worked. If this happens to you, don't blindly proceed, fix it!

    cd /tivo/sbin
    mv iptables iptables.original

    vi iptables
    #!/bin/bash
    exit 0
    :wq

    chmod 755 iptables
    If you're not familiar with Unix, this step probably confused the heck out of you. What we're doing here is:
    - back up the existing iptables executable (using "move" - there's no separate rename command)
    - create a new iptables that's actually a Bash script which simply exits w/o doing anything
    - marking the script executable (yes, text files can be executable) for the root user

    The VI part in the middle requires rudimentary knowledge of this rather unusual text editor. Crash Course in VI

    Contrary to what a couple posts said, this is necessary. Read the link in the OP describing the custom NetOpt kernel.

    mkdir /tivo-bin
    cd /tivo-bin
    [...snip...]
    I'm pretty sure this will not work. The root / exists only in the RAM of this MFSLive session. You're not writing anything to disk here. Being a newb I checked /proc/mounts and 'mount -l' to be sure. Decided to use /tivo/tivo-bin instead of /tivo-bin throughout this section and it worked perfectly. /tivovar/tivo-bin should work as well.

    umount /tivo
    umount /tivovar
    umount /cdrom
    poweroff
    Again, I would scan 'mount -l' before powering off. Never know what drives you might have left lingering as you follow 7 different guides scattered across the forum...

    Quote Originally Posted by ScanMan
    bootpage -P "root=/dev/hda7 dsscon=true console=1,115200 upgradesoftware=false" -C /dev/sdd

    That string of parameters assumes root is on the 7th partition; enables boot messages on the serial port and prevents automatic tivo software upgrades. This again assumes being done on the PC side (hence /dev/sdd) the hard drive is always "seen" on the tivo side as /dev/hda. Observe case sensitivity.
    One additional wrinkle: if running this on the Tivo, the -C parameter will not be recognized. You can either specify /dev/hda without the -C, or omit it entirely.

  6. #36
    Join Date
    Jul 2009
    Posts
    12

    Where should I put hack bin files?

    A newbie question: I noticed that the stuff from tivotools were put into /tivo-bin. Is it better to put them in /var/hacks/bin (and make change in rc.sysinit.author accordingly)? I haven't done my hack yet so I don't know if /tivo-bin will get erased during sw upgrade. But at least in this way I have only one place to maintain those executables.
    Last edited by valley_nomad; 08-23-2009 at 05:01 PM.

  7. #37
    Join Date
    Jun 2006
    Location
    Dougal County
    Posts
    1,007
    doesn't matter where you put your bins, you can put them in /poop so long as you set the PATH correctly

    when a sw update occurs, the root and kernel partitions are swapped, nothing is actually overwritten

    if you keep your hacks in root, then you'll need to copy them to the new root after an update

    /var isn't changed during a sw update, so if you keep stuff there you don't need to do any copying, but you risk having your hacks wiped out if the tivo ever decides to purge var

  8. #38
    Join Date
    Jul 2009
    Posts
    12
    Quote Originally Posted by dlfl View Post

    Code:
    array set patch_11.0c {
    0x005d3a14 "104000aa 100000aa"
    0x00773b38 "00008021 24100001"
    0x00b92be4 "14400026 10400026"
    0x00656e40 "30b000ff 00008021"
    0x00656e64 "00e08821 24110000"
    0x0117e020 "30b000ff 00008021"
    }
    
    array set desc_11.0c {
    0x005d3a14 "noencrypt"
    0x00773b38 "backdoors"
    0x00b92be4 "30secskip"
    0x00656e40 "cci1"
    0x00656e64 "cci2"
    0x0117e020 "cci3"
    }
    .....
    I understand the benefit of doing noencrypt and cciX. But I am not aware of what we can actually have via 30secskip and bacldoors hacks. I believe now my TivoHD's 30secskip feature is already persistent once it is set via that key sequence; and I also couldn't find what "backdoors" can bring. Can anyone shed some lights on it?

  9. #39
    Join Date
    Jul 2009
    Posts
    12
    Quote Originally Posted by mlcarson View Post
    This is my personal experience with hacking the TivoHD ....

    .... We've not added the telnet or ftp services. Let's start with adding the tivotools to a directory called tivo-bin

    mkdir /tivo-bin
    cd /tivo-bin
    tar -xvf /cdrom/tivotools.tar

    .....
    .
    When I reached to this point, the tar command returns the error: invalid number ' 5566 '

    What did I do wrong?

    Is it true that I actually need only tivoftpd here instead of other stuff?

  10. #40
    Join Date
    Jul 2009
    Posts
    12

    MFSLIVE 1.4 can not untar tivotools.tar

    So it is clear that the step in the original post is wrong. The tivotools.tar can not be untared with MFSLive tar command. That may be because it can not handle the symbolic links in tivotools.tar.

    WinRAR will be able to untar tivotools.tar. But it will not recreate those symbolic links. Instead it just makes a copy of busybox for each link. So you will end up with getting more than 100 MB stuff from tivotools.tar ;-)

    The correct way is to get tivoftpd from tivotools.tar using WinRAR or other similar utility on PC. Then put both tivotools.tar and tivoftpd into /tivo/tivo-bin. After booting Tivo box with added rc.sysinit.author, telnet into Tivo and do the following (text in red):

    hash-2.02# mount -o remount,rw /
    hash-2.02# cd /tivo-bin
    hash-2.02# cpio -i -H tar < tivotools.tar
    cpio: tivoftpd not reated: newer or same age wersion exists
    12779 blocks
    hash-2.02# mount -o remount,ro /

    Using ls you should see that most of commands are links to busybox.

    Some commands from tivotools are already available in Tivo HD, such as ls. When being called outside /tivo-bin, those commands under other dirs will be used due to the way PATH is set in rc.sysinit.author.

    One more note on the experience of my 1st attempt: There was a scary moment when I booted the box first time. It stayed a bit longer than usual on that "just a few minutes more" screen before showed the grey screen asking me to press the tivo button to start. I pushed the button, but there was no that video clip, only a black screen! I pushed the tivo button again and saw the Tivo Central screen with black background :-( I clicked the Now Playing List and saw only the bar without any characters. I could move the bar up down on the blank screen, which made me belive my 200 hours HD recordings might be still intact. I turn to Watch Live TV and it showed me a big spining wheel and message "getting channel info". I also tried a coupe of other menu screens and found they were pretty much all broken. I almost decided to revert the whole thing. But with a hunch, I booted the box again... And it worked :-) Is it normal to boot twice?

    My new kernel is Gen06-netopt-ext3.
    Last edited by valley_nomad; 08-27-2009 at 03:40 PM.

  11. #41
    Join Date
    Jul 2009
    Posts
    4
    I receiving error message "no write support. Markup file system as read only" when mounting sdd9

  12. #42
    Join Date
    May 2009
    Posts
    8

    11.0d

    Quote Originally Posted by ScanMan View Post
    Yes, to make it easier I posted an 11.0d "tvapppatches" in the support thread. Good luck!
    Hey guys -
    I am a noob and I have my prom hacked and ready to go...I tried all of this once by following another thread and ended up with an unbootable Tivo - so first I am going to get it booting again tomorrow...but after that I am going to follow this thread and hope for better luck...

    I have 11.0d so, where do I find the tvappatches for 11.0d...sorry for the noob question any help you can offer is awesome!

    Thanks!

  13. #43
    Join Date
    Jan 2005
    Posts
    1,008
    Quote Originally Posted by reltubman View Post
    I have 11.0d so, where do I find the tvappatches for 11.0d...sorry for the noob question any help you can offer is awesome!
    You can use the tvapppatches here:
    http://www.dealdatabase.com/forum/sh...9&postcount=27
    You probably want to read the whole thread for usage, etc.

    Or do it the 'dd' way like this:
    http://www.dealdatabase.com/forum/sh...39&postcount=2
    ScanMan --> Just another Tivo hacker...
    Killhdinitrd SA S2 Monte S2 Unscramble Upgrade Tivo Software

  14. #44
    Join Date
    May 2009
    Posts
    8
    for the DD approach, do I just type each line in manually into the prompt, i.e.

    echo -ne "\x10\x00\x00\xaa" | dd conv=notrunc of=tivoapp bs=1 seek=1915412

    then press enter, and then the next line and enter?

  15. #45
    Join Date
    Jan 2005
    Posts
    1,008
    Quote Originally Posted by reltubman View Post
    for the DD approach, do I just type each line in manually into the prompt, i.e.

    echo -ne "\x10\x00\x00\xaa" | dd conv=notrunc of=tivoapp bs=1 seek=1915412

    then press enter, and then the next line and enter?
    Yes, but you can't patch a running tivoapp. You need to do something like:
    Code:
    mount -o remount,rw /
    cd /tvbin
    cp tivoapp tivoapp.new
    chmod 755 tivoapp.new
    echo -ne "\x10\x00\x00\xaa" | dd conv=notrunc of=tivoapp.new bs=1 seek=1915412
    <do rest of your 'dd' statements>
    mv tivoapp tivoapp.orig
    mv tivoapp.new tivoapp
    restart
    It's always good to keep an original copy in case something goes wrong. Be careful keeping too many copies as it takes up lots of space.
    Last edited by ScanMan; 11-17-2009 at 12:28 PM.
    ScanMan --> Just another Tivo hacker...
    Killhdinitrd SA S2 Monte S2 Unscramble Upgrade Tivo Software

Posting Permissions

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