initrd/cramfs/etc (was Re: srm nightmare, milo & kernel future questions)
My nightmare continues...
generic 2.4.18?? <cough> <cough> Generic 2.4.18 has a ton of bits missing
for the alpha architecture. When we did the HP updated kernel 2.4.18 for
RH-7.2 on alpha we added 27 patches to fix various bugs. If you are going to
use a generic kernel, I would like to suggest that you try 2.4.21 which has
most of the previously mentioned patches
Okay, so I downloaded the 2.4.21 kernel source from kernel.org. I upgrade
gcc to build it. I make the initrd image with mkinitrd. The kernel won't
mount it and panics. I read the net for a while, finding that mkinitrd
makes a cramfs image, but debian kernels are patched to allow initrd and
the generic kernel source is not. Herbert is quoted as saying you can just
use another fs with mkinitrd.conf, but how to do this isn't documented
anywhere. I come across random references to genromfs, so I install this
and use it. Now the initrd is found but the kernel panics with "cramfs:
wrong magic" which is hilarious given that I'm not using cramfs anymore. I
search in vain for the "official" debian patch for cramfs/initrd, but it
doesn't seem to be anywhere I can find, at least for 2.4.20. I settle for
a patch for init/do_mounts.c (which doesn't even exist in 2.4.18) that
enables cramfs initrd images. I reboot. It sees the image and then panics
with "cramfs: wrong magic".
I can mount both the romfs and the cramfs initrd.imgs and look around them
when I'm booted with 2.4.18. I saw some reference to some kernel versions
not being able to run mkinitrd correctly (why the heck the kernel would
have anything to do with this is beyond me), but they all referred to
kernels before 2.4.18. I don't understand what I have to do here to get
the damn initrd image to load, whether romfs or cramfs. It never even gets
to the /linuxrc since it doesn't mount properly, so I can't get a boot
shell and look around. I also don't understand why the romfs image dies
with a "cramfsf: wrong magic". This is incredibly frustrating.
Any more ideas?