This is a grub-legacy issue, not the vmbuilder' itself. It seems that the problem is when grub tries to do setup step on ext4 fs with inode size > 128 (256 in particular). Interesting thing is that sometimes this step actually passes, so it might seem like a random failure. On recent vmbuilder / Ubuntu / Debian releases ext4 / 256bit inode size is used by default.
You have two possible workarounds:
a) tell vmbuilder to use ext3 fs by default (vmbuilder uses ext4 by default from Karmic release, you can change that in /usr/share/pyshared/VMBuilder/plugins/ubuntu/karmic.py, or possibly override this in other version' file)
b) create root fs as ext4, but with 128bit inode size. You can modify vmbuilder to pass '-I 128' for mkfs.ext4 command (in /usr/share/pyshared/VMBuilder/disk.py, mkfs_fstype() function)
Keep in mind that using 128bit size inodes on ext4 you might experience some issues when using advanced fs attributes: ACL's, SELinux labels, some Samba specific labels.
grub-legacy received patches to support ext3 fs with 256 bit size inodes, and later - variable size inode structs on ext4 fs, but it seems this does not work.
Of course, there is possibility to drop grub-legacy and try to use grub2 with vmbuilder, but this is completely different tale and I think will take much more time and effort to accomplish.
This is a grub-legacy issue, not the vmbuilder' itself. It seems that the problem is when grub tries to do setup step on ext4 fs with inode size > 128 (256 in particular). Interesting thing is that sometimes this step actually passes, so it might seem like a random failure. On recent vmbuilder / Ubuntu / Debian releases ext4 / 256bit inode size is used by default.
You have two possible workarounds:
a) tell vmbuilder to use ext3 fs by default (vmbuilder uses ext4 by default from Karmic release, you can change that in /usr/share/ pyshared/ VMBuilder/ plugins/ ubuntu/ karmic. py, or possibly override this in other version' file)
b) create root fs as ext4, but with 128bit inode size. You can modify vmbuilder to pass '-I 128' for mkfs.ext4 command (in /usr/share/ pyshared/ VMBuilder/ disk.py, mkfs_fstype() function)
Keep in mind that using 128bit size inodes on ext4 you might experience some issues when using advanced fs attributes: ACL's, SELinux labels, some Samba specific labels.
grub-legacy received patches to support ext3 fs with 256 bit size inodes, and later - variable size inode structs on ext4 fs, but it seems this does not work.
Of course, there is possibility to drop grub-legacy and try to use grub2 with vmbuilder, but this is completely different tale and I think will take much more time and effort to accomplish.