I customized with new kernels in the past and never had a problem with it. Today, however, I tried two new kernel versions and they act weird. I must be missing something stupid so I hope someone here experienced this problem before and could tell me whats the cause.

I boot the new kernel with the new initrd (same miniroot but with newly-compiled modules). It boots till it gets to the initrd part, extracts it, prints a message about mounting it as ext2 (ro), but panics on lack of init.

Now, init shouldn't even be called at this time. linuxrc from the initrd should. For some reason, it fails to run and the system just skips the initrd phase and looks for init. If I pass the param init=/linuxrc, the linuxrc script from my initrd runs so its not like the kernel can't run this script or the required shell (knoppix-ash). Why can't it run it as linuxrc if it can later run it as init ?!

Another symptom is that the initrd ext2 fs is mounted read-only, so cp commands in linuxrc fail. a remount as rw right after cloop image is mounted solved this problem.

When the script exits, system panics because it thinks its init died. Its not treated as linuxrc. I fixed that by adding 'exec /etc/init' at the end of linuxrc.

Now the whole thing works but certainly not the way kernel designers intended.

Anyone had a problem running linuxrc from miniroot.gz before ?