I found out what broke my system some weeks ago... /etc/grub.d/00_header contains non-POSIX compliant "function" keyword, and for some reason the files in /etc/grub.d were concatenated and replaced my /etc/default/grub, which caused the #grub reconfiguration to fail after a kernel update! Because #VoidLinux uses the dash shell by default, and for some reason that 00_header script, owned by the grub package, is written for #bash apparently.
I don't even know who to report this to, is it even a bug? A bug in GRUB2, perhaps? Or should Void packages be the ones to handle this? Why was my /etc/default/grub replaced in the first place (perhaps its something to do with #snapper??)
Anyway, the temporary(?) solution I've found is to copy someone's /etc/default/grub file from #AskUbuntu: https://askubuntu.com/a/829325
They had the same issue as me 9 years ago, but it was never explained, and I think I may have figured it out now. IIRC, Ubuntu also uses the dash shell.



(he/him)

