PDA

View Full Version : My 3.1.0b Recovery Steps



Marsman
10-28-2003, 02:23 PM
Settled in to watch some of the backlog on the DTiVo last night and whammo, new software. After a brief panic, and a hunt for those Torx drivers, it boiled down to 8 steps for me once I got the drive hooked up to my PC.

Note: I run a minimal set of hacks on my machine, but this should be useful as a starting point. I'll put this in narrative form and add the syntax later if required. I make no claim to be a guru, or that this is the only way to do things, but it worked for me.

1. Mounted the partitions as /mnt4 and /mnt7 and figured out active and inactive partitions.

2. Copied my rc.sysinit.author from inactive /etc/rc.d to /etc/rc.d on the active partition.

3. Backed up my active partition rc.sysinit and then joe'd it to add the telnet daemon. I suppose I could have just copied this one over also, but I didn't take the time to do a line-by-line comparison between the old and new.

4. Copied .profile from the root on the inactive to the active root.

5. Copied noscramble.o from inactive /lib/modules to /lib/modules on the active partition.

6. Unmounted both of the partitions.

7. Ran kill_initrd disable to make sure the changes did not get overwritten.

8. Re-installed the drive into the DTiVo, powered up, and viola!

It really wasn't all that bad, the only issues were self-inflicted due to typos in my edits. The saving grace was that my /var directory (partition 9) was untouched, and nothing had to be re-installed there.

Hope this helps folks out,

--Marsman

[edited to fix the stuff I had all sporked up]

gawarner
10-28-2003, 07:16 PM
Marsman,

I too felt the same panic that you did when he awoke to find that Tivo had installed new software.

I too had installed minimal hacks months ago -- and now I am clueless as to how to proceed in order to restore my hacked Directivo.

Are all of my hacks such as Tivonet, Tystudio, and Elseed still on the drive or am I going to need to put the drive(s) back in my computer and remount them? If so, what do I use to do that?

I have two hard drives in my Sony SAT-T60. Does that present a problem?

I am lost and just a bit bewildered -- can you help this poor soul who is going through extraction withdrawal?

Would you mind elaborating on your own recovery with a step-by-step plan that I could follow? I would be forever indebted to you

Much thanks,

Gary

Marsman
10-28-2003, 09:49 PM
Ok, I'll give it a shot...

As a note of warning, I really don't know much about dual-drive DTiVos, but I'll describe what I did in a little more detail. From what I understand, you only need to remove your A drive from your Tivo. Also, I started with 3.1, so the nic drivers came with the box and I don't load any others. If you do, you'll have to find the instructions that came with them.

Before you start, look back over one of the how-tos. I found Hinsdale's How-to (http://www.newreleasesvideo.com/hinsdale-how-to/) and Steve Jenkins Guide (http://tivo.stevejenkins.com/) to be the most helpful for me. There are several others. I also had a bootable Linux CD that I used in my PC. These are easy to find, look in the forum stickys.

Hopefully you put your hacks in a /var directory (like/var/hack/something) as the upgrade didn't mess with that partition (partition 9), only partitions 4 & 7. Remember there is an active and an inactive partition. The upgrade loaded to the inactive partition and then swapped them. (I know this may not be the exact way it happens, but it works from a high-level perspective.) All the hacks you did are still on the machine, only in the current inactive partition. So here we go, reference the steps in my previous post...

1. With the drive in my PC, I mounted both partitions 4 and 7 as /mnt4 and /mnt7 respectively. I looked in the /etc/rc.d directories of each one. Partition 7 had my rc.sysinit.author and all the backups that Joe always creates. Partition 4 had none of these. Aha! I said, that means 4 is the new load and 7 is the previous one. And, yes, my dog looks at me funny when I actually say stuff like that out loud. For further examples, I'll use /mntA as the active partition and /mntI as the inactive one.

2. Time to copy the files. Change your directory to /mntA/etc/rc.d. Copy over your rc.sysinit.author (assuming you put the stuff you want to run at startup in here rather than in your normal rc.sysinit). This works out to:

cd /mntA/etc/rc.d
cp /mntI/etc/rc.d/rc.sysinit.author rc.sysinit.author

3. This one is pretty straightforward. Copy rc.sysinit to rc.sysinit.old or some other filename that you can understand is the backup. Next, use Joe to get telnet running again.

joe rc.sysinit

Scroll to the bottom of the file and add this line:

tnlited 23 /bin/bash -login &

Use CTRL+K then X to save the file and exit Joe.

