What is MFSLIve Boot CD?
MFSLive boot CD is a new Linux Live boot CD just for TiVo® users. Most of the basic tools are included in the release to make adding, upgrading and replacing your TiVo® hard drive a snap. Full guide contains the latest techniques in working with your TiVo® drives. Download it, burn it, upgrade and enjoy your TiVo® even more.
What is mfstools?
Original Mfstools was written by Steven Lang aka "Tiger"
http://mfstools.sourceforge.net. Mfstools is the de facto tools used by everyone including well known TiVo Upgrade vendors. Last stable release was February 20, 2005 and had few bugs in them. Latest codes in CVS, Tiger has moved on to v3 backup and has some problems, doesn't run and development by Tiger has stopped since then.
In the summer of 2006, I was upgrading my TiVo and looked at the CVS codes and was able to come up with a stable version that has two bug fixes (alternate root/kernel size bug and Linux swap v1 signature problem). I"ve added few new features since then and added few tools as documented in the full guide. In the fall of 2006 while chatting w/ Jamie at DealDatabase.com/forum, I decided to create a new Linux Boot CD along with the tools and get it out to people. This Linux boot CD has ATA, SATA, USB support so it's really flexible. You can use a USB flash drive to store your TiVo images, as well as using a Laptop with USB to IDE adapters.
This boot CD was tested on most of my TiVos and looked good. Initially, beta versions were release to test new options like -f -F. Beta testing was opened to few people but news spread quickly and download went out of control. Since then, new stable version was release that did not have beta testing option. Beta testing is closed for general public but can be make available by request.
What is MFS?
MFS is file system or database used by TiVo. Most file system is implemented in kernel or OS but TiVo uses it's own file system that is implemented in user space. It's organized much like a database with transaction logs. MFS is still not well understood but we know enough about the file system to be able to do reads and limited writes. Each object in the file system is assigned an ID called FSID. There are at least 4 type of objects in MFS.
Stream (recordings), Directory, Database, File. All Stream objects are store in mfs media regions and all other types are stored in mfs application regions.
How many times can I expand using mfstools?
To answer this questions, we need to know how tivo drive is organized.
Tivo drive can have up to 16 partitions per drive.
Partition 1 - Modified Apple Partition Map
Partition 2 - Bootstrap 1
Partition 3 - Kernel 1
Partition 4 - Root 1
Partition 5 - Bootstrap 2
Partition 6 - Kernel 2
Partition 7 - Root 2
Partition 8 - Linux Swap
Partition 9 - /var
Partition 10 - mfs application region 1
Partition 11 - mfs media region 1
Partition 12 - mfs application region 2
Partition 13 - mfs media region 2
Partition 14 - mfs application region 3
Partition 15 - mfs media region 3
Partition 16 - Apple free
Partition 1 - Modified Apple Partition Map
Partition 2 - mfs application region 1
Partition 3 - mfs media region 1
Unmodified factory setting:
Series 1 standalone & UK TiVo: has 1-11 partitions
Series 1 DTV TiVo has 1-13 partitions
Series 2 & 3 standalone & DTV has 1-13 partitions
When you use restore -x or mfsadd -x to expand, it adds pair of partitions:
To save recordings and expand Single drive setup:
Series 1 Standalone (2x)
Series 1 Standalone UK (2x)
Series 1 DTV (1x)
Series 2 & Series 3 standalone & Dtv (1x)
Using mfslive beta w/ restore -f option
more than 10x depending on how big your drive is and what r value you use.
To save recordings and expand dual drive setup:
Series 1 Standalone (up to 5x)
Series 1 Standalone UK (up to 5x)
Series 1 DTV (up to 4x)
Series 2 & Series 3 standalone & Dtv (up to 4x)
Why is there a limit? Because TiVo have enough storage space for 12 partition names (128 bytes) in it's database. (/dev/hda10, /dev/hda11, /dev/hda12, /dev/hda13, /dev/hda14, /dev/hda15, /dev/hdb2, /dev/hdb3 ,/dev/hdb4, /dev/hdb5, /dev/hdb6, /dev/hdb7)
MFSLive -f cannot be used in dual drive setup.
Truncate recordings and expand:
You can expand unlimited times if you truncate (loose recordings) using backup -s option. When you use backup -s option, mfstools truncates partitions to it's original factory settings.
How much Linux swap space is right for my drive?
TiVo hard drives can have up to 16 partitions. Partition 8 is called linux swap partition. A bug in the old mfstools is fixed in this release so you can setup size greater than 127MB without using other tools. There are few schools of thought on this. Older Series 1 guide line was to set it 1/2 of the hard drive size and use MB. So, for a 300GB hard drive use 150MB. The reason is if there is a GSOD error (green screen of death), it requires proper size to be able to recover from the error. If there is not enough swap space, your Tivo will go into GSOD cycle and never get out of it. But for Series 2, it's not clear anymore. For new Series 2 with big hard drives(250GB), TiVo sets up at 128MB. For linux guide lines, swap space is set at 2x ram size. If you have a hacked Tivo, you can run "free" and get the swap size and ram size.
What is "r" value when doing restore or mfsadd?
While performing restore or mfsadd you can set r value to control the minimum allocation size. This is used only when creating new media zones (where all the recorded shows are stored) using -x options.
What it means is the smallest block of data that TiVo file system(mfs) can access is the r value.
r 0 = 2048 sectors or (1MB blocks) (TiVo and blesstivo default)
r 1 = 4096 sectors or (2MB blocks)
r 2 = 8192 sectors or (4MB blocks) (mfstools default)
r 3 = 16384 sectors or (8MB blocks)
r 4 = 32768 sectors or (16MB blocks)
So bigger the r value less fragmentation but waste disk space, smaller the r value more fragmentation but less wasted disk space. Mfstools 2.0 and MFSLive Linux Boot CD v1.2 or earlier had a bug where if a media zone partition size becomes more than 274GB, you got GSOD screen. A Temporary fix suggested by Jamie (TCF) was to use r 4. That worked well but now that bug is fixed, you can use r 2 value. You can experiment w/ different r values to suit your needs but it might be better to keep r 2 for SD recordings to reduce file fragmentation.
WinMFS does not use r values. It sets minimum allocation size of 20480 to match what Tivo does on it's HR10-250, S3 and Tivo HD. On a partition smaller than 80GB, it sets minimum allocation size to 8192.
What is Kickstart 62?
(Only works for Tivo S3 - TCD648250B w/ software 8.3.1 or older)
Kickstart 62 is what BlessTivo is to Tivo Series 1 & Series 2.
For Series 1 and Series 2, "B" drive can be "Blessed" by hooking up a drive to a computer and booting up with a Linux CD like Mfslive CD or Tiger's mfstools 2 CD.
Then, you run a program called "BlessTivo" that puts "B" drive signatures. Now, you hook that drive up to TiVo and TiVo recognizes it as "B" drive, formats and marries to "A" drive. So, first you had to prepare a drive separately then it worked just by plugging it in. I'm not sure how BlessTivo program came about but it was written by Michael Hill from http://www.hillsoftware.com. If I were to guess, I would image he would have looked at the original factory Series 1 that came with dual drives like Philips HDR models way back in the days and reverse engineered it.
So why can't you just use BlessTiVo for Series 3?
Lets talk about how Series 3 is different then Series 2 and Series 1. Series 3 uses Serial ATA (SATA) and the way SATA works is that you can't use a splitter cable like the way IDE works.
Another words, each channel can have one SATA drive and cannot share it with another.
As we know,
Series 3 comes with one internal SATA port and one external SATA port so you can only hook up one internal drive and one external drive through eSATA.
Since eSATA can be easily accessible without open your Tivo, engineers at TiVo must have thought about this and changed few things so that they can prevent people from randomly hooking up a drive and messing up a internal drive. So it seems that TiVo Inc. has implemented a user initiated process (Kickstart 62) to activate a 2nd drive. Along with this change, they eliminated the need to put "B" drive signatures.
Just in case you are wondering, there are other Kickstart codes and have been around for a while. It's documented in http://alt.org/wiki/index.php/TivoDiagnostics.
Here is more up to date codes that were found on S3:
Kickstart code 6 2 - initialize E-SATA drive
Kickstart code 5 1 - software upgrade
Kickstart code 5 2 - emergency reinstall
Kickstart code 5 3 - BER testing
Kickstart code 5 4 - HDD test
Kickstart code 5 5 - Tuner/AFT test
Kickstart code 5 6 - software install
Kickstart code 5 7 - force MFS check
Kickstart code 5 8 - perform MFS cleanup
Tray open code 111 - will open tray
Looking at the TiVo boot scripts, this is how things appear to work:
When you initiate Kickstart 62, a flag is set and w/o it nothing happends.
Even if eSATA is prepared with the right signature and formatted correctly, marriage won't happen unless user initiates it.
That makes sense as you don't want unwanted marriage by simply plugging in a wrong drive into your TiVo. Series 3 actually does "B" drive better because Min. allocation size is selected correctly to support drives greater than 500GB so it's better optimized for Hi Def contents.
Remeber that BlessTivo has limitation in that you cannot prepare a drive bigger than 500GB and min. allocation size (r value) was set at the smallest size and that's not good for big recording sizes like Hi Def contents.
So when Kickstart 62 gets activated, it sets a flag, initialization script check for that flag and if found, deletes first few sectors on the eSATA hard drive that contains MBR, and partition tables. Then, creates default Bootpage (Tivo's version of MBR), create new partition tables, formats new Application and Media partitions.
An Application partition is where housekeeping stuff (zonemap header, zone maps, bitmap header, bitmaps) for Media Partitions get stored, and all recordings go into Media partitions.
Then, it reboots and finalize the marriage process by updating MFS superblock and zonemaps. Before finalizing the marriage process, it does simple check in the MFS superblock and see if the internal drive is factory original.
If it is not, it will terminate the marriage process, reset the flag and goes on as if marriage never took place. The error message it generates is "Unexpected devNamesM:/dev/hda10 /dev/hda11 /dev/hda12 /dev/hda13 /dev/hda14 /dev/hda15." Thus, if you have already expanded your internal drive, you cannot use Kickstart 62 method to add an eSATA drive. You can pull your internal drive from TiVo and use mfsadd.
Checkout how to perform this procedure here.
How do I fix alternate kernel and root file system size?
You can do this with this improved version of mfstools. Use -F option. For more details refer to the documentation.
Why do I get error #51 or hardware failure error?
If you get a hard drive or image from another TiVo, you will get the error. You can do "Clear and Delete everything" and errors will clear up.
“To Clear and Delete Everything”, go to Messages and Setup->Restart or Reset System -> Clear and Delete Everything. It should take up to an hour.
Do I have the correct software for my TiVo?
Under System Information, check the first 3 digits of the service number and the last 3 digits of the software number. If they match, you have the right software. This does not apply to older Series 2 TiVo model TCD240x and TCD230x. TiVo has combined software for these models starting 7.2.2 software. TCD240x will show 140 and TCD230x will show 130.
Can I transfer TiVo software from another model?
You can, as long as the hardware inside the boxes are similar. If the first 3 digits of the service number matches, then you can transfer.
Here are some general guide lines:
Series 1 <-> Series 2 x
Series 2 <-> Series 1 x
Older Series 2 <-> New Series 2 (R10, TCD540, Dual Turner, TiVo w/ DVD) x
Directv TiVo w/o RID <-> Direct TiVo w/ RID o
Just because you can doesn't mean you should. TiVo will get really annoyed and start cracking down on people.
Major reason I think is Tivo updates the software to the correct version once you make a call so it ties up phone line for hours or tax their resources.
You will need to do "Clear and delete everything" once transferred to avoid error message.
Can I use Instantcake image with MFSLive CD?
Yes you can. Copy Instantcake image from the CD to a USB external drive or flash drive. Image is under _IMAGES folder.
Boot with MFSLive CD, mount the USB drive by
mount -t vfat /dev/sda1 /dos
restore -s 128 -xzpi /dos/filename /dev/hdc
Refer to the full guide for more detail.
What is truncated backup?
When mfstools or TiVo built-in tool to add more space, they don't expand what's currently available. They add more partitions. Truncated backup simple truncates all the extra partitions added by mfstools and TiVo built-in tools to it's factory capacity. It also truncates all the recordings. If you use truncated back to restore to a new drive, on the Now Playing List, you will see list of shows but only titles are there and the actual recordings are deleted. However, seaon passes, your thumb ratings and any other settings will be backed up. Make sure to use "backup -f 9999" option for Series 2 & 3 as stated in the full guide. For Series 1, you don't need "-f 9999".