Whonix-Host: chainboot /boot/grub/grub.cfg to keep Whonix-Host ISO kernel boot parameters synchronized with Whonix-Host Installed

Goal: keep Whonix-Host ISO kernel boot parameters synchronized with Whonix-Host Installed with no manual code changes requires as kernel boot parameters change.

In both cases…
(isolinux → chainload grub?)

Could we embed /boot/grub/grub.cfg to keep kernel boot parameters of Whonix-Host in ISO mode in sync with Whonix-Host Installed?

What I mean by embed:

  • grub supports a feature similar to bash’s source command
  • (Or sh’s . command).
  • GNU GRUB Manual 2.12
  • GNU GRUB Manual 2.12
    • Command: configfile file

      • Load file as a configuration file. If file defines any menu entries, then show a menu containing them immediately. Any environment variable changes made by the commands in file will not be preserved after configfile returns.

  • GNU GRUB Manual 2.12
    • Command: source file

      • Read file as a configuration file, as if its contents had been incorporated directly into the sourcing file. Unlike configfile (see configfile), this executes the contents of file without changing context: any environment variable changes made by the commands in file will be preserved after source returns, and the menu will not be shown immediately.


Ideally grub.cfg runs “source /boot/grub/grub.cfg”.

isolinux.cfg → chainboots grub → “source /boot/grub/grub.cfg”…

source /boot/grub/grub.cfg” might not work as if. Might need to define device somehow.

Attempted an implementation:

Reverted in favor of an implementation:

https://github.com/Kicksecure/grml-debootstraptest/blob/master/grub-raw-cfg-to-grub-iso-cfg

A better solution was implemented in derivative-maker/build-steps.d/2800_create-lb-iso at master · Kicksecure/derivative-maker · GitHub by @arraybolt3.