How is /etc/default/grub generated during installation?

I'm currently working on a project that needs kernel boot parameters added during a custom adapted Ubuntu installer (based on 14.04.3).

I know that

  • they belong into GRUB_CMDLINE_LINUX_DEFAULT in /etc/default/grub.
  • one can add configuration files to /etc/default/grub.d in order to influence the generation of /etc/default/grub.
  • the default grub seems to be available as /usr/share/grub/default/grub.
  • grub-mkconfig then takes the scripts from /etc/grub.d and settings from /etc/default/grub and generates /boot/grub/grub.cfg.

My current problem is the following: Two of my packages and mdadm place files into /etc/default/grub.d, all of them altering GRUB_CMDLINE_LINUX_DEFAULT. But for some reason, one of my files gets ignored. And I can't really find when or by what /etc/default/grub is created initially created or how I could regenerate it.


/etc/default/grub is created by the grub-pc post-installation script. You can probably regenerate in using

dpkg-reconfigure grub-pc

although I haven't tested it.