PDA

View Full Version : 4.01b to 6.2 and back via slices?



beejaycee
03-24-2005, 08:54 PM
I have 2 DTiVos running 4.01b and am thinking about putting 6.2 on one to see if I like it enough to give up MRV. Originally, I used Tivoscripts to put a full copy of 4.01b on both boxes. Later, I used killhdinitrd on a kernel and un-monte'ed them. Now, I've downloaded:
62_dtivo_slices.zip
TiVo.4.01bslices.and.loopsets.AlphaWolf.tar.bz2
Courtesy of PlainBill I have the directions on upgrading with slices. Is there any reason that I cannot upgrade the OS on one TiVo to 6.2 via these slices AND then go back to 4.01b, also via slices, should I decide I don't like 6.2?

AhoyMatey
03-24-2005, 09:11 PM
I've never done it, but AlphaWolf has a post somewhere where he stated that he hasn't had any problems moving back and forth between versions. (Obviously this was before 6.2 was out though. Don't see why it should be any diffferent though.)

jasch
03-24-2005, 09:46 PM
I don't think it's possible to switch between 6.2 and older versions. because the databases get upgraded (that why 6.2 is so fast now displaying guide data and other things, because of the new database scheme).

Once you gone to 6.2, if you try to boot in a previous version, you TiVo will probably enter a reboot loop

Thinkdiff
03-24-2005, 10:15 PM
It's not possible.. at least, not without reconverting the database somehow. I've been experimenting with the idea cause I have 4.0.1b on my tivo and wnat to try 6.2.. so I installed 4 on an extra drive, upgraded to 6 via slices and then I tried to flip the boot page and everything and it had a bunch of issues. I can try to reinstall the 4 slices and see if it makes a difference if you wish. I still have that backup drive going.

As for installing the slices, you need to edit installSw.itcl. There's a line that checks the slices you are going to install are newer than your current OS. I faced this problem with installing 4.01b slices on a 3.1.1e machine.. 3.1.1e obviously is newer than 4.0.1b. So I switched a line that has something like newversion < oldversion ; stop=1 .. to newversion > oldversion ; stop=1

Yazhol
03-24-2005, 10:51 PM
Once you've gone to 6.2 you can't go back.

Just for the sake of trying tried switching my bootpage to boot up my 3.1.1e install instead of 6.2 and it won't boot after the upgrade.

Once you've gone through the database conversion you're committed to 6.2 or wiping the drive and starting over.

My opinion, it's worth giving up the MRV and HMO for the speed you gain and you get your Now Showing icons back. :) It won't be long before someone comes up with a superpatch for 6.2 to enable HMO/MRV because everything needed for HMO/MRV is in 6.2 just not enabled by default.

PlainBill
03-24-2005, 11:46 PM
It's been pretty well established that once you go up to 6.2 you can't just flip the bootpage and go back. Beejaycee is talking about using the slices for 4.0.1b to go back. I wouldn't try this with a 'production' drive, but it would be a worthwhile experiment to try on a test drive. For what it's worth, I don't think it will work, but you never know until you try.

PlainBill

AhoyMatey
03-25-2005, 08:32 AM
I should have stated this more clearly in my original post. You don't just flip the bootpage - you have to run installSw.tcl with the version you want every time. The OP mentioned this is the way he would do it. If I have time, I'll play with this on the weekend.

beejaycee
03-25-2005, 11:02 AM
Given what's been written so far, I think I'll play around with the bedroom TiVo as it's the one SO would miss the least! :) The following have been downloaded from the satellite and are already in /SwModule:

Name = GZcore
ServerId = 44090111

Name = GZkernel
ServerId = 44090113

Name = utils
ServerId = 44090115 There are also 10 other files in /SwModule for 4.01b. Given that mine is an HDVR2, (the DVR service # begins with "151-"), I believe that the files I need to extract from 62_dtivo_slices.zip, upload, extract on theTiVo, and load into /SwModule:
swsystem-44090118-2.slice.gz
loopset-dtv-Series2.slice.gz
However, it was my understanding from a post by
The Only Druid (http://www.dealdatabase.com/forum/showpost.php?p=212415&postcount=34)that I should have 8 files for 6.2. Am I being bitten by having used a 4.01b image to upgrade my DTiVo and don't have all the loopsets? Further reading indicates not but I am worried that I don't have all needed files before I start.

PlainBill
03-25-2005, 11:08 AM
Given what's been written so far, I think I'll play around with the bedroom TiVo as it's the one SO would miss the least! :) The following have been downloaded from the satellite and are already in /SwModule:

Name = GZcore
ServerId = 44090111

Name = GZkernel
ServerId = 44090113

Name = utils
ServerId = 44090115 There are also 10 other files in /SwModule for 4.01b. Given that mine is an HDVR2, (the DVR service # begins with "151-"), I believe that the files I need to extract from 62_dtivo_slices.zip, upload, extract on theTiVo, and load into /SwModule:
swsystem-44090118-2.slice.gz
loopset-dtv-Series2.slice.gz
However, it was my understanding from a post by
The Only Druid (http://www.dealdatabase.com/forum/showpost.php?p=212415&postcount=34)that I should have 8 files for 6.2. Am I being bitten by having used a 4.01b image to upgrade my DTiVo and don't have all the loopsets? Further reading indicates not but I am worried that I don't have all needed files before I start.
What do you see in /SwSystem? The three modules you see in SwModule are all you are going to see there.

PlainBill

beejaycee
03-25-2005, 12:04 PM
What do you see in /SwSystem? The three modules you see in SwModule are all you are going to see there.

Thanks for catching me in a big, foolish mistake before I made it! I confused SwModule with SwSystem. In SwSystem as shown by TWP, I only have 2 files showing: "Active" and "4.01b.2003.12.02-[etc]".

So I am I correct in saying that I have 5 files to dbload into SwSystem:

GZkernel-44090113-2.slice
GZcore-44090111-2.slice
utils-44090115-2.slice
swsystem-44090118-2.slice
loopset-dtv-Series2.slice

PlainBill
03-25-2005, 01:18 PM
Thanks for catching me in a big, foolish mistake before I made it! I confused SwModule with SwSystem. In SwSystem as shown by TWP, I only have 2 files showing: "Active" and "4.01b.2003.12.02-[etc]".

So I am I correct in saying that I have 5 files to dbload into SwSystem:

GZkernel-44090113-2.slice
GZcore-44090111-2.slice
utils-44090115-2.slice
swsystem-44090118-2.slice
loopset-dtv-Series2.slice
Please take this with a grain of salt, all of this information is my interpretation of what I've learned from others, mainly alldeadhomiez. I'm sure GZkernel, GZcore, and utils are already loaded. Swsystem and loopset do not appear in /SwModule. Loopset is loaded into another portion of the mfs database. Swsystem is a REALLY special slice, I think of it as the 'traffic cop' of the process. When swsystem is loaded, it checks that all other modules (in this case GZcore, GZkernel, and utils) are loaded, AND all dependencies (mainly loopsets) are already present. If everything is OK, THEN the entry appears in /SwSystem. Swsystem actually makes changes in hundreds of places, according to alldeadhomiez.

I would dbload the loopset slice, then dbload the swsystem slice. At that point you should see the entry in /SwSystem, and be ready to upgrade. IIRC, swsystem slice takes a long time to load.

PlainBill

AhoyMatey
03-25-2005, 10:02 PM
I've tried this out, and here's what happened:

I took an unsubscribed DSR7000 and went from 3.1.1e to 4.0.1b. I then went from 4.0.1b to 6.2. (It takes a long while to upgrade the database.) I then tried to go back from 6.2 to 4.0.1b. I eventually got it to work (mostly), but it was non-trivial.

installSw.tcl for 6.2 has changed quite a bit from 4.0.1b. It no longer has a direct version check, but it does an elGamal signature check on the modules (for the version you're installing) in SwSystem/SwModule and that failed. So I had to remove that check. I also removed the $name from the updateroot call. I changed installSw.tcl to always allow me to upgrade (otherwise after you've run it once, it won't let you run it again - says you're already at the new version).

The utilities were extracted from MFS ok, but the root filesystem modules weren't (GZbin, GZetc, etc). I had to copy SwInstall.tcl (in /tvlib/tcl/tv) and hack up my own version which would allow me to copy the cpio files to /var/packages and unzip them. I included this file in installSw.tcl. installSw.tcl then ran and installed the new root. I installed hacks and rebooted. I did not get any messages about the database being updated. I can play files and connect through MRV to my other tivos without any problems. At this time, the "acquiring information from the satellite" is hanging at 100%.

I did get a message about the upgrade messages not applying:

Remounting /install read-only for comparison

pretend to Verify /var/packages/bin.cpio in /install
pretend to Verify /var/packages/etc.cpio in /install
pretend to Verify /var/packages/kernel.cpio in /install
pretend to Verify /var/packages/lib.cpio in /install
pretend to Verify /var/packages/opt.cpio in /install
pretend to Verify /var/packages/prom.cpio in /install
pretend to Verify /var/packages/sbin.cpio in /install
pretend to Verify /var/packages/tvbin.cpio in /install
pretend to Verify /var/packages/tvlib.cpio in /install
Dismounting /install


Modifying bootparams to point to /dev/hda4

Creating upgrade messages
upgrade_401a_mb.msg does not apply to 101
upgrade_401a_ptcm.msg does not apply to 101
Flipping root, setting boot parameters to 'root=/dev/hda4 upgradesoftware=false'

OK, reboot the system to use the new root filesystem

AlphaWolf
03-25-2005, 11:59 PM
I don't think it's possible to switch between 6.2 and older versions.


It's not possible.. at least, not without reconverting the database somehow.


Once you've gone to 6.2 you can't go back.

God damn, I don't know how many times I have repeated why it is in fact possible on this forum. I have lost track of how many times I have downgraded, yet people still constantly insist that it isn't possible anyways for who knows what reason. Of course flipping the bootpage doesn't work. When you run the installSw.itcl script, it extracts the slices which contain definitions for how it needs to adjust the mfs tree so that tivoapp can find everything it needs (see the utils slice.)


At this time, the "acquiring information from the satellite" is hanging at 100%.

I personally downgraded from 6.2 to 5.2 on one box (don't ask why, it was convoluted and I *think* I was using an installSw.itcl from an older version, I have since nuked that image though) and had an issue with the guide data. I fixed it by rubbishing a bunch of stuff in MFS, although I don't remember what specifically (possibly just /GuideIndexV3?) Try doing the highest C&D option you can do without clearing the streams out, that should probably fix it. C&D was broke on 5.2 for some reason so I had to attempt it manually and I am not sure which will fix it, but so long as you get rid of all of the guide data and allow tivoapp to repopulate the guide from scratch, it should be good. If you don't care about your tystreams, then just do a full C&DE.

AhoyMatey
03-26-2005, 10:36 AM
I did a full CD&E and everything is working now. The bottom line for the OP is that it's easier to swap drives than move up and down between 6.2 and 4.x.

beejaycee
03-28-2005, 09:25 AM
Thanks for all of the input provided so far. After being out of town for the weekend I am back at it. I am missing something fundamental about "dbload". I've attached a capture of what I've got so far:


slices in /var/packages
dbload is executable
slices loaded by "dbload slice name
At this point, when I do echo mls /SwSystem | tivosh I do not see the correct software version. I'm sure I am probably doing something simple incorrectly, such as incorrect parameters for dbload so that will be my next search project later today.

PlainBill
03-28-2005, 10:25 AM
Thanks for all of the input provided so far. After being out of town for the weekend I am back at it. I am missing something fundamental about "dbload". I've attached a capture of what I've got so far:


slices in /var/packages
dbload is executable
slices loaded by "dbload slice name
At this point, when I do echo mls /SwSystem | tivosh I do not see the correct software version. I'm sure I am probably doing something simple incorrectly, such as incorrect parameters for dbload so that will be my next search project later today.
Several ideas come to mind. IIRC, the slices were distributed as 'slicename.slice.gz'. Did you extract on your pc using something like winrar, or did you extract on the TiVo using gzip -d? I transfered the gzipped slices to the TiVo and extracted them there.

It has been mentioned several times that the loopsets package has been gzipped twice, and failing to extract it twice will cause the problem you describe (I was upgrading 3.1.1e, so didn't even bother with that slice).

Lastly, what is the result of running
echo mls /SwModule | tivosh

PlainBill

AhoyMatey
03-28-2005, 10:25 AM
http://www.dealdatabase.com/forum/showpost.php?p=215453&postcount=254

beejaycee
03-28-2005, 01:19 PM
I downloaded the package of slices called "6.2_dtivo_slices.zip" from e-mule. I unzipped the package on my PC. Those files were named as follows:

GZcore-44090111-2.slice.gz
GZkernel-44090113-2.slice.gz
swsystem-440901xx-2.slice.gz (xx = 16 to 23, 8 files total, I used 18 for xx)
utils-44090115-2.slice.gz
loopset-dtv-Series2.slice.gz The 5 relevant files were transfered to the TiVo and I used "gzip -d *.gz" to extract. I tried dbload on the 5 files but think that is where it didn't happen. The /SwSytem reads:
bedroom_tivo:/var/packages$ echo mls /SwSystem | tivosh
Directory of /SwSystem starting at ''

Name Type FsId Date Time Size
---- ---- ---- ---- ---- ----
4.0.1b.2003.12.02-1731-01-2-240 tyDb 284167 01/07/04 02:34 828
ACTIVE tyDb 284167 01/07/04 02:34 828
This is the same as before dbload so I am not doing something correctly there. I repeated the process with the same results; my previous post has the capture of the telnet session. I am going to delete the slice files on the TiVo and start over.

AhoyMatey
03-28-2005, 01:42 PM
Again, http://www.dealdatabase.com/forum/showpost.php?p=215453&postcount=254, fer cryin' out loud!

Read it this time. PlainBill told you that the loopsets have been gzipped twice. You won't get anything in SwSystem if the loopsets have not been loaded properly.

PlainBill
03-28-2005, 02:11 PM
I downloaded the package of slices called "6.2_dtivo_slices.zip" from e-mule. I unzipped the package on my PC. Those files were named as follows:

GZcore-44090111-2.slice.gz
GZkernel-44090113-2.slice.gz
swsystem-440901xx-2.slice.gz (xx = 16 to 23, 8 files total, I used 18 for xx)
utils-44090115-2.slice.gz
loopset-dtv-Series2.slice.gz The 5 relevant files were transfered to the TiVo and I used "gzip -d *.gz" to extract. I tried dbload on the 5 files but think that is where it didn't happen. The /SwSytem reads:
bedroom_tivo:/var/packages$ echo mls /SwSystem | tivosh
Directory of /SwSystem starting at ''

Name Type FsId Date Time Size
---- ---- ---- ---- ---- ----
4.0.1b.2003.12.02-1731-01-2-240 tyDb 284167 01/07/04 02:34 828
ACTIVE tyDb 284167 01/07/04 02:34 828
This is the same as before dbload so I am not doing something correctly there. I repeated the process with the same results; my previous post has the capture of the telnet session. I am going to delete the slice files on the TiVo and start over.
Read the post AhoyMatey references!!!

Alldeadhomiez has explained this several times; if this makes it clearer, he deserves the credit. If it doesn't, blame me.

GZkernel.slice and GZcore.slice contain the actual software to be installed. Utils.slice contains the utilities to install the software. When you dbload them they appear in /SwModule. Swsystem is NOT a 'regular' slice. I call it the traffic cop. Or think of it as the Quality Control Inspector. It checks the mfs database and determines if all the requirements for the particular software version have been met. If it doesn't find every dependency, no entry is made in /SwSystem (They don't want to install a software version that won't run).

In this case, an important requirement is NOT present on 4.0.1b system - the DirecTV loopsets. That's where the 5th slice comes in. Someone made a mistake with extentions, and the file wound up gzipped twice! When you try to dbload it, nothing is found to load, and an entry is put in the appropriate log file to that effect (no point in displaying an error message - usually nobody's watching).

PlainBill

beejaycee
03-28-2005, 04:01 PM
Gee, while I'm over in the 6.2 support thread reading & implementing the fix that AhoyMatie was kind enough to give me, I'm getting scolded for not reading and implementing the fix that AhoyMatie was kind enough to give me! :) (I answered PlainBill's post then went to the referenced post so I apologize if you thought I was ignoring your assistance.) At any rate, thank you for all of the time that you have given this. All of these issues are covered there so I'll post any other problems in that thread where they belong. I have 6.2 installed, after following AhoyMatie's instructions, and am doublechecking everything before a reboot.