Tivoisation is part of it, but the kernel plays its part as well. The old kernel is the hard requirement and as such you can't use new packages that require newer kernel features than is provided by old android kernel versions.