bottlerocket-os/twoliter

create the boot filesystem with known-good options

Open

#498 opened on Mar 5, 2023

View on GitHub
 (4 comments) (0 reactions) (0 assignees)Rust (43 forks)auto 404
good first issue

Repository metrics

Stars
 (34 stars)
PR merge metrics
 (PR metrics pending)

Description

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.

Contributor guide