Ядро Linux получает доступ к аппаратному обеспечению через BIOS или напрямую взаимодействует с аппаратным обеспечением?

Похоже, что опция --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 такого нет кодить некуда.

2
09.06.2021, 15:50
0 ответов

Теги

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