1

I have some set of scripts that create qcow2 file with grub legacy (0.97) with special patch to boot from ext4 and ext4 file system for '/'.

When I run those scripts on Ubuntu 12.04/14.04 the VMs works in KVM. But for Centos 7 the grub legacy doesn't load from ext4.

The '/' is creating with mkfs -t ext4 -L BOOT /dev/mapper/loop0p1

When I move qcow2 files from Ubuntu to CentOs they can boot. But qcow2 images that were created on CentOs 7 can't boot on both systems.

When we are executing mkfs -t ext4 -L BOOT at:

Ubuntu KVM host 12/14, dumpe2fs shows:

Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Journal features: journal_incompat_revoke

CentOs 7 KVM host, dumpe2fs shows: When we executing mkfs -t ext4 -L BOOT at:

Ubuntu KVM host 12/14, dumpe2fs shows: Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize Journal features: journal_incompat_revoke

CentOs 7 KVM host, dumpe2fs shows:

Filesystem features: has_journal ext_attr resize_inode dir_index filetype extent 64bit flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Journal features: journal_incompat_revoke journal_64bit

So mkfs.ext4 adds:

  1. Journal features:journal_64bit
  2. Filesystem features: 64bit

How to avoid this?

Regards.

  • 1
    may give you a bit more information (also maybe try dumpe2fs): tune2fs -l <partition> – Theophrastus Jun 6 '16 at 4:50
1

man mkfs.ext4

The defaults of the parameters for the newly created filesystem, if not overridden by the options listed below, are controlled by the /etc/mke2fs.conf configuration file.

Ubuntu host, cat /etc/mke2fs.conf

[defaults]
        base_features = sparse_super,filetype,resize_inode,dir_index,ext_attr
        default_mntopts = acl,user_xattr
        enable_periodic_fsck = 0
        blocksize = 4096
        inode_size = 256
        inode_ratio = 16384

[fs_types]
        ext4 = {
                features = has_journal,extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize
                auto_64-bit_support = 1
                inode_size = 256
        }
        ext4dev = {
                features = has_journal,extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize
                inode_size = 256
                options = test_fs=1
        }

CentOs 7 host, cat /etc/mke2fs.conf:

[defaults]
        base_features = sparse_super,filetype,resize_inode,dir_index,ext_attr
        default_mntopts = acl,user_xattr
        enable_periodic_fsck = 0
        blocksize = 4096
        inode_size = 256
        inode_ratio = 16384
[fs_types]
        ext4 = {
                features = has_journal,extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize,64bit
                inode_size = 256
        }
        ext4dev = {
                features = has_journal,extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize
                inode_size = 256
                options = test_fs=1
        }
| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.