The Slicer: Instructions and Release Notes
The Slicer is a tool designed to allow your modified TiVo to accept and install a software update without overwriting existing telnet/ftp or serial bash access. This eliminates the need to remove an upgraded drive for the reinstallation of critical hacks. In short, if there is a downloaded software update on your particular Series2 TiVo DVR, The Slicer can be used to install it and it will then attempt to preserve the installation of telnet, ftp and several other popular hacks. Once your unit is restarted, you will still be able to access it for the installation of any advanced or modified hacks for the newer version of the software, but most importantly, by preserving telnet and ftp access you should not need to remove the drive from your unit at all.
Please read the details provided below, along with the related support information and discussion prior to purchasing or attempting to use The Slicer. The Slicer is a tool which requires a degree of skill and understanding of the concepts discussed in the following article. It WILL make your life easier and shield you from many of the gory details associated with the aforementioned updates, but you should do your homework to ensure The Slicer is the right tool for you.
TiVo DVR's occasionally and automatically download software updates to ensure your unit supports the most recent features and services offered by TiVo. This can be particularly annoying to those of us with modified TiVo systems; these software upgrades, and the method by which they are installed, indirectly disable any modifications we’ve made. They essentially reset the TiVo to its factory default condition, and any enhancements we've applied are either overwritten or left behind as the new software is downloaded, installed and activated.
Although it’s possible to prevent the upgrades from occurring (eg. setting the bootpage parameter upgradesoftware=false), it will result in your TiVo assuming the pending restart condition; this induces nightly reboots, and for standalone TiVo users, this condition will ultimately result in a loss of guide data. In short, that stinks.
Software updates are fairly infrequent for DirecTiVo owners, but for standalone units, the updates occur regularly.
Until now, the only practical remedies to surviving or dealing with a software update were to:
The Slicer provides a new option. The Slicer allieviates the need to remove the hacked drive from your unit altogether. It is designed to automate the slice upgrade process completely, and allows you to perform slice upgrades as many times as you like. The Slicer will work on any modified Series2 Standalone TiVo or Series2 DirecTV TiVo DVR (modification may be achieved through software tools, prom modding or other techniques), but keep in mind, it is designed so that the appropriate version of the software can be installed on your unit - ie you can't install standalone software on a DirecTV system, or vice versa.
- pull the drive and re-hack the TiVo after a software update is received and installed, or
- perform a tedious “slice upgrade” that involves modifying TiVo’s built-in software installation script and copying a modified kernel and existing hacks over to the new partition.
Owners of modified standalone units will find The Slicer particularly useful for protecting bash access during the frequent software upgrades. Owners of modified HR10-250 high-definition DirecTiVo systems will also find the script useful when making the transition to the long anticipated 6.3 software. If and when it is ever released!
For all you detail-minded folks, here is exactly what The Slicer does:
- Performs a series of checks to confirm that the new software you want to install is valid and correctly loaded in MFS (the database running on your TiVo), and that you have the necessary software components required to complete the upgrade process.
- Identifies your existing kernel and root filesystem partitions.
- Edits your installSw.itcl script on the fly so that your TiVo doesn’t reboot before the script has a chance to copy your hacks to the new root filesystem.
- Uses dd to copy your existing modified kernel to the new active kernel partition.It also contains a provision to install a user-supplied kernel; this will be useful if TiVo changes the kernel on a future software update.
- Mounts your new root filesystem, and disables TiVo’s built-in firewall.
- Copies all your existing hacks to the new root filesystem partition.
At its most basic level, The Slicer is designed to merely copy your existing hacks to the new root filesystem of the updated software. Most of your existing hacks will continue to work fine with the new software, but some may not. For those hacks that no longer work, you’ll need to either reinstall them, or possibly even wait for a compatible version to be developed. A good example of this is superpatch. With each new version of standalone TiVo software, it usually takes a week or two for the hacking community to post a new version of superpatch that is compatible. Another example is TiVoWebPlus -- with each software update, some functionality of TiVoWebPlus can be affected. Usually, minor changes, if any, are required to accommodate some of the nuances in updated versions of the TiVo software. Most importantly, though - bash/telnet/ftp access is likely to still work and you'll be able to remotely access your unit for any follow-up tweaking.
- Confirm that new software has indeed been downloaded to your tivo. Use the “mfs” module in TiVoWebPlus to view the existing and new software versions by clicking on the SwSystem object link. There should be two lines that show the “ACTIVE” software currently running on your tivo. There should also be a third line(with a different ID), that indicates the new software. As an alternative, you can type the following from a bash prompt in a telnet session--> echo mls /SwSystem | tivosh
- Download and move The Slicer to your TiVo using FTP. /var/tmp is probably the easiest place to put it, but you can put it anywhere.
- Establish a telnet session to your TiVo, navigate to the scripts location, and run it with the command ./slicer version-num, where version-num is the full name of the software you want to install. A sample command might look like this --> ./slicer 6.2-01-2-101
- The script can take several minutes to run, during which time you’ll see a variety of messages. One of the last things to be shown will be the existing hack directories that were automatically copied to the new partition. Review this list to make sure all your hack locations were found.
- Follow the prompt to reboot your TiVo or exit the script. If you choose to exit the script, try mounting your inactive root partition and you can verify that your hack directories have been moved over and integrated into the new version of the software.
- After your TiVo reboots, re-run any tivoapp modifications, such as superpatch or bufferhack.
- IMPORTANT - we strongly recommend the use of a serial cable when using The Slicer. Due to the differences in OS versions, USB drivers, DHCP and STATIC IP settings, you still may lose USB Ethernet connectivity when using The Slicer, so a serial connection (bash access) is very important to have. Remember, The Slicer is an advanced tool, so before using it, please consult the support threads here and at tivocommunity.com to ensure you are using it properly and in a way that will work for your particular migration.
RELEASE NOTES (changes made since initial release)
INITIAL RELEASE NOTES
- Supressed wget errors: If you do not have wget installed on your TiVo, you will need to ensure the following tools DO reside on it: find, sed, tar, and cut. Otherwise, wget will be used in an attempt to retrieve and install them.
- Modified how installSw.itcl gets edited to make it more foolproof. Also making a backup of the original just in case.
- If you are supplying a kernel in /var/kernel instead of using the existing running kernel, you may now use any compatible kernel named vmlinux.px, OR a gzipped kernel directly from the lba48 boot CD. If you choose the latter, you need to have gunzip on your TiVo
- The Slicer does not copy back-ported drivers to your new partition. Therefore, if you have an adapter that is NOT compatible with TiVo's stock drivers, such as the Linksys USB200M v2, or Airlink ASOHOSB, you'll need to manually copy the drivers from your older root partition to your new partition.
- When using The Slicer to migrate from 3.1.5f --> 6.3 on the HR10-250, your TiVo will need to be rebooted after you've run the application and entered all of the appropriate information. During the reboot process, you will have to be patient as your TiVo updates its internal database and continues to load updates to your system. Finally, your TiVo will reboot one last time and it is only after coming up that it will be ready for network access and further hacking. Please be patient as this process can take 5-10 minutes - it is completely normal!
- Added provisions to support "backported" (USB 2.0 Ethernet) drivers.
- Many internal changes including downloading of "autoupdate" files which may be used in the future.
- -d option (not fully tested) for downloading and dbloading of slices not present in the MFS database. Please use with extreme caution.
- A dummy iptables file will be created on the new partition by default.
- TiVos built-in firewall (called netfilter) is not disabled by default; the dummy iptables file accomplishes the same thing.
In conclusion, you may find The Slicer to be a useful tool which can save you some time and hassle when dealing with updates to the TiVo software. As you well know, its not particularly difficult to 'rehack' a drive when a software update is released by TiVo or DirecTV, but removing the drive is a pain in the neck, and forgetting to move a critical file when attempting to do things manually can leave your TiVo DVR in an unknown state. The Slicer is designed to minimize that pain and risk.
How do I get The Slicer? The product is currently available from the PTVupgrade software download site at a nominal cost. For more information and pricing, please proceed here.
Official Slicer Discussion Thread
For discussion and technical questions, please use the Official Slicer Discussion Thread, which is linked to this post and hosted in the DIY Software Discussions area of our site.