First of all, go to /etc/lib/modules
there should be directory 2.6.21.5 and files in that dir. If thats the case modules are installed. and im sure theres such dir.
next thing to tell is that after kernel is compiled from source there modules wont get load at first, lsmod will show nothing. and rc.modules-2.6.21.5 wont get created automatically, you have to create yourself.
to illustrate that lsmod is actually working without a problem, ill assume that you configured 2.6.21.5 to have inside iptables,
by doing /usr/sbin/iptables -L will display your firewall default table, along with directives if you alredy configured it.
if you got an error then that means you didnt enable it in kernel,
but lets say you did
then you go lsmod
and ull see ip_tables
and x_tables listed for instance
thats just to illustrate that lsmod will actually list something before you load your modules
next you need to do is this :
ill assume that you wanted to upgrade kernel from 2.6.18 to 2.6.21.5
Code:
cd /etc/rc.d/
cat rc.modules-2.6.18 > rc.modules-2.6.21.5
chmod 755 rc.modules-2.6.21.5
ln -sf rc.modules-2.6.21.5 rc.modules
thats one way that will load modules on reboot, however if you want to have modules only for your hardware then check the link i gave you previously, chapter 7, and then you can instead cat rc.modules-2.6.18 > rc.modules-2.6.21.5
you just create rc.modules-2.6.21.5 empty file and enter modules in the file that script from generated, and that means that only modules from your hardware will load.