PDA

View Full Version : SD-DVR on 6.2 success story!


semjaza
05-15-2005, 08:33 PM
:) <-- That's me, a happy face! With the conclusion of a favorite TV series, I pulled the episodes I wanted off my trusty SD-DVR120 with 3.1.1b that I had Sleeper'd a long while ago, and proceeded to start serious reading here on DDB. It took me the whole weekend to plan and take notes and read! search! readreadread! but I now have a happy, apparently stable 6.2 installation running.

Kudos and thank you to AlphaWolf, ADH, NutKase, TheOnlyDruid, and the whole DDB community (n00bs, amateurs, and experts alike) for the resources here.

The link to a virgin 6.2 image (http://www.dealdatabase.com/forum/showpost.php?p=216601&postcount=36) kicked things off. I was too impatient to wait for my dtivo to get 6.2 via sat, so that was very, very handy to download it. (Incidentally, when I took UPGRADESOFTWARE=false off and forced the resulting hour-long call, I got 3.1.1e and that's it, as others have reported.)

TheOnlyDruid's Upgrading to 6.2, collected info and tips (http://www.dealdatabase.com/forum/showpost.php?p=215521&postcount=1) post, and following thread, was hugely helpful, as was the related support thread (http://www.dealdatabase.com/forum/showthread.php?t=41347) was exhausting to read but equally useful.

jlangstn's Hacking your Series 2 in 2004 (http://www.dealdatabase.com/forum/showthread.php?t=38468) post was very useful too, although I admit more for finding AlphaWolf's All-In-One S2 utilities collection (http://www.dealdatabase.com/forum/showthread.php?t=37602), which is in the FILES forum but is not in the forum's thread index using the default (last month's) filter, and it's impossible to search on "all in one". I only just now realized it was the post age filter that kept it from showing up :o

Countless other threads reminded me of the proper syntax for some of the commands, which I understand what does but not necessarily the right command line parameters, and there's not exactly a man page available ;)

When I first sleeper'd this unit, I understood about half of what I did, owing to my unix experience long ago, but the other half was inexplicable. I want to know WHY stuff happens but that's not always readily apparent.

This time around I'm happy to say I understand everything, so far :) about the only question I have is, what is TEST.CONF called by? I haven't explained away that one yet. I'm glad it's there tho.

I haven't gotten to the more interesting part of loading hacks yet, but I have a foundation now, thankfully.

1. Pulled drive and used dd to plop a killhdinitrd'd 3.1.5 kernel onto both kernel partitions. The $5 ptvupgrades Enhanced LBA48 CD is worth the time savings of putting together my own working linux boot CD imho. Used mfsrestore to put 62small.mfs onto the drive first, of course :)

2. Updated the bootpage to set upgradesoftware=false.

3. My understanding is that the 2.4.20 kernel from 3.1.5 wasn't compiled with netfilter/iptables, so I renamed iptables and replaced it with the stub code to return an exit code of 0 per TheOnlyDruid.

4. Copied over AlphaWolf's init framework with my own modifications (commented out TWP and other hacks that I haven't installed yet, etc.). Took me a while to find that test.conf goes in root.

5. Copied AlphaWolf's binaries tar to the drive. (YOU ROCK for putting that Excellent package together, AW.)

6. Put drive back in, booted up, got the expected errors about stuff in /tivo-bin not being there (haven't extracted the tar yet.. duh), noted some errors, but came right back up. Yay!

7. Used serial console (phew, thank goodness it came up) to extract the tools, and boom, "ls" etc now works *phew*

8. telnet works after step 7 :)

Now I have a nice, functioning, tivo just waiting for me to lay into it. Y'all rock, and thanks much for letting amateurs like me lurk while I explore :)

Things to fix before I add hacks:
"bash: no job control in this shell" -- eg. the "&" to put processes in the background isn't working. Hopefully will be easy to fix.

warning: can't open /var/mtab: No such file or directory
umount: /initrd: not mounted
I'll assume for now that this is cause there is no initial ramdisk anymore (aka killhdinitrd).

and that's it *gasp*

AhoyMatey
05-15-2005, 09:17 PM
test.conf is pretty much the first thing called by rc.sysinit (if test.conf exists).

FredThompson
05-16-2005, 08:28 AM
Things to fix before I add hacks:
You might consider taking the time to write a very thorough how and why, step-by-step document so you don't get stuck later wondering what you did and why. As you add hacks, it will help you backtrack if something pukes on you.

semjaza
05-16-2005, 10:44 AM
Incidentally, FredT, I did -- but it's written in my own cryptic "notes to self" hence I didn't just copy and paste. :)

