[TiVo Software Home] [Cross-compiler] [Partition Support] [Teletext]
On this page: [coreutils] [InetUtils] [procps] [TinyLogin] [tar] [rsync]

Ported TiVo Software[new]

This page lists software I have ported to the Series 1 TiVo. You can jump to the items below: GNU Core Utilities, GNU InetUtils, procps, TinyLogin, tar, rsync; or browse the downloads directory directly. See my main page for more TiVo software.

These are ports of a few standard Unix utility packages. Some of the included tools are available elsewhere (eg. Craig Leres' ports), but here we have much more recent versions of these packages (in particular, the earlier versions of ps and top give much less information, and ps has a different command syntax than most Linux users will be familar with). They are linked against my fixed C Library which enables many previously-broken features, such as DNS and user lookups. rsh and rcp are more secure and (I find) more convenient alternatives to the stripped down versions of the telnet and ftp daemons available elsewhere.

This table provides quick links to the package downloads.

Package Web page Standalone MB Shared MB Requires Online docs Man / Info HTML
coreutils 5.93 view download 3.1 download 2.8 libc view download download
InetUtils 1.4.2 view download 2.0 download 0.5 libc, ncurses, (TinyLogin*) view download download
procps 3.2.6 view download 1.2 download 0.3 libc, ncurses view download download
TinyLogin 1.4 view download 0.1 download .04 libc view   download
tar 1.15.1 view download 0.3 download 0.3 libc view download download
rsync 2.6.7 view download 0.4 download 0.3 libc view download download
Package Web page Library MB Misc programs MB Requires Online docs Man / Info HTML
libc view download 1.3 download 0.5   view   download
ncurses 5.5 view download 0.7 download 0.3 libc view   download
Package:Package name and version. It links to more details below.
Web page:Package source web page.
Standalone:Standalone program distribution for installation on the TiVo. This version requires no extra libraries (which are all linked statically, except for the unbroken routines from libc, which are taken from the libc that comes with TiVo), but is larger.
MB:The number of MBytes' disk space the package uses on your TiVo.
Shared:Shared program distribution for installation on the TiVo. This version requires the libraries listed under Requires.
Requires:Libraries required by the Shared programs.
* InetUtils' rlogind and telnetd (both standalone and shared) also require the TinyLogin package.
Online Docs:Package documentation web pages. This is included as-is from the package distribution, so has no TiVo-specific information.
Man / Info:Man and/or info files. Since the TiVo does not have a man or info reader, these probably aren't much use.
HTML:Package documentation web pages for download.
Library:Library distribution for installation on TiVo.
Misc programs:Optional (shared) programs for installation on TiVo.

Installation

These programs expect to be installed under the /var/hack directory on the TiVo: programs in /var/hack/bin, daemons in /var/hack/sbin, libraries (mostly shared, *.so etc) in /var/hack/lib, and configuration files in /var/hack/etc. If you unpack the downloaded tar files in /var/hack, they will be placed in the correct directories, eg.
cd /var/hack
tar zxf coreutils-5.93-tivo-s1-1-bin-sa.tar.gz
If you don't have tar installed on your TiVo (or your version doesn't support the z option), you can use this executable.

Once installed on the TiVo, add /var/hack/bin to your PATH and (if you use any of the shared programs above) /var/hack/lib to your LD_LIBRARY_PATH, ie.

export PATH=/var/hack/bin:$PATH
export LD_LIBRARY_PATH=/var/hack/lib

You can start the InetUtils (see below) whenever your TiVo reboots by adding the following command to the end of your /etc/rc.d/rc.sysinit (after the network startup).

LD_LIBRARY_PATH=/var/hack/lib /var/hack/sbin/inetd
(the LD_LIBRARY_PATH setting is not neccessary if you have the standalone versions of InetUtils and TinyLogin.)

Ported Unix Utilities

Since these packages all consist of a number of programs, not all of which I have (so far) needed, I have not tested that they all do what they are supposed to, or indeed anything useful. I have marked in bold the programs that I have, to some extent at least, used for real.

GNU Core Utilities

coreutils 5.93 contains file, shell, and text utility programs: [, basename, cat, chgrp, chmod, chown, chroot, cksum, comm, cp, csplit, cut, date, dd, dir, dircolors, dirname, du, echo, env, expand, expr, factor, false, fmt, fold, install, groups, head, hostid, hostname, id, join, kill, link, ln, logname, ls, md5sum, mkdir, mkfifo, mknod, mv, nice, nl, nohup, od, paste, pathchk, pinky, pr, printenv, printf, ptx, pwd, readlink, rm, rmdir, seq, sha1sum, shred, sleep, sort, split, stat, stty, su, sum, sync, tac, tail, tee, test, touch, tr, true, tsort, tty, uname, unexpand, uniq, unlink, uptime, users, vdir, wc, who, whoami, yes.

For some reason, this port does not include the df command, but that's already installed on TiVo. Requires the C shared library.

GNU InetUtils

GNU InetUtils 1.4.2 is a collection of common networking utilities and servers including ftp, ftpd, rcp, rlogin, rlogind, rsh, rshd, syslogd, talk, talkd, telnet, telnetd, tftp, tftpd, and uucpd. As long as you are on a trusted network (and don't ever ever open your TiVo up to connections from the internet), rsh and rcp are handy tools for logging in and copying files to and from your TiVo (especially if you are used to ssh and scp, which were modelled on the less-secure, but much faster, rsh and rcp).

Requires the C and (for ftp, tftp, and telnetd) ncurses shared libraries. Most of the daemons require and a valid /etc/passwd file. rlogind and telnetd require the TinyLogin command. ftpd requires the user's shell is listed in /etc/shells.

The daemons can be started only as needed by using inetd. Create a /var/hack/etc/inetd.conf file (you can use this example inetd.conf) and run /var/hack/sbin/inetd. It will put itself in the background (you can check with ps -A).

procps

procps 3.2.4 is a collection of small useful utilities that give information about processes: ps, top, vmstat, sysctl, w, kill, skill, snice, pgrep, pkill, free, tload, uptime, and watch.
Requires the C and ncurses shared libraries.

TinyLogin

TinyLogin 1.4 contains a number of login and user account management tools: adduser, addgroup, deluser, delgroup, login, su, sulogin, passwd, getty, and vlock.

GNU tar

GNU tar 1.15.1 creates, extracts, and manipulates tar archives. This version can handle gzip or bzip2-compressed archives (.tar.gz or .tar.bz2) with the -z or -j command-line options respectively. Unlike mbm's version, this port doesn't complain about the lchown function not being implemented (not that the complaints did any harm). Requires the C shared library.

rsync

rsync 2.6.7 is a file transfer and synchronisation utility. It requires the C shared library.

Compiling your own

My cross-compiler and prebuilt libraries might help if you are interested in building some of your own tools.
[TiVo Software Home] [Cross-compiler] [Partition Support] [Teletext]
On this page: [Top] [coreutils] [InetUtils] [procps] [TinyLogin] [tar] [rsync]

Valid HTML 4.01! Best viewed with ANY browser! http://homepage.ntlworld.com/maxwells.daemon/tivo/ports.html last modified 2nd July 2006 by
Tim <maxwells_daemon@ntlworld.com>