View Single Post
  #2  
Old 12-19-2006, 01:20 AM
drez drez is offline
Senior Member
 
Join Date: Dec 2005
Posts: 287
If you already ran killhdinitrd on a kernel (I'm assuming you're using the killhdinitrd Windows binary), you don't need to pay for that $5 CD. (0.9.3 does present itself as 0.9.2... but it's really 0.9.3. they forgot to update the version number text in the source.)

Instead of using a 3.1.5 kernel with 6.3, run killhdinitrd on this virgin 7.2.2 kernel: vmlinux-series2-7.2.2-oth.k1-01-2.px.

vmlinux-series2-7.2.2-oth.k1-01-2.px's MD5 before running killhdinitrd on it: fd71b861a767de9ad4a13dc5f78b6ae1

vmlinux-series2-7.2.2-oth.k1-01-2.px's MD5 after running killhdinitrd on it: 0a219d8fc6eede2cd9a37f4481113661

DON'T CONTINUE UNTIL YOUR 7.2.2 KERNEL MATCHES THAT MD5! (Check MD5s with this program. Just drag the .px file ontop of MD5Sums.exe in Windows Explorer.)



Use this free Tivo Linux Bootcd: MFSLive

While you are in Windows, download tivotools.tar.7z.

Put tivotools.tar (not tivotools.tar.7z, extract the .tar out of the .7z) and your already-killhdinitrd'd kernel on a CD or USB stick.

Tivotools (a.k.a. All-In-One Series 2 binaries a.k.a. busybox) includes the latest fakecall, standard linux commands (like ls,rm..), tivoftpd, and MUCH more.

I'll skip netconfig.tcl and the backport drivers. With the backport drivers, you could have used this $12 USB Ethernet adapter: http://www.outpost.com/product/4415686 ... but you said you only wanted serial.

....

First find out what your boot partition is, so type this in one of those Tivo Linux BootCDs (again, use the MFSLive CD):
Code:
bootpage -b /dev/hdX
It will reply with either 3 or 6. Remember this number. It's VERY IMPORTANT.




(I'm assuming you already how to mount a CD/USB stick in linux ... mount /dev/hdX /cdrom ... for a usb stick just mount it to /cdrom also,
mount /dev/sda1 /cdrom mount /dev/sdb1 /cdrom )


Then dd the kernel you ran killhdinitrd on in Windows to the partition that bootpage told you. i.e.:

Code:
dd if=/cdrom/vmlinux-series2-7.2.2-oth.k1-01-2.px of=/dev/hdX3

OR

dd if=/cdrom/vmlinux-series2-7.2.2-oth.k1-01-2.px of=/dev/hdX6


Next, you have to set your bootpage paramaters. You'll need to remember what your boot partition is for this.

If bootpage -b told you 3, your root partition is 4. If bootpage -b told you 6, your root partition is 7.

NOTES: No matter what your drive's location is in your PC, the drive is hda when it's inside your Tivo. So ALWAYS use hda inside the quotes.... it's upgrade, not update... thats a capital P and C ...

Code:
bootpage -P "root=/dev/hda4 dsscon=true console=2,115200 upgradesoftware=false" -C /dev/hdX

OR

bootpage -P "root=/dev/hda7 dsscon=true console=2,115200 upgradesoftware=false" -C /dev/hdX

Now that the killhdinitrd kernel is in the right partition and your bootpage is set, it's time to mount your Tivo's root filesystem.


First make a mount point (Note: this is not necessary with the MFSLive CD, the /tivo folder has already been made on the MFSLive CD.)

Code:
mkdir /tivo
Now you mount your Tivo's root to that /tivo mount point. You'll need to remember what your root partition is.

Again, if bootpage -b earlier told you 3, your root is 4.
If bootpage -b told you 6, your root is 7.


Code:
mount /dev/hdX4 /tivo

OR

mount /dev/hdX7 /tivo


Now make /tivo-bin and extract tivotools.tar into there.

Code:
mkdir /tivo/tivo-bin/
tar -xvf /cdrom/tivotools.tar -C /tivo/tivo-bin/
Next, disable the Tivo firewall (in older Tivo software versions, you had to disable netfilter... with current versions, you must replace iptables.)

First you backup your iptables by renaming it to "iptables.orig"

Then you must make a new iptables with a little script that exits when run. You must BE EXACT WITH EVERY LETTER OF THE ECHO LINE!!!!
Pay attention to slash order: /'s and \'s.... thats a single quote: ' ... thats a 0 (number), not an O (letter) ...

Then you must make your new iptables executable with chmod.

Code:
mv /tivo/sbin/iptables /tivo/sbin/iptables.orig
echo -e '#!/bin/bash\nexit 0' > /tivo/sbin/iptables
chmod 755 /tivo/sbin/iptables

Last thing you need to do is make your rc.sysinit.author:

First change directory to /tivo/etc/rc.d/

Code:
cd /tivo/etc/rc.d/
Then make a rc.sysinit.author (DON'T MAKE IT IN WINDOWS UNLESS YOU HOW TO SAVE IN UNIX MODE, you can just cp it from your cd/usb if you do.. make it in vi to be safe) file and open it in vi. Read up on vi commands here... Press ":", then "x" and then "Enter" to exit and save...

Code:
touch rc.sysinit.author
vi rc.sysinit.author
Code:
#!/bin/bash
export PATH=./:.:/bin:/sbin:/tvbin:/tivo-bin
export TIVO_ROOT=
export MFS_DEVICE=/dev/hda10

#serial bash... BE EXACT WITH THIS OR SERIAL WONT WORK!
/bin/bash</dev/ttyS2&>/dev/ttyS2&

#telnet
/sbin/tnlited 23 /bin/bash -login &

#ftp
/tivo-bin/tivoftpd

#fakecall
/tivo-bin/fakecall.tcl
(I put telnet/ftp in there in case you decide to use networking later on..)

After you are done making rc.sysinit.author, make it executable:
Code:
chmod 755 rc.sysinit.author

Now, cd to /, umount (not unmount) your Tivo drive, poweroff.

Code:
cd /
umount /tivo
poweroff

Last edited by drez; 12-19-2006 at 09:45 PM.
Reply With Quote