Wow, have I had a bit fun today. I was deploying a new iptables script which looked for IP_CONNTRACK which I noticed I did not have set up in the kernel so I decided to recompile.
It's been a while since I recompiled, but it took longer than expected (considering the small change I made) but anyhow, I rebooted with the new kernel image and I got problems, so I said, OK, it's a bigger problem than I thought, leave it for another day.
So I tried to boot back into my old kernel image
. No reason for it not to work, right? I've done this tons of times with no problems.
However, I did
get a problem. A segmentation fault
, no less, during the running of rc.inet1. The process at fault (it says) is dhcpcd
. The problem is real similar to Charred's here: http://www.linuxquestions.org/questi...d.php?t=355452
This caught me by surprise. The old kernel image must have been affected the recompile of the new image. I had not thought of this before. I mean, if you compile a new version of the kernel, a new directory with the version number is created in /lib/modules. But if you recompile the exact same version of the kernel (maybe because of minor change) the /lib/modules/$(VERSION_NUMBER) directory is written over with the new modules. The old kernel image will use this newly written directory
Now I am wisened on to this, in future I think I will take a copy of the old /lib/modules/$(VERSION_NUMBER) directory just in case stuff like this happens.
Of course, I have yet to find out what exactly happened. How could the modules get so mucked up during a recompile? Of course, I'm only at an early stage of troubleshooting. I'm just really surprised I hadn't come across this problem before.