Red Hat Bugzilla – Bug 243490
grub fails on FS with 512-byte inodes
Last modified: 2014-03-16 23:07:20 EDT
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
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):
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
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]
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!