4. Time to copy over the .profile file so any directories you had in your PATH will be there again.

cd /mntA
cp /mntI/.profile .profile

5. Time to get noscramble.o to where it belongs. This is just like the previous step.

cd /mntA/lib/modules
cp /mntI/lib/modules/noscramble.o noscramble.o

6. Unmount the drives. This works out to:

umount /mntA /mntI

7. Since I only wanted to do this once (unlike my original hack when I didn't know about initrd), I ran kill_initrd from the cd. From the kill_initrd directory, it was:

kill_initrd disable

8. Put it back in the DTiVo, power it up and try to telnet into it. If you get the bash prompt, you can use

cat /proc/modules

to see if noscramble.o is running. I'm unfamilliar with Tystudio or Elseed, but you should be able to run these normally.

Hope this helps,
--Marsman

jmhenry5150
10-29-2003, 02:42 PM
What exactly does 'kill_initrd disable' do?

gawarner
10-29-2003, 04:29 PM
Hey marsman,

Thanks to you, I got my Bash prompt back and noscramble.o is working.

I think I am on the road back thanks to your supreme efforts in outlining your actions.

Much, much appreciated!

Gary

Marsman
10-29-2003, 05:39 PM
What exactly does 'kill_initrd disable' do?

If someone really knows, chime in. This is just my basic understanding, and I may be totally wrong...

From what I understand, the OS checks all the files versus a database to determine their validity. If they don't match, it rewrites the offending files from an archive. Flashing the prom and disabling initrd (which does the check) stops your changes to files like rc.sysinit from being erased.

Kill_initrd is an application on the Linux boot disk that I use. It has 3 options: enable, disable, and status. There is a readme file in the directory that explains this in a little more depth. When you run it, it finds your TiVo hard drive and disables the boot check.

I wasn't convinced it was really necessary to flash the prom and run this when I initially hacked my DTiVo. Suffice to say I was real adept at the file edits after the third time through. Yes, I'm a stubborn one...:D

--Marsman

DealDataLOVER
10-29-2003, 09:01 PM
Thanks everyone for this great post,

However I had a question that I thought should be placed in this thread. For Dtivo users such as myself (DSR7000) , I have my machine working off of fsfix (no phone calls out) and simple hacks. I have my drive backed up and was wondering if people have released the update (3.1b, I am still on 3.1....151) in a zip package that you can install manually? It's been stated on this website that this is done to accept updates but not lose all your work. I think that if it has people might need a link ( and directions which are probably with the file set).


Thanks again :) and any info would be greatly appreciated on this matter.

slideaway
10-30-2003, 08:51 PM
I'm trying to get my S1 DTivo back online after the SW upgrade last night.

- Pulled drive
- hooked up to puter
- using mfstool v2 to boot
- doing mkdir /mnt/4
- mount /dev/hdb4 /mnt/4
Get /dev/hdb4: Success
mount: Must specify file system type

Go to /mnt/4 and nothing
Same with 7

did a mfsinfo /dev/hdb
get a /dev/hdb10-14

What am I missing. I don't know where I'm going wrong or if i'm just missing a simle F'ing step.


-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
EDIT:

Thanks gawarner. Actually I figured it out. I type my message above so quickly that I didn't get all the stuff right in my post but I was following the right steps. (I'm running a Hughes S1 Dtivo with orig 40gig drive)