Last night, I put on the new unified MFS binaries (just tserver, really) and subsequently tried out the backported USB2 drivers -- which doubled my throughput. I copied out the various RC scripts and intend to pore over them to see what neat stuff they do :)

eastwind
05-16-2005, 01:00 PM
This time around I'm happy to say I understand everything, so far :) about the only question I have is, what is TEST.CONF called by? I haven't explained away that one yet. I'm glad it's there tho.
Here's where it gets 'pulled in' in 3.1.1e (should be similar in 6.2) BUT the name of the file is test.conf not TEST.CONF--the '/' gives a hint where to place it.[bash DTiVo(4): /etc/rc.d] $cat rc.sysinit | grep -n test.conf
167:[ ! -f /test.conf ] || source /test.conf

Things to fix before I add hacks:
"bash: no job control in this shell" -- eg. the "&" to put processes in the background isn't working. Hopefully will be easy to fix.

Backgrounding isn't the problem...don't worry about the job control line. You could spend a lot of time trying to fix this without success, but in the immortal words of Tripper Harrison (Bill Murray)--"It just doesn't matter!"
Congrats!

ew

semjaza
05-16-2005, 01:24 PM
the name of the file is test.conf not TEST.CONFYes, that was an intentional typo on my part, for the bad reason of wanting to make sure people reading knew I was referring to a file.
Backgrounding isn't the problem...don't worry about the job control line. You could spend a lot of time trying to fix this without successFigures. I don't suppose there are alternative shells available on this particular platform (eg. series2 MIPS) ? I haven't researched that. In the meantime I suppose it'll suffice to fork stuff off and use setpri to make sure nothing important gets clobbered.

Jamie
05-16-2005, 01:30 PM
...don't worry about the job control line. You could spend a lot of time trying to fix this without success, ...Or, you you could do a quick search on the message string and find setsid (http://www.dealdatabase.com/forum/showthread.php?p=189425&highlight=no+job+control#post189425).

trongod05
05-28-2005, 05:04 PM
semjaza when you mention the 3.1.5 killhdinitrd kernel, are you talking about the kernel that is on the PTV cd in the 3_1.5 folder?

cheer
05-29-2005, 12:20 PM
semjaza when you mention the 3.1.5 killhdinitrd kernel, are you talking about the kernel that is on the PTV cd in the 3_1.5 folder?
That one will certainly do the trick -- it's already been killhdinitrd'd. Used it myself last night with complete success.

semjaza
05-30-2005, 09:33 AM
yep, just as cheer says, I used a pre-killhdinitrd'd kernel from the ptv disc. Not that killhdinitrd'ing a kernel is difficult, but since I bought the disc there's no reason not to use it. :)

94SupraTT
06-07-2005, 12:07 PM
That one will certainly do the trick -- it's already been killhdinitrd'd. Used it myself last night with complete success.

That is good news because I bought that disk when I upgraded to 4.0.1.b I plan on hacking my 6.2 drive here soon and monteing into a unscramble kernel to pull some shows off it. So having an already killhdinitrd'd 3.1.5 kernel saves me a step. :D

