alldeadhomiez
12-30-2002, 11:20 PM
DISCLAIMER:
Note: These instructions have not been tested start to finish. Bugs may
exist. No warranty, no support, and don't PM me with questions unless
you've discovered something really, really cool. GL
INTRODUCTION:
Debian GNU/Linux has a simple, robust package management system called
"apt" (automated package tool). It greatly speeds and simplifies the
process of acquiring binary packages to enhance one's development /
exploration environment. For instance, if a developer needs a copy of
"gcc" in a pinch, he can simply type "apt-get install gcc" and let the
package manager do the dirty work of satisfying dependencies and
downloading/unpacking/installing packages.
If you do not understand how this feature could improve your life, you are
reading the wrong thread and should not post anything here.
REQUIREMENTS:
dpkg-extract (included)
required-pkgs.txt (included)
sources.list (included)
hacks (included)
dpkg installed on your PC
"tar" installed on the Tivo (from /devbin-s2 on the Jonnydeath CD)
"tivoftpd" installed on the Tivo (also from the Jonnydeath CD)
All of the Debian MIPS packages from required-pkgs.txt (grab it from a
Debian mirror under /debian/pool)
INSTRUCTIONS:
1) Download the files you don't have. Pick a version of Debian to
install. Personally I prefer "testing" but you can also pick from
"stable" or "unstable."
2) Rig up the BASH_ENV hack on the tivo. Find a way to get a bunch of
free space on the tivo drive. What I did was mfsrestore (but NOT
expand) a 40GB image onto an 80GB drive.
3) Once the BASH_ENV hack is working, make an ext2 fs where the bash
hack put the romfs. In my case this was hda14 but YMMV.
4) Copy the included hacks file to the root of the new partition.
5) Boot the tivo and ensure that you get a shell. The system should
stop booting at this point and be waiting for your input. If not,
figure out why.
6) Copy the original tivo root to a subdirectory in your new partition.
The new partition should be under /mnt so don't include /mnt in the copy
(duh). For example: mkdir -p /mnt/tivoroot/mnt ; cp -a /tvbin /dev
[...] /mnt/tivoroot/.
7) Create a big temp directory somewhere on your PC. Create a MIPS
Debian root under that directory. Use dpkg-extract to extract all of
the required (essential) MIPS Debian packages to the new root. Copy
sources.list into /etc/apt in the new MIPS root.
8) Tar up the debian root and extract it to /mnt/ on the tivo. Make
sure you know where to find a version of chroot that will run with the
libs in /lib on the original tivo root.
9) On the tivo, chroot to /mnt and start setting up the Essential
packages. dpkg --configure -a should do the job.
10) Refine the system. Change /hacks to auto-chroot into /mnt on
startup if you wish. Add more packages if you wish. Find a way to get
/proc mounted in the right place(s). Copy the tivo modules to
/lib/modules/ ... / on the debian partition and set up scripts (or use
the rcscripts) to start networking.
11) To start the tivo software from within the debian chroot, chroot
/tivoroot /etc/rc.d/rc.sysinit .
12) apt-get update ; apt-get upgrade
NOTES:
Be very careful if you choose to use pdisk to create a legitimate partition
for your ext2 filesystem - MAKE BACKUPS of the first several (32? 64?)
blocks of your drive. The version of pdisk I used corrupted the Tivo
signature and kept the unit from booting.
Is there a way to get mfsrestore to leave a specified amount of space free
on the drive for your Debian partition, during the expansion phase? I have
not looked too hard but I didn't notice a way either.
You should do the dpkg-extract operation as a normal user on your PC. If
you do it as root, you run the risk of potentially corrupting your PC's
package database and maybe even having to reinstall the OS. Don't forget
to chown -R root the entire Debian tree at some point, to avoid weird
ownership issues.
This hack, of course, allows you to replace tnlited and tivoftpd with sshd
(which affords real access control).
I recommend against setting a valid default route, because the tivo will
attempt to phone home over the internet. Instead, set the http_proxy
environment variable to something sensible (a local junkbuster proxy
maybe?) prior to running apt-get.
An old version of this file is in the zip. Ignore it.
Thanks to mbm for providing inspiration and moral support.
REFERENCES:
BASH_ENV hack: http://www.tivocommunity.com/tivo-vb/showthread.php?threadid=90268
Possible PROM no-sigcheck hack: http://www.tivocommunity.com/tivo-vb/showthread.php?threadid=80274&pagenumber=2
Note: These instructions have not been tested start to finish. Bugs may
exist. No warranty, no support, and don't PM me with questions unless
you've discovered something really, really cool. GL
INTRODUCTION:
Debian GNU/Linux has a simple, robust package management system called
"apt" (automated package tool). It greatly speeds and simplifies the
process of acquiring binary packages to enhance one's development /
exploration environment. For instance, if a developer needs a copy of
"gcc" in a pinch, he can simply type "apt-get install gcc" and let the
package manager do the dirty work of satisfying dependencies and
downloading/unpacking/installing packages.
If you do not understand how this feature could improve your life, you are
reading the wrong thread and should not post anything here.
REQUIREMENTS:
dpkg-extract (included)
required-pkgs.txt (included)
sources.list (included)
hacks (included)
dpkg installed on your PC
"tar" installed on the Tivo (from /devbin-s2 on the Jonnydeath CD)
"tivoftpd" installed on the Tivo (also from the Jonnydeath CD)
All of the Debian MIPS packages from required-pkgs.txt (grab it from a
Debian mirror under /debian/pool)
INSTRUCTIONS:
1) Download the files you don't have. Pick a version of Debian to
install. Personally I prefer "testing" but you can also pick from
"stable" or "unstable."
2) Rig up the BASH_ENV hack on the tivo. Find a way to get a bunch of
free space on the tivo drive. What I did was mfsrestore (but NOT
expand) a 40GB image onto an 80GB drive.
3) Once the BASH_ENV hack is working, make an ext2 fs where the bash
hack put the romfs. In my case this was hda14 but YMMV.
4) Copy the included hacks file to the root of the new partition.
5) Boot the tivo and ensure that you get a shell. The system should
stop booting at this point and be waiting for your input. If not,
figure out why.
6) Copy the original tivo root to a subdirectory in your new partition.
The new partition should be under /mnt so don't include /mnt in the copy
(duh). For example: mkdir -p /mnt/tivoroot/mnt ; cp -a /tvbin /dev
[...] /mnt/tivoroot/.
7) Create a big temp directory somewhere on your PC. Create a MIPS
Debian root under that directory. Use dpkg-extract to extract all of
the required (essential) MIPS Debian packages to the new root. Copy
sources.list into /etc/apt in the new MIPS root.
8) Tar up the debian root and extract it to /mnt/ on the tivo. Make
sure you know where to find a version of chroot that will run with the
libs in /lib on the original tivo root.
9) On the tivo, chroot to /mnt and start setting up the Essential
packages. dpkg --configure -a should do the job.
10) Refine the system. Change /hacks to auto-chroot into /mnt on
startup if you wish. Add more packages if you wish. Find a way to get
/proc mounted in the right place(s). Copy the tivo modules to
/lib/modules/ ... / on the debian partition and set up scripts (or use
the rcscripts) to start networking.
11) To start the tivo software from within the debian chroot, chroot
/tivoroot /etc/rc.d/rc.sysinit .
12) apt-get update ; apt-get upgrade
NOTES:
Be very careful if you choose to use pdisk to create a legitimate partition
for your ext2 filesystem - MAKE BACKUPS of the first several (32? 64?)
blocks of your drive. The version of pdisk I used corrupted the Tivo
signature and kept the unit from booting.
Is there a way to get mfsrestore to leave a specified amount of space free
on the drive for your Debian partition, during the expansion phase? I have
not looked too hard but I didn't notice a way either.
You should do the dpkg-extract operation as a normal user on your PC. If
you do it as root, you run the risk of potentially corrupting your PC's
package database and maybe even having to reinstall the OS. Don't forget
to chown -R root the entire Debian tree at some point, to avoid weird
ownership issues.
This hack, of course, allows you to replace tnlited and tivoftpd with sshd
(which affords real access control).
I recommend against setting a valid default route, because the tivo will
attempt to phone home over the internet. Instead, set the http_proxy
environment variable to something sensible (a local junkbuster proxy
maybe?) prior to running apt-get.
An old version of this file is in the zip. Ignore it.
Thanks to mbm for providing inspiration and moral support.
REFERENCES:
BASH_ENV hack: http://www.tivocommunity.com/tivo-vb/showthread.php?threadid=90268
Possible PROM no-sigcheck hack: http://www.tivocommunity.com/tivo-vb/showthread.php?threadid=80274&pagenumber=2