一部のパッケージがありませんか、他のオプションがありませんか?それともgrub-mkresuceのバグですか?いくつかの例があります選択のため--core-compress=
?
$ grub-mkrescue --core-compress=xz --compress=xz -o grub.iso ./iso
grub-mkrescue: --core-compress: (PROGRAM ERROR) Option should have been recognized!?
Try 'grub-mkrescue --help' or 'grub-mkrescue --usage' for more information.
答え1
--core-compress オプションが宣言されたが実装されていないようです。 grub-mkrescueとそのヘルパーに未知のオプションを使用している場合、このオプションはxorrisoに渡され、xorrisoもオプションがわからない場合は文句を言います。
xorriso : FAILURE : -as mkisofs: Unrecognized option '--XYZ-compress=xz'
ただし、include/grub/util/install.h には GRUB の「プログラムエラー」が表示され、GRUB 「プログラムエラー」と表示されます。
{"core-compress", GRUB_INSTALL_OPTIONS_INSTALL_CORE_COMPRESS, \
"xz|none|auto", \
0, N_("choose the compression to use for core image"), 2}, \
このオプションを使用すると、数値コード GRUB_INSTALL_OPTIONS_INSTALL_CORE_COMPRESS に変換されます。 GRUBには、その番号を認識し、「xz」パラメータを読み、ユーザーが望むものを登録できるコードスニペットが必要です。
これは "--compress = xz"を使用して行われます。 install.hには次のものがあります。
{ "compress", GRUB_INSTALL_OPTIONS_INSTALL_COMPRESS, \
"no|xz|gz|lzo", 0, \
N_("compress GRUB files [optional]"), 1 }, \
util/grub-install-common.cには次のものがあります。
case GRUB_INSTALL_OPTIONS_INSTALL_COMPRESS:
if (strcmp (arg, "no") == 0
...
if (strcmp (arg, "gz") == 0)
...
if (strcmp (arg, "xz") == 0)
しかし、GRUB_INSTALL_OPTIONS_INSTALL_CORE_COMPRESSの場合、そのようなコードはありません。