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. |
/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.
If you don't havecd /var/hack tar zxf coreutils-5.93-tivo-s1-1-bin-sa.tar.gz
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).
(theLD_LIBRARY_PATH=/var/hack/lib /var/hack/sbin/inetd
LD_LIBRARY_PATH setting is not neccessary if you
have the standalone versions of InetUtils and TinyLogin.)
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.
[, 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.
kill, uptime, and su programs:
standalone and
shared.
Different versions are included in procps (kill,
uptime) and TinyLogin (su)
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.
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).
ps, top, vmstat, sysctl,
w, kill, skill,
snice, pgrep, pkill, free, tload,
uptime, and watch.
adduser, addgroup, deluser,
delgroup, login, su,
sulogin, passwd, getty, and
vlock.
.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.