Description of problem: ext3 lets you change the size of the inode. This is useful for keeping extended attributes in-inode (see bug #205161 for some 'interesting' fun when they're not in-inode). However, if you do this, grub chokes, and fails to properly install. grub-install errors with: The file /boot/grub/stage1 not read correctly. Version-Release number of selected component (if applicable): grub-0.97-13 Additional info: The message not proper english.
If you boot,you are dropped to the grub prompt. Attempting to read the FS yields "Error 2: Bad file or directory type"
Looking briefly at the code, this seems to be 'expected' from the way it's written. Ugh.
Oh... bummer. Workaround would be to have a separate /boot of course, if further 512-byte inode testing was desired. I suppose grub needs to be told about this new format. I'll see if I can take a look...
Created attachment 160552 [details] untested patch Grub is using sizeof(struct ext2_inode) to calculate inode offsets in the inode table. Looking at the inode size in the superblock instead should fix this. Attached patch builds but is untested.
patch in comment #4 has been tested, is in devel/ now. Thanks pjones!