Сборка универсального загрузочного образа и файла iPXE-загрузчика

Чтобы собрать универсальный загрузочный образ и файл iPXE-загрузчика, выполните шаги:

  1. Установите необходимые пакеты и зависимости, выполнив команду:

    apt install gcc binutils make perl syslinux git
  2. Скопируйте исходный код для сборки iPXE-загрузчика, выполнив команду:

    mkdir ipxe
    git clone https://github.com/ipxe/ipxe.git
  3. Добавьте поддержку params and param, выполнив команду:

    sed -i 's,//#define PARAM_CMD,#define PARAM_CMD,' ipxe/src/config/general.h
    cd ipxe/src
  4. Соберите файл iPXE-загрузчика для UEFI, выполнив команду:

    make bin-x86_64-efi/ipxe.efi
  5. Соберите файл iPXE-загрузчика для BIOS Legacy, выполнив команду:

    make bin/undionly.kpxe
  6. Соберите файл iPXE-загрузчика для BIOS, выполнив команду:

    make bin/ipxe.lkrn

Чтобы собрать универсальный загрузочный образ и файл iPXE-загрузчика для доверенной установки (см. раздел «Дополнительные настройки при работе по HTTPS (доверенная установка ОС)»), выполните шаги:

  1. Установите необходимые пакеты и зависимости, выполнив команду:

    apt install gcc binutils make perl mtools genisoimage syslinux openssl nginx sbsigntool git uuid-runtime efitools liblzma-dev
  2. Скопируйте исходный код для сборки iPXE-загрузчика, выполнив команду:

    mkdir ipxe
    git clone https://github.com/ipxe/ipxe.git
  3. Добавьте поддержку HTTPS, выполнив команду:

    sed -i 's/#undef\tDOWNLOAD_PROTO_HTTPS/#define\tDOWNLOAD_PROTO_HTTPS/' ipxe/src/config/general.h
  4. Добавьте поддержку params and param, выполнив команду:

    sed -i 's,//#define PARAM_CMD,#define PARAM_CMD,' ipxe/src/config/general.h
    cd ipxe/src
  5. Соберите файл iPXE-загрузчика с корневым сертификатом сертификат (открытый ключ) УЦ, выполнив команду:

    make bin-x86_64-efi/ipxe.efi CERT=${path}/rootCA.crt TRUST=${path}/rootCA.crt
  6. Соберите файл iPXE-загрузчика для BIOS Legacy с корневым сертификатом (открытый ключ) УЦ, выполнив команду:

    make bin/undionly.kpxe CERT=${path}/rootCA.crt TRUST=${path}/rootCA.crt
  7. Соберите файл iPXE-загрузчика для BIOS с корневым сертификатом (открытый ключ) УЦ, выполнив команду:

    make bin/ipxe.lkrn CERT=${path}/rootCA.crt TRUST=${path}/rootCA.crt

    Где переменная ${path} — путь к корневому сертификату УЦ; значение переменной определяется администратором при выполнении соответствующей команды.

После создания файлов iPXE-загрузчика разместите их:

  • make bin-x86_64-efi/ipxe.efi — на HTTP(S)-сервере и TFTP-сервере;

  • make bin/undionly.kpxe — на TFTP-сервере;

  • make bin/ipxe.lkrn — на HTTP(S)-сервере.

Также в конфигурационном файле application.properties модуля osmax-provisioner укажите абсолютные пути до файлов make bin-x86_64-efi/ipxe.efi и make bin/ipxe.lkrn.