What's the difference between the Series 2 kernel in the above post, and the one here?
These are custom kernels built from the TiVo provided linux sources.
Why would you want to use a custom built kernel?
- Because you can. Perhaps it will give you a sense of superiority over the HR20 users.
- For additional capabilities not included in the stock kernels, e.g. a journaled file system.
- For improved performance. In particular, turning CONFIG_NETFILTER off and turning CONFIG_NET_FAST_TCP on seems to help network performance.
kernel-build.tar.bz2 holds the script, patches and kernel config files for building 8.1 and 8.1.1 TiVo linux kernels. You'll also a need a toolchain if you want to build kernels yourself. This is the one I use.
All kernels have no initrd and are, obviously, not signed with the TiVo signing key. That means they are suitable for use on a PROM mod'd tivo, or as a monte target kernel. They won't boot directly on unmodified hardware.
All kernels are compiled with ext3 built in, CONFIG_NETFILTER off, and CONFIG_NET_FAST_TCP on. You will want to replace /sbin/iptables, as described here if you use these kernels. Otherwise, you might see crashes when the tivo software tries to load iptable rules.
Note that on the TGC01 (SA DT) and Gen05 (Series3) platforms, if you use the built in ethernet, you'll need to use the included drivers with these kernels. The factory stock drivers are not compatible with a kernel compiled with CONFIG_NETFILTER off.
Series2: traditional Series2 platforms
Gen04: "Series 2.5" -- 5xx modesl
TGC01: StandAlone DualTuner
Gen06: TiVoHD -- see this
Jump ahead to here for 9.4.1 Gen05 and Gen06 kernels:
Last edited by Jamie; 07-28-2009 at 07:47 AM. Reason: update Gen06 link to newest
Functionally, they are probably pretty close to the same, but if you are running 8.x, I guess I'd choose the 8.x kernel over a 7.x kernel. I run these 8.x kernels myself.
Can I monte into any kernel version? In other words, do I have to correspond software version to corresponding kernel? I was under the impression that 6.x has to be matched with either a 3.1.5 or 7.2.2 kernel. Or maybe with a monte, it doesn't matter.
The only killhdinitrd 2.4.20 kernels are 3.1.5 and 7.2.2-oth.K1, which might be where you got the idea.
Everything since 5.x has used a 2.4.20 kernel. Even the new TiVoHD is still running a 2.4.20 kernel.
Got it. Thank you much.
Edit: Found out the hard way which one works. Heh....
Last edited by tsanga; 07-31-2007 at 10:52 PM.
Since I'm not seeing a "support" thread for this Jamie, I'll ask in here -
My Tivo died. Again. So I'm starting over (third time in 5 years...yuck). When I ran killhdinitrd on the AlphaWolf 62small.mfs restore image, I had two kernels - one that the killhdinitrd program didn't recognize, and a 3.1.1c that identified itself and kernel 2.4.4.
So the question is basically thus - I am pretty sure I can monte to this with impunity, but with the filesystems I have in place, is there any simple way to convert to ext3? I spend my life on FreeBSD and OSX anymore, so my impression is that I'd have to tar up the existing ext2 tivo filesystem (I'm booted from the MFS Tools CD atm) ie tar -z --create --file /nfs/share/elsewhere/tivo.tar.gz /mnt/tivo, store it elsewhere, then do a new mkfs /dev/hda7 (which is the root of my tivo's filesystem) for this to be really useful.
Am I right about this? For extra credit, is there a one-stop shopping link for drivers that work with these kernels? ie - USB2 supported NICs, and umass? Seeing as you're saying these are 2.4.2, and my tivo claims to be 2.4.4, I have concerns about existing kernel drivers not working, and I have a set of usb drivers sitting here, and I'm not 100% confident now that they are 2.4.4 or 2.4.2.
(I've since confirmed that the drivers I have are for 2.4.2 - so presuming you give me the "yes sir!", I'll monte from 2.4.4 to 2.4.2, and load the drivers from here:
http://www.dealdatabase.com/forum/sh...ad.php?t=38167 <- Jamie USB2 Backport Drivers
Hopefully this saves questions from other onlookers! Also need to confirm that this kernel is "okay" for 6.2. It's the only restore image I have handy, and it's for a DirecTivo.
Last edited by Numbski; 09-10-2007 at 08:49 AM.
You can convert an ext2 file system to ext3 in place with tune2fs. It's fast and easy. tune2fs is part of e2fsprogs. A mips build can be found here.
You don't want root to be ext3 if your initial boot kernel (pre monte) doesn't have ext3 support though. It won't be able to mount the root file system to do the monte.
Well shoot. I was hoping to fix things up so that if the power failed, the thing would be back up right quick because it didn't need to fsck the root filesystem. oops. So there is really precious little benefit to ext3 on the tivo. Oops.
Last edited by Jamie; 09-10-2007 at 04:28 PM.
Ah, that's good to know. Thanks Jamie!
The Gen04 custom kernel doesn't work with my prom-modded 540 and 9.1 software, and reboots just after the "almost there" splash. The relevant console output seems to be:Full console output is attached. This kernel worked great before I upgraded to 9.1. When I used a 9.1 kernel with initrd replaced, it worked fine. I thought I read elsewhere that the custom TGC01 kernel was working with 9.1 software, but wanted to give you a data point for the 540.Code:iptables v1.2.6a: can't initialize iptables table `filter': iptables who? (do you need to insmod?) Perhaps iptables or your kernel needs to be upgraded. assert: Tmk Assertion Failure: assert: TmkServer, line 379 () Tmk Fatal Error: Activity TvBusProxy <100> strayed!
I added a note about this to the first post of the thread to help out the next person who might run into this.
Last edited by Jamie; 10-19-2007 at 10:55 AM.
Is the S3 kernel compatible with the TiVoHD, or is a Gen06 build required? I tried the S3 on my TiVoHD and didn't make it to the AlmostThere screen. I'm gonna go back and double check my prom patch and dig out my linux box (been a while since I built a kernel), but I thought I'd post here first.
Edit: I think my prom patch is correct. My patched MD5 is 65897F032305885B62A5FC48E682A62F, using a standard gzip.
Last edited by jkozee; 10-25-2007 at 10:48 PM.
Here's the Gen06 kernel built from the 8.1.7 sources with an updated build script.