--Regain DHCP with 3.1.5 killhdinitrd kernel--

This keeps coming up so I figured I'd document this. As you may know, DHCP does not work on SA S2 Tivos with 7.X software when using the killhdinitrd 3.1.5 kernel. See here for why. You can easily set up a static IP address/network configuration under the "Phone & Network" settings in the Tivo GUI. Another option is to spend the $5 at ptvupgrade.com for the 'enhanced' LBA48 cdrom and the '7.2.2-oth-K1' kernel that supports DHCP. However, if you want to hack DHCP support in with the 3.1.5 kernel, read on...

First you need the 'af_packet.o' module located in the post above.

Now ftp it up to your tivo and copy it somewhere; I chose /lib/modules to keep things in order. Note for future reference: this is one more file you need to copy over when you do manual upgrades using 'installSw.itcl' - don't forget!

Also to copy into /lib/modules - you'll need to mount root read-write:
Code:
mount -o remount,rw /
cp /var/tmp/af_packet.o /lib/modules
Now, while you're mounted 'rw' edit your /etc/rc.d/rc.sysinit.author

Add the following to rc.sysinit.author - use your favorite editor (I like vi) - note-> if you decide to do this on your PC, use a UNIX aware editor like Metapad (located here free); don't use notepad, wordpad, etc. If you do, you better get the 'dos2unix' utility while you're at it!
Code:
insmod /lib/modules/af_packet.o
I added this as the second line of my rc.sysinit.author (right after #!/bin/bash)

*This worked fine for me but if you have problems you may need to load it in your actual 'rc.sysinit' file as it may need to load earlier in the boot process, before 'dhclient' is run.

Now remount root read-only
Code:
mount -o remount,ro /
After reboot, change your network settings to DHCP and you should be good to go; enjoy!

CAVEAT: I've tested this on Standalone "240" & "540" Tivos with software versions ranging from 7.2.2 to 7.3.1. As always, YMMV...