Results 1 to 10 of 10

Thread: MY single page guide to hacking the S3 TIVOHD

Threaded View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Join Date
    Dec 2001
    Posts
    603

    MY single page guide to hacking the S3 TIVOHD

    With the 11.0n coming down, and the other thread being pages and pages, I've enclosed my single page step-by-step, boiled down from the huge other thread, to get a telnet prompt on your TIVOHD

    lrhorer has done a great job with his scripts and I am using them to do the tivoapp patching, etc. This step-by-step just gets to the tivo telnet prompt

    Included: What to grab from the other thread, using a USB stick, booting mfstool.iso, etc., commands to type at a command prompt:

    --------------------------------------
    Code:
    This is the step-by-step to get your TIVOHD to give you a telnet prompt and FTP.  After completing this, you
    should be able to get into your TIVOHD to do tivoapp patches as required
    
    
    0. Collect tools.
    
        NillaZilla's distro of replace_initrd, called: replace_initrd.x86.tar.gz
        SATA enabled, tivo aware linux boot disk. mfslive.org 1.4 or greater
        A PC with a SATA interface and FAT32 formatted hard drive or USB flash drive.
        Alphawolf's tivotools.tar.7z (for S2/S3 systems)
    
        If missing it, create the rc.sysinit.author file with following content in UNIX (lf only) textformat.
        This can be done with dos2unix linux program or web site.  Google it:
    
    #/bin/bash
    ########################
    #Make sure this is in unix format
    #chmod it to 755 on the tivo
    #
    # Add /tivo-bin to path 
    export PATH=$PATH:/tivo-bin
    
    # Start telnet
    tnlited 23 /bin/bash -login &
    
    # Disable firewall
    iptables -F
    
    #start FTP
    /tivo-bin/tivoftpd
    ########################
    
        Place all of these in a directory called /tivohackS3 on the FAT32 HD or USB disk.
        Open replace_initrd.x86.tar.gz while in windows, drag the files busybox.replace_initrd.x86
    	and null-linuxrc.img.gz back to the /tivohackS3 directory on the FAT32 HD or USB disk.
        Open tivotools.tar, extract out the tivoftpd file and place it in the same /tivohackS3 dir.
    
    1. Connect the TiVo drive to my PC and boot with mfslive.org disk (do not mount yet)
       Select option 1 or 3 on the mfslive menu
       During boot, verify tivo disk is sda by typing 'dmesg' at the command prompt and tabbing
    	through the resulting display to find the hard disk discovery.  
    	99 times out of 100, it will be /dev/sda, but it can be /dev/sdb if you are using a
    	FAT32 HD instead of a USB Stick to write to and it obtains /dev/sda first.
    
       If using a USB stick, Insert the USB stickand usb is sdb by putting in usb stick when you 
    	see the command prompt.  It should display the /dev/sdx for the device, if it sees it
    	but doesnt give it a /dev/sdx name, take it out, try again.
    
    	We will assume /dev/sda for the TIVO disk and /dev/sdb for the USB stick/FAT32 HD
    	in the below instructions.
    
    	Next, 'mount' the FAT32 drive so we can copy files to it:
    
    		mkdir /usbdisk
    		mkdir /tivodisk
    		mount /dev/sdb1 /usbdisk
    
    2. Use bootpage to figure out which the partition the active kernel is in.
    	This is on the mfslive.org disk.  It returns 4 or 7
    
    		bootpage -p /dev/sda
    
    	This will display: 'Root is on /dev/sda7'  (or sda4)
    
    	If it doesn't, your tivo disk is not a tivo disk or corrupted or not attached as you expected.
    	We will assume it returned 7 for the below instructions.  If your returned 4, then use 3/4 below.
    
    3. Use DD to copy the kernel to a file on the FAT32 HD/USB stick.  The kernel is the complete partition 
    	Use 6 or 3 depending on whether bootpage returned 7 or 4 respectively:
    
       		dd if=/dev/sda6 of=/usbdisk/tivohackS3/vmlinux.px
    		dd if=/dev/sda6 of=/usbdisk/tivohackS3/vmlinux.px.orig
    
    	The second saves a copy of the original kernel in case something breaks, you can put it back.
    
    4. mfslive.org disk uses busybox, so we use busybox.replace_initrd that was extracted in step 0 to patch the 
    	kernel, then copy it back.  Use 6 or 3 in the dd command based upon bootpage returning 7 or 4:
    
    		cd /usbdisk/tivohackS3
    		./busybox.replace_initrd.x86 ./vmlinux.px ./null-linuxrc.img.gz ./original_kernel.bak
    
    	replace_initrd should describe its changes.  If it says 'Nothing found', something is wrong.
    
    		dd if=./vmlinux.px  of=/dev/sda6
    
    where vmlinux.px is the copy of the extracted kernel from the S3 drive and original_kernel.bak is a backup 
    copy of the unpatched kernel (this is created as an output to the above process and is not something you 
    need to create ahead of time). 
    
    5. Copy tivoftpd, AlphaWolf's Tools to the tivo drive into /tivo-bin. 
    	tivoftpd should be in the /usbdisk/tivohacks3 directory from step 0
    
    	I find that AlphaWolf's tools need to be installed on a running tivo, 
    	so just copy the tar file to the tivo drive and wait until you are logged 
    	into the tivo via telnet to expand it.
    	Below is 4 or 7 from bootpage
    
    		mount /dev/sda7 /tivodisk
    
    		mkdir /tivodisk/tivo-bin
    		cd /usbdisk/tivohackS3
    		mv ./tivotools.tar /tivodisk/tivo-bin
    		mv ./tivoftpd      /tivodisk/tivo-bin
    		export PATH=$PATH:/tivo-bin    (and put in rc.sysinit.author)
    
    6. Copy rc.sysinit.author to /etc/rc.d on tivodisk and make it runnable.  Important! Verify that the
    	rc.sysinit.author file is UNIX format text file  (LF only), NOT DOS (CRLF termination) format.
    
    		cp /usbdisk/tivohackS3/rc.sysinit.author /tivodisk/etc/rc.d
    		chmod +755 /tivodisk/etc/rc.d/rc.sysinit.author
    
    7. Put drive back in TIVOHD
       	BOOT TIVOHD
       	After it is running, you should be able to telnet into it using your favorite telnet program
    
       	Telnet in, Execute the following at the TIVO command prompt to expand the tivotools:
    
    		cd /tivo-bin
    		mount -o remount,rw /
    		cpio -i -H tar < tivotools.tar    (Ignore no such file errors)
    		export PATH=$PATH:/tivo-bin    (and put in rc.sysinit.author)
    		mount -o remount,ro /
    
    
    If you want to patch, get the tcl program and correct patch file, tvapppatch.tcl and tvapppatches.tcl (the latter is patch file)
    make sure patch program and patch data is in /var/hack
    Then:
    		cd /var/hacks
    		./tvapppatch.tcl
    
    The above uses default name so no parameters are necessary when calling the tvapppatch.tcl tool. This tool patches the tivoapp
    
                    REBOOT!
    
    All done!
    
    Install tivoweb if you want to.
    --------------------------------
    Last edited by philhu; 02-23-2016 at 03:08 PM. Reason: fixed step 4 to add period for vmlinux.px part and added what rc.sysinit.author file should contain if missing

Posting Permissions

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