View Full Version : All-In-One S2 utilities collection
09-05-2004, 03:47 PM
NOTICE: All files in this thread are NOT to be redistributed outside of dealdatabase without my express permission. That means you also may not download on somebody elses behalf, you may not permanently or temporarily transfer or otherwise give a copy of any of these files to any other person, and likewise you may not obtain anything from this thread from any place other than the dealdatabase forums, otherwise you have an illegal copy. By downloading anything in this thread you agree to these terms.*see the bottom of this post for details.
Support thread can be found here (http://www.dealdatabase.com/forum/showthread.php?t=38590&page=1&pp=15). Please direct all questions there and not in this thread.
Heres an all in one collection of all S2 utilities, tools, and daemons that aren't included in a stock tivo configuration, yet are often needed when adding more hacks and functionality.
This collection contains a lot of very useful unix items such as busybox with vi and crond, along with tivoftpd, ccxstream (for xbox,) tridges vserver and mfs tools, 51killer, fakecall.tcl, ciphercheck.tcl, network utilities (ping, dhcpd, netcat, etc) and a whole slew of others.
If you are hacking your tivo from scratch, you will probably want to grab this. It should satisfy the dependencies for almost every hack out there.
Note that this is merely a set of files, it does not alter your startup scripts in any way. If you want items like tivoftpd and ccxstream to run on your tivo at bootup, you'll need to add them to your startup scripts on your own.
How to install:
Installation is simple.
Download this 7zip file (http://www.dealdatabase.com/forum/attachment.php?attachmentid=5975&d=1166725883), extract the .tar archive from it, and get it onto your tivos hard disk via your favorite means. The instructions below are for a live tivo, but you can also do it via a PC if you like, just adjust the path accordingly.
Create a directory anywhere on your tivo. You can name it anything you want, in this example I use /tivo-bin.
Put the .tar file into your directory.
mv tivotools.tar /tivo-bin
Change to your directory.
Extract the .tar file via cpio. You might get a few messages that say "No such file or directory." This is fine, you can ignore this; it's just creating a symlink for a file that isn't there yet but will be there when the unpacking is completed.
cpio -i -H tar < tivotools.tar
And lastly if it isn't already in there, add the following line in either your rc.sysinit.author or rc.sysinit anywhere BEFORE you start bash or tnlited. You can also just add it anywhere in your /.profile if you are using bash --login.
You also might want to take advantage of the included cron daemon, instructions for activating it can be found here (http://www.dealdatabase.com/forum/showpost.php?p=189482&postcount=7).
Note: The attached file is the same one I linked from the installation instructions in this post.
*I have copyrighted this particular bundle. I do not want anybody to sell my work without my permission. If you want to re-distribute the contents of this thread, ask me in a PM. Nothing from this archive may be redistributed. Exceptions to this apply to certain files contained in this bundle, more details can be found here (http://www.dealdatabase.com/forum/showpost.php?p=182694&postcount=3). Currently the only place other than dealdatabase authorized for legal redistribution is ptvupgrade.com. I reserve the right to modify these terms at any time without any advanced notice, among all other rights permitted by law.
Download count 23,350+ below.
09-05-2004, 03:48 PM
I have not tested every single binary in this archive, but they should work just fine out of the box. If anything is broken or outdated, let me know where to find a fixed replacement.
Also, if anybody has anything they feel I should add to this collection, I will gladly do so, but it must meet certain criteria.
1. It has to be a single standalone executable file that you can just drop onto your tivo and run.
2. It must not require the user to create or upload any extra configuration files, or require any marker (zero length) directories/files. It can create its own based on some hardcoded defaults which the user can adjust later.
3. It must not depend on anything that isn't already included in this collection. If it does depend on anything, then that must be a dependency that is required by more hacks than just your own, or at least has some other significant general purpose usage.
4. It must be able to run on pretty much any tivo software version 6.1 and up. This means no scripts that look for version specific resource items, and definitely no tivoapp patches.
The busybox crond is the only exception to these rules (for various reasons.)
09-05-2004, 03:51 PM
The following items contained within the all in one archive are either not GPL content, or are not my own content, but the authors who own them have given me written consent to include them in the distribution. Therefore different licenses may apply to them. They are only to be redistributed from dealdatabase unless otherwise stated by whoever wrote them:
09-05-2004, 05:53 PM
For anybody who just downloaded it before this moment, I just trimmed off a few unnecessary binaries (they were already in busybox,) and fixed top in the process (the binary was broke.) Once it is unpacked on your tivo, it should now be 14 megs instead of 19.
Also its worth noting that the md5sum and sha1sum programs included here are accurate (some tivo binaries, both S2 and S1, give incorrect sums.)
09-13-2004, 10:31 AM
Archive updated to include SetTivoConfig, diff, diff3, and sdiff. Also fixed a broken TCL script.
09-16-2004, 02:58 PM
Some people have been asking me if this is meant to be an alternative to sleepers ISO or something of that nature. Let me make this clear, this is NOT anything of the sort. It's just a collection of files in one big archive in one location so that you don't have to go in every which other direction to find tivo binaries, and it is certainly nothing that you "install and run" on your tivo.
If you don't understand what I just said, then please for gods sakes don't bother downloading anything in this thread, because odds are you don't know what to do with it, and you don't even know what you need it for, therefore you simply don't need it.
10-20-2004, 02:29 AM
For those who don't know, crond allows you to execute arbitrary programs at given times of the day/week/month/year. This is useful if you want to do something like run fakecall.tcl every night so that your DVR service doesn't expire without a phoneline on a directivo, maybe run tivotitle.tcl every half hour, or wipelogs every night, etc.
Heres a quick howto for activating and using the included cron daemon:
First create some user definitions so that cron doesn't ignore your crontab:
echo "root:x:0:0:root:/:/bin/sh" >> /etc/passwd
echo "root:x:0:" >> /etc/group
Now prepare a crontab file in the hardcoded directory:
mkdir -p /var/spool/cron/crontabs
Now add your cron jobs (this example runs fakecall.tcl and clears the log files at 12:00 AM GMT every day):
echo "0 0 * * * fakecall.tcl" >> /var/spool/cron/crontabs/root
echo "0 0 * * * rm -rf /var/log/*" >> /var/spool/cron/crontabs/root
Or you can directly edit your crontab with your favorite editor.
Heres a quick reference for what a cron job should look like:
* * * * * command to be executed
- - - - -
| | | | |
| | | | +----- day of week (1 - 7) (monday = 1)
| | | +------- month (1 - 12)
| | +--------- day of month (1 - 31)
| +----------- hour (0 - 23)
+------------- min (0 - 59)
You you can replace the asterisk with either a number, a sequence of numbers such as 1,3,5 (just the numbers one, three, and five) or a series of numbers such as 1-5 (every number from one through five)
Once you are done configuring it, make it run from your startup scripts:
echo "/tivo-bin/crond" >> /etc/rc.d/rc.sysinit.author
(substitute /tivo-bin with whatever directory you put the AIO archive in, if it is different)
Now you can also run it in your current session by just typing 'crond'.
10-22-2004, 02:01 AM
I just updated the AIO set with a whole slew of tweaks, including a more optimized and smaller busybox package (removed a bunch of unnecessary things.) When it's all said and done, this one will weigh in at 5.4 megs on your tivos hard disk. The main reason for this is due to the removal of most of tridges tools (I will be adding fixed smaller versions of them later, see this thread (http://www.dealdatabase.com/forum/showthread.php?t=38654).) I've also added a bunch of things, too many to list in fact. Just poke around in the directory and you'll see what I mean.
There are a few caveats to this release. First of all, since I removed a lot of stuff this can break one of your existing hacks (but I highly doubt it.) There may be some things fixed that were previously broken, but there may be new things broken. In either case, don't upgrade to this newest one unless you feel its absolutely necessary.
If you do upgrade and you want to take advantage of the smaller size, you will probably want to delete your previous instance of this installation and start fresh with the new archive.
11-25-2004, 03:16 AM
Just updated the AIO set archive in the first post. Heres a list of what is changed:
- Included Jamies latest changes to tridges binaries
I am leaving the unnecessary mfs_export'ish utilities intact (except tserver) until they are fully depreciated, once that happens they will be removed.
- Removed sendkey (isn't compatible with all sw versions, if somebody has something that is compatible with all then let me know)
- Replaced loadslice with ADH's dbload. It's simpler and better.
- Updated fakecall.tcl to include modifications by AhoyMatey to support 3.x and 4.x sw versions
This isn't needed for 5.x and probably all later sw versions. I might even remove this entirely if all platforms switch to 6.x. Also I changed all of the references in this script from "fixsub" to "fakecall" (kind of an update from when this forum was in the warez'ish underground days, fakecall is a more concise name that doesn't intend to hide its purpose IMO)
- Also added 'securelogin' and 'tivopasswd' scripts.
These can enhance the security of your tivo on your local network. These scripts are easy to setup and utilize, see the commenting in them for details.
- Total size of the uncompressed AIO set is now 5.2MB, 200K smaller than the last one and even more binaries and functions are included! This is the way updates were meant to be!
11-25-2004, 06:17 PM
Two updates in one day :D
-Added fuser as it can potentially be usefull.
Couldn't get pstree to compile for mips for some reason though, if anybody can compile it ok let me know.
-Added rm to busybox as per Jamie's request.
Apparently the tivo stock rm doesn't support 2G files for people extracting to USB HDD's. If any other stock tivo coreutils have this limitation and they are needed, let me know and I'll add em to busybox.
-dbload was slightly broken, it's now fixed.
-Ran 'strip' on all of the binaries, total size is now 4.6MB :D
11-30-2004, 12:52 AM
New update which contains the following:
-Added chown back into busybox
It may be necessary for occasional screwups while tarring archives.
-Added netperf and netserver, compiled by Jamie
-Busybox diff sucks, replaced it with a standalone of the latest one on gnu.org.
-Updated the mfs_* tools to include the latest set by Jamie which fixes the CSO issue.
-Removed the mount and umount links which I somehow managed to add in there when they weren't necessary (and useless.)
03-15-2005, 12:16 AM
Heres a small update to the set. Like all previous releases, don't update to this one unless you need a specific change. If you do upgrade, be sure to delete the previous installation first.
- CipherCheck.tcl has been replaced with a C version which was written by Jamie
It's much faster and the needed code from mfs_export is integrated, so there should be no more troubles with incorrect crypto reporting on an improperly configured tivo environment in this version.
- Added ldd, lsof, pstree, and rgrep, all of which were compiled by msabramo.
- Renamed a few tcl scripts to give a more accurate description of what they do (such as mfsresourcedump.tcl.)
- Removed set_mrv_name.tcl (it's very version specific, not AIO material.)
- Replaced patch with a copy compiled by AhoyMatey since the one I compiled was quite broken.
- Updated the tridge tools with a new set updated and compiled by Jamie that features an updated schema to support up to SW version 7.1a.
03-15-2005, 03:01 PM
There was some question as to whether or not the tridge libraries were defective in the AIO set posted yesterday. It hasn't been confirmed that they were bad (thus if you downloaded yesterdays set, theres no real need to grab the latest changes,) but a few of them did give a little bit of redundant (and harmless) output. This has been resolved and I have updated the set to reflect these changes.
Also, in the next release and onwards, mfs_export, mfs_stream, mfs_tarstream, and mfs_tmfstream will no longer be included in this set. They have all been replaced by a unified binary that can perform all of their functions (since they all were basically the same thing, only different flavors of output) currently named mfs_uberexport. That name might change to something else (possibly mfs_extract,) its all up to Jamie of course.
Keep this in mind as you develop any hacks that might depend on this set.
08-04-2005, 06:59 PM
Time for another update. As with the previous releases, you probably shouldn't upgrade unless you need something from this new release. Changes as follows:
-mfs_export, mfs_stream, mfs_tmfstream, and mfs_tarstream are now gone.
Use mfs_uberexport instead, it's the one program that does it all.
Since most tivos (both standalone and combo) are moving to 4.x and up, this is the new method of dumping the MFS resources. I'll remove mfsresourcedump.tcl as soon as the hdtivos update to 6.x.
-fakecall.tcl updated to include 5.x, 6.x, and 7.x support.
-Added mkswap in busybox
The busybox version is newer than the tivo version and can initialize >=128MB swap partitions.
It isn't really worth having on a tivo. If anybody disagrees with this assessment, let me know and I will consider re-adding it.
-Replaced the busybox unzip with a fixed standalone binary which was compiled by Jamie.
-Removed fold, free, sysctl, and rdate binaries, and created busybox links in their place. (in other words, they are still there, just now they use up less space)
-Removed losetup from busybox.
There aren't any tivo kernel modules to support this. May as well remove it until there is (if such a need arrises.) If somebody does make a module for this, they should probably include their own binary as it would go beyond the requirements for being added to this set anyways.
-Tweaked the symlinks some more.
Some undefined things were still in there.
-Redid 'remount' so that it works as I originally intended.
12-19-2006, 12:17 AM
A new year (well almost,) a new update.
-Busybox updated to 1.2.1, and made numerous changes therein. Such changes include:
=lzma (similar to 7zip) support (unlzma and tar unlzma support)
=e2fs tools which add journaling support. If used with an ext3 supported kernel, you can at your option e.g. make /var into an ext3 partition provided your kernel supports it (don't forget to adjust your path priority if you do this, in fact you should probably rename the tivo binaries and symlink them directly to busybox.)
=zcip can obtain an IP address without manual assignment or a DHCP server (aka ZeroConfig IP)
=ipcalc can detect a network config based on a given IP
=nohup will allow you to execute any script as a daemon that doesn't terminate when you close your telnet session
=echo false printf pwd test time and true removed (tivo bash already has them built in so they aren't needed)
-Added recstatus.tcl and safereboot.sh. See their inline commenting for details on what they do.
-Added TivoWare's TuikHelper.tcl and removed mfsres2unix.tcl since they both do the same thing, only tuikhelper.tcl is better and has more features.
-Added a newer smartctl (5.32) cross compiled by Jamie. This is a nice tool for checking temps, etc.
-Added htpdate cross compiled by supernaut
-Added lba48chk cross compiled by AllDeadHomiez
-Replaced my own AAM supported hdparm with one cross compiled by AllDeadHomiez (it has more features.)
-Renamed a few scripts for better descriptions, including securelogin to tivologin.sh
-Rewrote fakecall.tcl (it was getting kinda convoluted) Fixes a small bug and now allows a command line next call date offset, see script comments for details
-Removed mfsresourcedump.tcl (obsolete)
-Removed sonoshift.tcl (broken with newer tivo software versions; patches work better anyways)
-Removed wipelogs (not really sure why I added it to begin with (who needs that?? just rm -rf /var/log/*))
-Removed remount as it wasn't terribly useful (just bind an alias instead, its much better that way.)
-Removed mfs_tzoffset (didn't meet the "more than one hack" requirement)
-Removed mkswap from busybox (newer tivo versions have a good mkswap binary)
-Removed swapoff, swapon, rdate, and wepgen since 6.x+ tivos now include adequate versions of them.
-Many other changes that I've forgotten.
Note that as of September of 2006 the HDTivos have upgraded to 6.3, and thus it will be assumed that all S2 units are using 6.x and above software versions. Therefore from here on out all changes to all scripts and binaries will not be tested for compatibility with older software versions. This does not necessarily mean that they won't work, just I won't try to fix them if they don't.
Although all tivos include top now, the busybox one will remain intact since it only adds about 8k to busybox and it is much better than the tivo one.
Also I have switched to 7zip for main archive compression. With the new binary set it seems to get a much better compression ratio. Unlike rar it is also patent free, etc, and AFAIK there are 7zip decompression tools available for all major OSes. Winrar also supports 7zip decompression if you use that.
IMPORTANT: If you use securelogin for your telnet session, note the changes before applying this new version, otherwise you'll lose your telnet daemon.
As always, don't upgrade unless there is something specific that you need in this version.
Because of the magnitude of the changes in this upgrade, I am going to permanently archive the last 2005 version in this post. The new one is and always will be found in the first post of this thread.
12-20-2006, 06:57 PM
Small update over mondays release.
Updated busybox to 220.127.116.11 which just contains bug fixes over 1.2.1.
Updated the included collection of Jamies mfs-utils to the May 2006 version, with the addition of a 7.3.1 schema update and a fixed typo.
EDIT: Minor update over that to include a rarely used helper script.
Powered by vBulletin® Version 4.2.0 Copyright © 2013 vBulletin Solutions, Inc. All rights reserved.