Parece que a opção --core-compress está declarada, mas não implementada. Se você usar uma opção desconhecida para o grub-mkrescue e seus ajudantes, então opção é encaminhada para xorriso, que irá reclamar se não conheça a opção:
xorriso : FAILURE : -as mkisofs: Unrecognized option '--XYZ-compress=xz'
Mas você vê um GRUB "PROGRAM ERROR", porque include / grub / util / install.h tem
{"core-compress", GRUB_INSTALL_OPTIONS_INSTALL_CORE_COMPRESS, \
"xz|none|auto", \
0, N_("choose the compression to use for core image"), 2}, \
Se você usar a opção, ela será traduzida no código numérico GRUB_INSTALL_OPTIONS_INSTALL_CORE_COMPRESS. Agora o GRUB deve ter em algum lugar um pedaço de código que reconheça número, lê o argumento "xz" e registra o desejo do usuário.
Isso é feito com "--compress = xz". install.h tem:
{ "compress", GRUB_INSTALL_OPTIONS_INSTALL_COMPRESS, \
"no|xz|gz|lzo", 0, \
N_("compress GRUB files [optional]"), 1 }, \
e util / grub-install-common.c tem:
case GRUB_INSTALL_OPTIONS_INSTALL_COMPRESS:
if (strcmp (arg, "no") == 0
...
if (strcmp (arg, "gz") == 0)
...
if (strcmp (arg, "xz") == 0)
Mas para o GRUB_INSTALL_OPTIONS_INSTALL_CORE_COMPRESS, não existe código em nenhum lugar.