Vous pouvez exécuter des programmes Linux plus anciens sur des noyaux plus récents. Linux maintient la rétrocompatibilité (au moins pour toutes les interfaces documentées), au profit des personnes qui utilisent d'anciens binaires pour une raison ou une autre (parce qu'ils ne veulent pas s'embêter à recompiler, parce qu'ils ont perdu la source, parce que c'est logiciels commerciaux dont ils n'ont pas la source, etc.).
Si vous voulez avoir un environnement de construction avec des outils de développement plus anciens, ou même un environnement de test pour tout ce qui ne plonge pas profondément dans les interfaces du noyau, vous n'avez pas besoin d'exécuter un noyau plus ancien, juste un environnement utilisateur plus ancien. Pour cela, vous n'avez besoin de rien de complexe :un chroot fera l'affaire. Quelque chose de plus avancé comme LXC, Docker, … peut être utile si vous voulez que l'ancienne distribution (ou la plus récente, d'ailleurs) ait sa propre configuration réseau. Si vous ne le souhaitez pas, vous pouvez utiliser ce que Debian utilise précisément pour construire un logiciel dans un environnement connu (par exemple, construire un logiciel pour Debian stable sur une machine avec une installation de test) :schroot. Voir Comment exécuter des programmes 32 bits sur une Debian/Ubuntu 64 bits ? pour un guide sur la configuration d'une installation alternative de Debian ou d'un dérivé dans un chroot.
Si vous souhaitez exécuter le noyau de l'ancienne distribution, vous aurez besoin d'une machine virtuelle réelle pour cela, telle que KVM ou VirtualBox. La virtualisation Linux sur Linux avec LXC ou similaire exécute le même noyau partout.
➜ codetv_static# docker run ubuntu:10.04 /bin/echo 'Howdy!'
Unable to find image 'ubuntu:10.04' locally
10.04: Pulling from library/ubuntu
a3ed95caeb02: Pull complete
86b54f4b6a4e: Pull complete
Digest: sha256:f6695b2d24dd2e1da0a79fa72459e33505da79939c13ce50e90675c32988ab64
Status: Downloaded newer image for ubuntu:10.04
Howdy!