PlainBill
06-07-2005, 02:25 PM
That is good news because I bought that disk when I upgraded to 4.0.1.b I plan on hacking my 6.2 drive here soon and monteing into a unscramble kernel to pull some shows off it. So having an already killhdinitrd'd 3.1.5 kernel saves me a step. :D
No, it doesn't. You boot from a killhdinitrd 3.1.1c kernel, then monte into an unscramble 2.4.20 kernel. While Jamie has compiled kmonte.o for booting from both 2.4.18 (4.0.1a) and 2.4.20 (3.1.5) kernels, he feels they are less stable that the original, and does not suggest you use them.

PlainBill

94SupraTT
06-07-2005, 03:43 PM
No, it doesn't. You boot from a killhdinitrd 3.1.1c kernel, then monte into an unscramble 2.4.20 kernel. While Jamie has compiled kmonte.o for booting from both 2.4.18 (4.0.1a) and 2.4.20 (3.1.5) kernels, he feels they are less stable that the original, and does not suggest you use them.

PlainBill

The step I was referring to was killhdinitrd'ding the 3.1.5 kernel.

According to the following post someone was able to monte from 3.1.5 to the unscramble kernel just fine. Which is what I wanted to do.


Originally Posted by DrTusk
I have DTivo w/ 6.2 installed with 3.1.5 kernel from PTVUpgrade. I'm using the rc.sysinit.real method with the 2.4.20 kmonte.o and vmlinux.px 3.1.5x file. Tivo boots fine and from the logs it appears the kernel is being loaded, but there is no networking. The USB and hub lights are on, but it never acquires an IP address.

I see a few lines like this in the log which is my only guess to the problem.

Jun 6 03:53:18 (none) kernel: iptables v1.2.6a: can't initialize iptables table `filter': iptables who? (do you need to insmod?)
Jun 6 03:53:18 (none) kernel: Perhaps iptables or your kernel needs to be upgraded.

This one is also suspicious

Jun 6 04:26:21 (none) kernel: /lib/modules/af_packet.o: unresolved symbol sk_run_filter

I've attached the kernel log.

The kernel seems to be working as I see a line in there.

Jun 6 07:02:31 (none) kernel: add_only: 2403569106,1,0,0,2672450029,1620835734,258783841,3516275162|8016fd70,13,0,131072,256,1

EDIT: Figured it out... switching to use a static IP instead of DHCP. Happened to see a random post mentioning sk_run_filter and got lucky

So what you are saying it basically to be safe just boot from a killinithdrd'd 3.1.1c kernel then monte into the unscramble kernel because of stability issues. I wasn't sure whether or not a 3.1.1c kernel would run on my 6.2 box after reading a few threads suggesting that a killinithdrd'd kernel should be used to hack 6.2.

eastwind
06-07-2005, 04:12 PM
The step I was referring to was killhdinitrd'ding the 3.1.5 kernel.

According to the following post someone was able to monte from 3.1.5 to the unscramble kernel just fine. Which is what I wanted to do.



So what you are saying it basically to be safe just boot from a killinithdrd'd 3.1.1c kernel then monte into the unscramble kernel because of stability issues. I wasn't sure whether or not a 3.1.1c kernel would run on my 6.2 box after reading a few threads suggesting that a killinithdrd'd kernel should be used to hack 6.2.
Correct, you boot a killhdinitrd'd 3.1.1c (2.4.4) kernel and monte to an unscramble 3.1.5 (2.4.2) kernel. If you don't monte the 6.2 won't operate properly (or at all maybe) because you're using the wrong kernel version (6.2 uses the same 2.4.2 kernel as 3.1.5 did). When you're done extracting/unscrambling you won't have to monte anymore, you can put the killhdinitrd'd 3.1.5 (2.4.2) kernel in the boot partition instead of the 3.1.1c (2.4.4) kernel and skip the monte because you'll already have the correct kernel-software version match.

