We're booting nodes with Red Hat Linux using a custom-built initrd which mounts the root filesystem over NFS, and then calls 'pivot_root' to switch to the NFS root filesystem instead of the initrd image.

This works fine with ELAS3 and ELAS4, but with EL5, it fails in a couple of different ways if we just follow our standard path:

Previously, our initrd was a gzip-compressed ext2 filesystem image (4K blocksize) in a file. The ELAS3 and ELAS4 kernels had no trouble recognizing the initrd and using it. For example, the message:

checking if image is initramfs...it isn't (no cpio magic); looks like an initrd

would appear on boot, and all would be well. However, EL5 produced the same message, but then when trying to use it, it failed with:

   RAMDISK: Compressed image found at block 0
   EXT2-fs: blocksize too small for device.
__find_get_block_slow() failed. block=18446744071562067968, b_blocknr=2147483648
   b_state=0x00000020, b_size=4096
   device blocksize: 4096

and so on, forever.

I was able to work around this by making the initrd a gzip-compressed ascii cpio archive, and the kernel was happy with it, but then we get into very murky water with pivot_root, which appears not to be supported when using an initramfs (cpio-based initrd) instead of an initrd (compressed ext2 image).

So the workaround doesn't actually work for us, since we need to keep using an ext2-based initrd, and I need to understand why the ext2 filesystem is complaining about the blocksize, and what to do about it. I've tried a 1K blocksize (the choices appear to be 1K, 2K or 4K), and it made no difference to the error.

Thanks,

Chris

_______________________________________________
rhelv5-beta-list mailing list
rhelv5-beta-list@redhat.com
https://www.redhat.com/mailman/listinfo/rhelv5-beta-list

Reply via email to