My problem was, my Dtivo drive didn't like the MFStools 2. I had to dig for an older version. When I booted mfstool 2 I couldn't see or mount anything. I used a bootdisc that I got from 9th tee. This one.
tbdv2_6i.iso (http://www.9thtee.com/tbdv2_6i.iso) (about 9 megs)

After I booted with this disc I was able to mount the drives. I follow the directions above (copying rc.sysinit from..to ... and all that)

I have no idea why it wouldn't work with mfstools 2 as I'm a windoze drone and lack any nix skills.

Hope this helps anyone else that might be having the same problem.:D

gawarner
10-30-2003, 10:31 PM
I don't know much about Linux -- but I followed the commands on Steve Jenkins site....

The only difference I can see is in your syntax...

You are typing /mnt/4

All the instructions I have read show it like this:


mount /dev/hdb4 /mnt4

NutKase
10-31-2003, 12:58 PM
Originally posted by gawarner
I don't know much about Linux -- but I followed the commands on Steve Jenkins site....

The only difference I can see is in your syntax...

You are typing /mnt/4

All the instructions I have read show it like this:


mount /dev/hdb4 /mnt4

As you learn more you'll notice that he created the mount point 4 with the command:

mkdir /mnt/4

in the /mnt directory.

NutKase

yzf600
10-31-2003, 10:47 PM
So I removed my tivo drive, found the active drive and made appropriate changes to rc.sysinit. When I go to run kill_initrd, I get this:

Error - Unable to open file

From what I can tell, this means initrd does not exist on my system anymore.

So I decide to just put drive in tivo and see what happens. It boots and everything looks normal. But no telnet or ftp.

I took the drive out and looked at it on the PC again and all my changes got wiped. Apparently initrd does exist still.

Can anyone offer some suggestions on how to solve this problem? Thanks.

jmhenry5150
11-01-2003, 12:07 AM
Do a search on kill_initrd - it's on a boot disk that you will need...

Your settings are being overwritten because this process id looking for older / files that do not belong and removing them...

After you run this - you should be ready to go...

Let me know if you can't find it...

yzf600
11-01-2003, 08:03 AM
Originally posted by jmhenry5150
Do a search on kill_initrd - it's on a boot disk that you will need...

I guess I was a little vague. I found the kill_initrd binary on my boot CD. Here are the various messages I get when I execute kill_initrd:

/kill_initrd# ./kill_initrd
Error - File not specified

/kill_initrd# ./kill_initrd info
Error - Unable to open file

/kill_initrd# ./kill_initrd disable
Error - Unable to open file

The kill_init.txt file says this:

"Note - if you have used 'dd' to disable initrd then initrd has been literally wiped from the hard drive. kill_initrd will report 'not found' and will not be able to undo it."

This sounds like what happened. I never used dd myself, but I'd bet one of the hack scripts I ran when I first did all my hacks did. If so, why do my edits to rc.sysinit still get wiped out? initrd should be gone.

Does anyone know what might be going wrong here?

Thanks.

yzf600
11-01-2003, 08:19 AM
Originally posted by yzf600
I guess I was a little vague. I found the kill_initrd binary on my boot CD. Here are the various messages I get when I execute kill_initrd:

/kill_initrd# ./kill_initrd disable
Error - Unable to open file

Does anyone know what might be going wrong here?

Thanks.



I do! ;)

Apparently I was using too old a version of kill_initrd. I just downloaded a new boot CD and the version of kill_initrd on that cd worked.

NutKase
11-01-2003, 08:22 AM
Originally posted by yzf600
I never used dd myself, but I'd bet one of the hack scripts I ran when I first did all my hacks did. If so, why do my edits to rc.sysinit still get wiped out? initrd should be gone.

I never used dd myself...
I'd bet one of the hack scripts did........
If so...

Your initrd is still there and hasn't been killinitrd'd. You need to find the binary for your system and run it properly like:

/mnt/c/killinitrd /mnt/c/kernel_image_to_killinitrd.img

You can't assume anything in this game. You're just spinning your wheels.

NutKase

invader zog
11-02-2003, 04:26 PM
These instructions were really useful to me.

I didn't pay close enough attention to the notes about kill_initrd and had to repeat the process :)

Thanks!

ArcticGabe
11-03-2003, 06:38 PM
Marsman,

I, too, hit the panic button this morning when I found that I couldn't watch my recordings (immediately suspected noscramble.o, but didn't know what to do). After al little research, I found I have the 3.1.0b "virus" on my DTiVo.

After a lot of searching here, I found your post. What a savior!!

Can I ask just one favor, though? Can you please edit the title of your original post to say 3.1.0b so it's esier to find using a title search??

Thanks a million, again!!

Gabe

[edit: BTW, your instructions worked perfectly on my machine!!]

Zak0
11-03-2003, 09:33 PM
Originally posted by DealDataLOVER
I have my machine working off of fsfix (no phone calls out)
What's this fsfix thing, anyone know? I'm perfectly happy with the version of the DirecTivo software that I'm already running and would love to find a way to prevent any future updates without getting nagged constantly about not making the daily call.

Maybe this weekend I'll go ahead and let it upgrade - sometime when I have the time to peform the steps in this post to get noscramble and other hacks back up and running.

-Zak

jjz
11-04-2003, 11:07 AM
First off a big thanks to all in this thread- I too was dreading the upgrade- it finally came last night.
I followed Marsman's instructions except for the following additions:
1) I backed up the "new" rc.sysinit" on my new active partition
2) Copied my old rc.sysinit from the inactive partition into the active parition
3) I also found that I had to rerun the turbonet software installation to get telnet back
4) Luckily my /var/hack directory had been untouched so I did not have to re-install any programs
5) Viola- telnet, tivoweb, tystudio are all running

