Package: grub-cloud-amd64 Version: 0.0.5 Severity: important grub-cloud-amd64 currently ships the /etc/default/grub file, which contains an opinionated bootloader configuration that, among other things, enables printing information to the serial console. This may be a good idea for cloud images in general, but it comes with a substantial bootup performance hit that makes it unsuitable for some use cases. This would be easily configurable by installer applications, except for the fact that grub-cloud-amd64 ships /etc/default/grub as a conffile. If an installer customizes or creates /etc/default/grub (like installer applications oftentimes do), and the configuration offered by grub-cloud-amd64 ever changes, users will get hit with a conffile prompt despite never modifying the file intentionally.
One fairly easy solution would be to simply embed the config file into the postinst script or write it in a location that isn't contested the way /etc/default/grub is, then check for the file's existence upon installation and upgrades, and write it only if it doesn't exist already. This would result in essentially the same behavior that exists now, but it would allow users and installers to overwrite the file without risking triggering conffile prompts in the future. One might legitimately ask what business an installer has using grub-cloud-amd64 when this is specifically for cloud images. The installer I'm working with, grml-debootstrap, has a feature that generates VM images. Those images can be whatever the user wants, and could be used in a cloud scenario. grml-debootstrap attempts to offer support for both UEFI and BIOS booting in the same image, which grub-cloud-amd64 offers. However, the performance hit at bootup isn't desirable, and turning off the serial console stuff isn't possible without risking problems as explained above. Theoretically any VM image generator, or any installer that used grub-cloud-amd64 to offer BIOS and UEFI boot support, could run into the same problems. For context, see the discussion about this at grml-debootstrap's GitHub repo: https://github.com/grml/grml-debootstrap/pull/299
pgpeEMH7K_7U6.pgp
Description: OpenPGP digital signature