I’ve tried various stuff to remove GNU/Linux using a /etc/grub.d/ folder drop-in configuration script.
file /etc/grub.d/50_ungnu
sudo touch /etc/grub.d/50_ungnu
sudo chmod +x /etc/grub.d/50_ungnu
#!/bin/bash
set -x
cp /boot/grub/grub.cfg.new /boot/grub/grub.cfg.new.tmp
sed -i 's# GNU/Linux##g' /boot/grub/grub.cfg.new.tmp
cp /boot/grub/grub.cfg.new.tmp /boot/grub/grub.cfg.new
file /etc/grub.d/90_end
sudo touch /etc/grub.d/90_end
sudo chmod +x /etc/grub.d/90_end
#!/bin/bash
echo "### TEST"
But that adds some weird characters.
### BEGIN /etc/grub.d/50_ungnu ###
\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00### END /etc/grub.d/50_ungnu ###
### BEGIN /etc/grub.d/90_end ###
### TEST
### END /etc/grub.d/90_end ###
Alternatively
sed -i 's# GNU/Linux##g' /boot/grub/grub.cfg.new
But that breaks grub-mkconfig. The only thing that gets added.
### BEGIN /etc/grub.d/50_ungnu ###
Any files after it such as /etc/grub.d/90_end will not be properly processed anymore.
I guess that could be because /usr/sbin/grub-mkconfig is using:
exec > "${grub_cfg}.new"
Patching /boot/grub/grub.cfg would also be interesting to change (after above works) default menu entry Whonix to Whonix Persistent which would be useful for multiple boot modes for better security: persistent user | live user | persistent secureadmin | persistent superadmin | persistent recovery mode.
Any solution for above? Or any other hook that could be used to patch /boot/grub/grub.cfg?