Now my question: Is it safe to use my old rc.sysinit file on my new "upgraded" system (i.e. #2 above)-or should I go back and add the appropriate lines to the newest rc.sysint to enable telnet, tystudio, tivoweb ...etc.
Thanks again!!!

dhemsell
11-06-2003, 10:13 PM
When I try kill_initrd, it chockes becuase I have multiple drives. Is there some fix for this?

NutKase
11-06-2003, 10:53 PM
Originally posted by dhemsell
When I try kill_initrd, it chockes becuase I have multiple drives. Is there some fix for this?

If you export (dd) your 'new' kernel partition to 'kill' then run killinitrd you shouldn't get any errors. Killinitrd doesn't care if you have multiple drives or not. It just works on the kernel partition you exported.

If you get errors, I suggest ensuring you have the right type and newest version of the killinitrd binary.

NutKase

dhemsell
11-06-2003, 11:01 PM
Originally posted by NutKase
If you export (dd) your 'new' kernel partition to 'kill' then run killinitrd you shouldn't get any errors. Killinitrd doesn't care if you have multiple drives or not. It just works on the kernel partition you exported.

If you get errors, I suggest ensuring you have the right type and newest version of the killinitrd binary.

NutKase

The version I have is 470668 bytes, and I haven't been able to find a newer one yet. It even errors out on the info option.

Could you explain the export you mentioned?

Thanks

NutKase
11-07-2003, 12:38 AM
Originally posted by dhemsell
The version I have is 470668 bytes, and I haven't been able to find a newer one yet. It even errors out on the info option.

Could you explain the export you mentioned?

Thanks

By export I mean:

dd if=/dev/hdX of=/mnt/c/newkernel2kill.img

X=partition_with_new_not_killed_kernel


if=in file
of=out file

NutKase

dhemsell
11-07-2003, 02:49 AM
fixed it...
Appearently it didn't like the fact that both drives were plugged in. I thought that might be the problem earlier, so I disabled the secondray in tohe BIOS (not wanting to mess with the cables any more than necessary). Turns out that isn't good enough for linux and it was still detecting the drive.

JimBliss
11-09-2003, 10:58 AM
http://www.dealdatabase.com/forum/showthread.php?s=&threadid=29139

Schnitty
12-02-2003, 03:23 AM
hey all, just wanted to thank everyone for a great thread. my baby is now back up and running for the first time in almost 2 months. great community support.

now if only i could get xplusz back... ;)

erk48188
12-13-2003, 06:42 PM
i'm having an interesting problem. i've started with a t60 several years ago, added a second hard drive, then added a turbonet card.

everything was fine until october and i got a new software version (in fact, i think i got 2 - i think i'm up to 3.1b something or other).

anyways, i decided to replace my original 40g hd with a new 120g hd...i used dd to copy the settings, recordings, etc. i also tried to get ftp to start working again.

while trying to use kill_initrd i get a message "Multiple Drives Detected".

What the heck is this?? i've flashed the drives and re-tried to no avail.


Originally posted by yzf600
So I removed my tivo drive, found the active drive and made appropriate changes to rc.sysinit. When I go to run kill_initrd, I get this:

Error - Unable to open file

From what I can tell, this means initrd does not exist on my system anymore.

So I decide to just put drive in tivo and see what happens. It boots and everything looks normal. But no telnet or ftp.

I took the drive out and looked at it on the PC again and all my changes got wiped. Apparently initrd does exist still.

Can anyone offer some suggestions on how to solve this problem? Thanks.

webdeck
12-30-2004, 08:53 PM
I haven't been able to find a version of killinitrd for S1 that takes a filename as a parameter. The only one I can find is the one that takes info/enable/disable as a parameter, and requires that the TiVo drive be installed on the PC.

I'm in desperate need of an S1-compatible killinitrd - my DTiVo is halfway through upgrading to 3.1.0c2 and I need to kill the initrd on the new kernel partition before it reboots, and I don't want to have to pull the drive to do it.* If I can either get a version of killinitrd that runs on the S1 TiVo itself (there are S2 versions floating out there, but no S1 version that I can find), or a version that runs on the PC but can work with a kernel image instead or requiring the TiVo drive be installed, it would be tremendously helpful.* I have searched all over and have not been able to find either.

Thanks,
-Mike