In my GRUB configuration, I have the following setting:
GRUB_TIMEOUT=3
In general, it works fine. However, I'm using overlayroot, which creates a protected file system (specifically, it uses OverlayFS to create a union filesystem). When I reboot, the GRUB timeout reverts to 30 seconds. It's important to note that the necessary config changes were made with the file system in read/write mode, so whether the file system is in read-only or read/write mode, the config file is the same (and reflects the correct timeout).
Can anyone shed some light on what might be going on? My best guess is that GRUB isn't detecting that the previous boot was successful, so it is overriding the timeout and setting it back to 30.
Thanks!