Got GRUB to do what I need

setting up GRUB's timeout to 0 (zero)

One day I've decided to have GRUB booting VoidLinux immediately without any timeout. There are a lot of instructions out there in the Internet mostly saying

set GRUB_TIMEOUT=0

and you are done. This didn't fork for me.

Going through tens of tutorials, answers, solutions it was difficult to find a reason why GRUB keeps setting hidden menu with countdown timer set to 3 seconds. I've tried to settup

  • GRUB_TIMEOUT=1

  • GRUB_TIMEOUT=1 GRUB_HIDDEN_TIMEOUT=0 GRUB_HIDDEN_TIMEOUT_QUIET=true

  • GRUB_TIMEOUT=0 GRUB_HIDDEN_TIMEOUT=1 GRUB_HIDDEN_TIMEOUT_QUIET=true

  • GRUB_TIMEOUT=0 GRUB_HIDDEN_TIMEOUT=0 GRUB_FORCE_HIDDEN_MENU=true GRUB_TIMEOUT_STYLE=hidden

  • and others

but with no luck.

Then discovered additional scripts in /etc/grub.d/ folder (yeah, for me it is not obvious where GRUB's configs and scripts reside). Some folks recommended to comment out arrange_timeout the option in one of the scripts. However, there wasn't any sign of that. Passing through all that scripts I've found interesting line in the file 31_hold_shift:

if sleep$verbose --interruptible **3**; then

AND THAT WAS IT. Don't know where it came from, maybe it is specific to my installation, but 'thanks' to the line any settings re timeout=0 were ignored and set actually to 3sec. Changing it to 0 did the trick, thank you GNU god :)