Load THD slices and loopsets into a THDXL image to convert it to a true THD image?

If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

Load THD slices and loopsets into a THDXL image to convert it to a true THD image?

Over TCF, Jamie P posted the following in response to a comment about issues caused by running TivoHD XL image on an unmodified TivoHD:

It should be possible to load THD slices and loopsets into a THDXL image to convert it to a true THD image with the THDXL partition layout. You'd need a "hacked" tivo to do that, but once done, anyone would use the image, after a C&DE.

It's not that hard to extract loopset resources and move them to another tivo. See the "mfs from scratch" thread. They don't have to be formatted as slices. The only tricky part may be making sure they get a low fsid so that they don't get lost when someone makes a backup with a low mfsbackup -f option value.

If I remember right, there are only two loopset resources that are different between the two platforms. Forging might be an option too, but it seems better to match the loopsets from a real THD image.

I created a loopset slice from THD loopsets a while back and tried to load them on my HR10-250. I never did get all of that working correctly, but the slice did load correctly, though. Perhaps it might be easier to get it to work in this case. I don't have the scripts anymore that I used to create the slice, but I could probably recreate them. I don't have any use for this myself, so I probably won't pursue it too far, but if someone else would want the slice, I'll post it somewhere if I can successfully build it again.

The only tricky part may be making sure they get a low fsid so that they don't get lost when someone makes a backup with a low mfsbackup -f option value.

I think if you just loaded tivoapp in a minimal state (it's been a while but I think you comment out everything past stage d in the rc.sysinit,) you could mfsrubbishtree / (or if mfsrubbishtree doesn't allow doing that to the root directory for safety reasons, I haven't tried, then just zap each directory individually,) and after that is done do an mfslive truncated backup and it'll probably leave a completely blank mfs image when you restore.

From there boot to another minimal MFS state then dbload the loopsets and then the software slices and I don't think there'd be any issue.

I'd test this rather than just talk about it except I don't have the physical hardware needed to do so at the moment, and probably won't for a while.

Last edited by AlphaWolf; 07-31-2009 at 03:34 AM.

Before PMing me: Iím not your personal tech support. If you have a question, ask in public so I don't have to repeat if somebody else asks. If you want images or slices, use emule. I will ignore all support PMs.

I think if you just loaded tivoapp in a minimal state (it's been a while but I think you comment out everything past stage d in the rc.sysinit,) you could mfsrubbishtree / (or if mfsrubbishtree doesn't allow doing that to the root directory for safety reasons, I haven't tried, then just zap each directory individually,) and after that is done do an mfslive truncated backup and it'll probably leave a completely blank mfs image when you restore.

From there boot to another minimal MFS state then dbload the loopsets and then the software slices and I don't think there'd be any issue.

I'd test this rather than just talk about it except I don't have the physical hardware needed to do so at the moment, and probably won't for a while.

I could be wrong, but I think your process doesn't reset the starting fsid for allocation, and you'll still end up with high fsid's for the loopset resources.

The only differences (besides a few *.png refs) between the THD and XL images were the *Maroon* loopsets. I extracted these loopsets from a THD image and created a slice from them. I then restored an XL image to a spare drive and dbload'd that slice.

Even after nuking most everything from mfs and running a C&DE, I still couldn't get the loopsets inserted with a low fsid, but was still able to get everything backed up successfully.

Haven't tested the images on a drive larger than 1TB since I don't currently have a spare one, but everything seems to work fine on this drive so far.

If anyone would like to give the image a try, shoot me a pm. They're both (winmfs *.tbk & mfstools *.mfs) over 400 MB so it would be prefered if you're familiar with setting up an ftp server. A C&DE is not necessary before using these images since I nuked most everything from mfs before doing the backup.

Attached is the quick and dirty script I wrote to extract the loopsets and dump everything into a writeguide compatible format for slice creation. Source code for Tridge's writeguide can found here among other places on the 'net. Note that the script dumps all LoopSet resources, not just the *Maroon* ones, so some editing of the script or resultant output may be warranted before slice creation.

But to understand, after loading the TiVoHD loopsets onto the XL image, you confirmed that you could load TiVoHD software slices into the XL image and successfully install them? That would presumably yield a valid TiVoHD [non-XL] software image with base 1TB MFS, suitable for expansion to 2TB.

The hybrid image discussed above, is it mfstools compatible or does it require WinMFS to install? (Or are they the same format? Does WinMFS use the same mfstools code?) As a Mac user, I normally use the mfsLive CD to boot a Mac. Will the image work with mfsLive?

Wondering too, how is the difference in max size implemented? That is, what about the XL allows a bigger volume size? Is it strictly the partition scheme used? Or is there code different in the two models?

It sounds like this image is an XL image with HD s/w inserted, replacing the XL s/w. So, what, exactly limits the normal HD to 1.2 TB?