Почему grub-mkrescue не принимает опцию "--core-compress=xz"?

echo "how many times would you like to run your loop ?"
read  max

i=0
while [ "$((i+=1))" -le "$max" ]
do
   # whatever you want to do here
done
3
04.09.2018, 13:29
1 ответ

Похоже, что опция --core -Compress объявлена, но не реализована. Если вы используете опцию, неизвестную grub -mkrescue и ее помощникам, то это вариант перенаправляется в xorriso, который будет жаловаться, если он не знать вариант либо:


xorriso : FAILURE : -as mkisofs: Unrecognized option '--XYZ-compress=xz'

Но вы видите GRUB «ОШИБКА ПРОГРАММЫ», потому что include/grub/util/install.h имеет


  {"core-compress", GRUB_INSTALL_OPTIONS_INSTALL_CORE_COMPRESS,         \
      "xz|none|auto",                                           \
      0, N_("choose the compression to use for core image"), 2},        \

Если вы используете эту опцию, она преобразуется в числовой код. GRUB _УСТАНОВКА _ОПЦИИ _УСТАНОВКА _СЕРДЕЧНИК _СЖАТИЕ. Теперь 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 такого нет кодить некуда.

3
27.01.2020, 21:25

Теги

Похожие вопросы