You have probably heard MFS Tools 2.0 has some problems associated with it. We now believe we have solutions for those problems.
The core problem is swap space. To get a safe upgrade with MFS Tools 2.0, make sure you use include the option '-s 127' on your restore - do not go higher than 127 or you'll get no swap at all! Avoid dd + mfsadd profiles if possible (useful for saving recordings), a pipe backup|restore with -s 127 is actually safer.
If you upgraded your TiVo with MFS Tools 2.0, you can use the backdoor codes to check your kernel log for swap error messages. See below for a detailed explanation of how to do this by Cpen.
The MFS Tools 2.0 documentation claims that 64Mb is enough for any TiVo to recover from a 'green screen' filesystem corruption error. This is not true. If you go over about 140Gb total storage space, TiVo will need more than 64Mb of swap to recover from a green screen, 127Mb appears to be enough for a 274Gb (largest possible capacity) TiVo to recover.
If your TiVo gets stuck in green screen - reboot loop, you may be able to save it by temporarily using your inactive root partition as emergency swap.
See the next post from me below for detailed instructions on how to do this.
If you are upgrading the A drive on a twin drive TiVo and keeping recordings, you may not be able to use MFS Tools 2.0 to increase swap. See the next post from me for details of how to manually add a swap partition.
If you used MFS Tools with -s 128, and therefore got no swap at all, below are some methods that you can use to activate your swap without reinstalling. Choose the one that suits your circumstances best:
The Linux kernel on the TiVo can only use the first 127Mb of a swap partition, even if you've used -s 512 to try and get 512Mb swap.
Ways to fix the problem
There are several ways to fix this problem, pick the one that works best for you.
1. Use shell access to TiVo to run mkswap directly.
If you can get a shell on your TiVo, this is the easiest general solution.
2. Use dd to duplicate existing swap partition
Simple method, but doesn't increase size of swap available, so doesn't fix green screen issue. Will get you working fast.
3. Use copy of mkswap on tools CD
Must have bootable CD.
4. Modify boot scripts to make TiVo run mkswap itself
Quite tricky, especially if you don't know Linux, but will work when other methods are unavailable. Won't work on DTiVoes or Series|2.
For the remainder of this guide we shall assume that your new TiVo drive is on Secondary Master and your old TiVo drive (if required) is on Primary Slave.
Some of these methods require access to the TiVo partitions and/or filing systems. You must use a byteswapping boot disk to do this. Byteswapping mode on the MFS Tools 2.0 boot disk
is broken. You can make it work by typing vmlnodma hdb=bswap hdc=bswap hdd=bswap at the boot prompt. You may prefer to use a different TiVo boot floppy or CD instead.
1. Use shell access to TiVo to run mkswap directly.
Use the shell to type
mkswap /dev/hda8
swapon -a
2. Use dd to duplicate existing swap partition
From TiVo boot disk do
dd if=/dev/hdb8 of=/dev/hdc8
This will only take a few seconds.
This will work even if you used -s to get a larger swap partition, but it will only give you 64Mb of swap, which will be enough to get your TiVo working properly.
3. Use copy of mkswap on tools CD
Boot a TiVo boot CD (but not the MFS Tools 2.0 CD) and do
/sbin/mkswap -v0 /dev/hdc8
Thanks to Merle Corey for getting this working. This is now a verified method.
(It has been suggested that under certain circumstances
/sbin/mkswap -v0 /dev/hdc8 130048
may be required to get working swap).
Options 2 and 3 are probably the only options for DTiVos as you can't get a shell or modify boot scripts on those.
4. Modify boot scripts to make TiVo run mkswap itself
[This is a condensed version of the original description.]
You will need both TiVoMad and Dylan's Boot disk.
On boot TiVo (and indeed all Unix systems) runs a script called /etc/rc.d/rc.sysinit (this is broadly equivalent to C:\AUTOEXEC.BAT on a DOS/Windows system). If we add our mkswap command to this file, the swap file will be initialized when the TiVo boots.
The file we want is in the active root partition.
Boot TiVoMad, use Ctrl-C to break out of the upgrade script.
Do
/mad/edit_bootparms hdc -r
It will reply 'root=/dev/hda4' (or hda7)
Boot Dylan's boot disk. Mount active root partition
mount /dev/hdc7 /mnt
or
mount /dev/hdc4 /mnt
edit sysinit
joe /mnt/etc/rc.d/rc.sysinit
add the following line on a line on its own somewhere near the top.
Save (Ctrl-K then X).
Unmount
umount /mnt
Power down, boot TiVo, check logs, return drive to PC, boot TiVoMad's utility disk (Ctrl-C to get command prompt)
Traverse to rc directory
cd /mnt/etc/rc.d
delete modified sysinit
rm rc.sysinit
replace original version from joe backup
mv rc.sysinit~ rc.sysinit
unmount partition
cd /
umount /mnt
Power down and replace drive in TiVo.
Most of the credit for the fixes in this thread goes to the contributors below, especially Merle Corey for his work on characterising the mfsfix/green screen problem and identifying -s 127 as the solution.
The core problem is swap space. To get a safe upgrade with MFS Tools 2.0, make sure you use include the option '-s 127' on your restore - do not go higher than 127 or you'll get no swap at all! Avoid dd + mfsadd profiles if possible (useful for saving recordings), a pipe backup|restore with -s 127 is actually safer.
If you upgraded your TiVo with MFS Tools 2.0, you can use the backdoor codes to check your kernel log for swap error messages. See below for a detailed explanation of how to do this by Cpen.
The MFS Tools 2.0 documentation claims that 64Mb is enough for any TiVo to recover from a 'green screen' filesystem corruption error. This is not true. If you go over about 140Gb total storage space, TiVo will need more than 64Mb of swap to recover from a green screen, 127Mb appears to be enough for a 274Gb (largest possible capacity) TiVo to recover.
If your TiVo gets stuck in green screen - reboot loop, you may be able to save it by temporarily using your inactive root partition as emergency swap.
See the next post from me below for detailed instructions on how to do this.
If you are upgrading the A drive on a twin drive TiVo and keeping recordings, you may not be able to use MFS Tools 2.0 to increase swap. See the next post from me for details of how to manually add a swap partition.
If you used MFS Tools with -s 128, and therefore got no swap at all, below are some methods that you can use to activate your swap without reinstalling. Choose the one that suits your circumstances best:
The Linux kernel on the TiVo can only use the first 127Mb of a swap partition, even if you've used -s 512 to try and get 512Mb swap.
Ways to fix the problem
There are several ways to fix this problem, pick the one that works best for you.
1. Use shell access to TiVo to run mkswap directly.
If you can get a shell on your TiVo, this is the easiest general solution.
2. Use dd to duplicate existing swap partition
Simple method, but doesn't increase size of swap available, so doesn't fix green screen issue. Will get you working fast.
3. Use copy of mkswap on tools CD
Must have bootable CD.
4. Modify boot scripts to make TiVo run mkswap itself
Quite tricky, especially if you don't know Linux, but will work when other methods are unavailable. Won't work on DTiVoes or Series|2.
For the remainder of this guide we shall assume that your new TiVo drive is on Secondary Master and your old TiVo drive (if required) is on Primary Slave.
Some of these methods require access to the TiVo partitions and/or filing systems. You must use a byteswapping boot disk to do this. Byteswapping mode on the MFS Tools 2.0 boot disk
is broken. You can make it work by typing vmlnodma hdb=bswap hdc=bswap hdd=bswap at the boot prompt. You may prefer to use a different TiVo boot floppy or CD instead.
1. Use shell access to TiVo to run mkswap directly.
Use the shell to type
mkswap /dev/hda8
swapon -a
2. Use dd to duplicate existing swap partition
From TiVo boot disk do
dd if=/dev/hdb8 of=/dev/hdc8
This will only take a few seconds.
This will work even if you used -s to get a larger swap partition, but it will only give you 64Mb of swap, which will be enough to get your TiVo working properly.
3. Use copy of mkswap on tools CD
Boot a TiVo boot CD (but not the MFS Tools 2.0 CD) and do
/sbin/mkswap -v0 /dev/hdc8
Thanks to Merle Corey for getting this working. This is now a verified method.
(It has been suggested that under certain circumstances
/sbin/mkswap -v0 /dev/hdc8 130048
may be required to get working swap).
Options 2 and 3 are probably the only options for DTiVos as you can't get a shell or modify boot scripts on those.
4. Modify boot scripts to make TiVo run mkswap itself
[This is a condensed version of the original description.]
You will need both TiVoMad and Dylan's Boot disk.
On boot TiVo (and indeed all Unix systems) runs a script called /etc/rc.d/rc.sysinit (this is broadly equivalent to C:\AUTOEXEC.BAT on a DOS/Windows system). If we add our mkswap command to this file, the swap file will be initialized when the TiVo boots.
The file we want is in the active root partition.
Boot TiVoMad, use Ctrl-C to break out of the upgrade script.
Do
/mad/edit_bootparms hdc -r
It will reply 'root=/dev/hda4' (or hda7)
Boot Dylan's boot disk. Mount active root partition
mount /dev/hdc7 /mnt
or
mount /dev/hdc4 /mnt
edit sysinit
joe /mnt/etc/rc.d/rc.sysinit
add the following line on a line on its own somewhere near the top.
Code:
mkswap /dev/hda8
Unmount
umount /mnt
Power down, boot TiVo, check logs, return drive to PC, boot TiVoMad's utility disk (Ctrl-C to get command prompt)
Traverse to rc directory
cd /mnt/etc/rc.d
delete modified sysinit
rm rc.sysinit
replace original version from joe backup
mv rc.sysinit~ rc.sysinit
unmount partition
cd /
umount /mnt
Power down and replace drive in TiVo.
Most of the credit for the fixes in this thread goes to the contributors below, especially Merle Corey for his work on characterising the mfsfix/green screen problem and identifying -s 127 as the solution.