For those of you trying to follow this....3.1.1c and 3.1.5 and 6.2 are TiVo software versions that use 2.4.4 and 2.4.20 and 2.4.20 Linux kernel versions respectively.

ew

94SupraTT
06-07-2005, 05:20 PM
Correct, you boot a killhdinitrd'd 3.1.1c (2.4.4) kernel and monte to an unscramble 3.1.5 (2.4.2) kernel. If you don't monte the 6.2 won't operate properly (or at all maybe) because you're using the wrong kernel version (6.2 uses the same 2.4.2 kernel as 3.1.5 did). When you're done extracting/unscrambling you won't have to monte anymore, you can put the killhdinitrd'd 3.1.5 (2.4.2) kernel in the boot partition instead of the 3.1.1c (2.4.4) kernel and skip the monte because you'll already have the correct kernel-software version match.

For those of you trying to follow this....3.1.1c and 3.1.5 and 6.2 are TiVo software versions that use 2.4.4 and 2.4.2 and 2.4.2 Linux kernel versions respectively.

ew

Thanks. Sounds clear enough. :D

edros
06-28-2005, 12:22 PM
I am very happy with my upgrade to 6.2 with hacks.
Read and read over these forums. It will give you a better understanding of what is going on. Be patient and do not rush into things without go over your plan at least 5 times before starting.
I feel that once you understand what is going on it will seem easy.
Here is a summary of what I did after a couple of attempts.
Note: I did not care that I was going to lose all of my recordings
I created a custom cd based on the bootable mfstools 2.0 iso with hacks (hacked kernel - 3.1.5, etc) and 62small.mfs also on the cd.
Boot from the cd with your tivo drive connected to your pc (make sure you know what drive it is: hda, hdb, hdc or hdd). You can backup your tivo drive to your pcs hard drive first if you are smart (nobody wants too much down time with their tivo).
Restore the 6.2 image to your tivo drive.
Reboot.
Put the drive back in your tivo and make sure you can view your directv channles (you will have to go through the initial configuration steps). Make sure you have local channels if that is part of your subscription. You may have to call dtv to get the locals back. If all is ok, then take out the drive and put it back in your pc.
dd the hacked kernel to the proper partition on the tivo drive (this will allow you to add other hacks).
Copy other hacks to your tivo drive.
Make sure you are using an approved network card.
Edit rc.sysinit.author using pico (much easier to use than vi and should be on your cd) to allow telnet access and to set the tivo to have a static ip address (optional) that is out of the range of the current dhcp scope. Also allow serial console access - the port setting will be dependent on your tivo (ttyS2 - is for my SD-DVR40).
Make sure you have a serial cable for troubleshooting purposes. When something is not starting up like it should the output from the serial cable will let you know exactly what is going on.
rename netfilter-enable to netfilter-enable.old
rename netfilter-disable to netfilter-enable
fix your iptables
Do not try to configure other hacks yet. You just want to give your self telnet access.
Put the drive back in the tivo and pray for telnet access.
After getting telnet access you can apply other hacks as necessary. Just make sure the permission and files are correct for your tivo.

Always be sure to triple check everything....if you skip a step you will be in trouble. These are the steps I took. For more details search and read these forums like I did.


****Make sure your tivo boot cd is lba48 compliant. When I restored 62small, it only resotred to 128GB instead of 200GB.****

imaloserbaby
06-28-2005, 11:03 PM
Correct, you boot a killhdinitrd'd 3.1.1c (2.4.4) kernel and monte to an unscramble 3.1.5 (2.4.2) kernel. <snip>

This was, if I am correct, an unintended typo? I.e. should read:

3.1.5 (2.4.20) kernel.

I think that's correct, but want to be sure.

eastwind
06-29-2005, 06:56 AM
This was, if I am correct, an unintended typo? I.e. should read:

3.1.5 (2.4.20) kernel.

I think that's correct, but want to be sure.
Yeah, 2.4.20. I've corrected the original post.
thanks
ew