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