twoliter icon indicating copy to clipboard operation
twoliter copied to clipboard

create the boot filesystem with known-good options

Open bcressey opened this issue 2 years ago • 4 comments

What I'd like: LWN recently covered filesystem forward-compatibility in Debian which related to an issue with e2fsprogs 1.47.0 turning the metadata_csum_seed option on by default, leading to boot failures since existing releases of GRUB cannot handle the option.

In the comments, "mb" suggests prefixing a list of known-good options with -O none to avoid unexpectedly introducing new filesystem features. Since GRUB only reads the /boot filesystem, that is the only place where the change would be needed.

The current list of features reported by tune2fs -l /dev/nvme0n1p3 is:

ext_attr resize_inode dir_index filetype extent 64bit flex_bg sparse_super large_file huge_file dir_nlink extra_isize metadata_csum

Any alternatives you've considered: Another approach would be to exercise more direct control over the version of e2fsprogs and mkfs.ext4 used, or carrying a known-good /etc/mke2fs.conf with the current options enumerated. However, that would be more likely to freeze the software or the option set used for all created ext4 filesystems, when it's really just the /boot filesystem that is exposed to this failure mode.

bcressey avatar Mar 05 '23 16:03 bcressey

Hey, I'd like to contribute to this issue

ihrishix avatar Mar 06 '23 07:03 ihrishix

That would be great @rushikeshsuryawanshi! I've assigned the issue to you. :)

stmcginnis avatar Mar 06 '23 12:03 stmcginnis

Hey @stmcginnis , Do i need to setup project on Baremetal for development ? As this is a boot related issue

ihrishix avatar Mar 07 '23 07:03 ihrishix

I believe you should be able to exercise the same code path using a local VM or a cloud instance. Either metal or a virtual machine will still need to boot the instance using GRUB and read from the /boot filesystem.

stmcginnis avatar Mar 07 '23 12:03 stmcginnis