Сборка универсального загрузочного образа и файла iPXE-загрузчика
Чтобы собрать универсальный загрузочный образ и файл iPXE-загрузчика, выполните шаги:
-
Установите необходимые пакеты и зависимости, выполнив команду:
apt install gcc binutils make perl syslinux git
-
Скопируйте исходный код для сборки iPXE-загрузчика, выполнив команду:
mkdir ipxe git clone https://github.com/ipxe/ipxe.git
-
Добавьте поддержку params and param, выполнив команду:
sed -i 's,//#define PARAM_CMD,#define PARAM_CMD,' ipxe/src/config/general.h cd ipxe/src
-
Соберите файл iPXE-загрузчика для UEFI, выполнив команду:
make bin-x86_64-efi/ipxe.efi
-
Соберите файл iPXE-загрузчика для BIOS Legacy, выполнив команду:
make bin/undionly.kpxe
-
Соберите файл iPXE-загрузчика для BIOS, выполнив команду:
make bin/ipxe.lkrn
Чтобы собрать универсальный загрузочный образ и файл iPXE-загрузчика для доверенной установки (см. раздел «Дополнительные настройки при работе по HTTPS (доверенная установка ОС)»), выполните шаги:
-
Установите необходимые пакеты и зависимости, выполнив команду:
apt install gcc binutils make perl mtools genisoimage syslinux openssl nginx sbsigntool git uuid-runtime efitools liblzma-dev
-
Скопируйте исходный код для сборки iPXE-загрузчика, выполнив команду:
mkdir ipxe git clone https://github.com/ipxe/ipxe.git
-
Добавьте поддержку HTTPS, выполнив команду:
sed -i 's/#undef\tDOWNLOAD_PROTO_HTTPS/#define\tDOWNLOAD_PROTO_HTTPS/' ipxe/src/config/general.h
-
Добавьте поддержку params and param, выполнив команду:
sed -i 's,//#define PARAM_CMD,#define PARAM_CMD,' ipxe/src/config/general.h cd ipxe/src
-
Соберите файл iPXE-загрузчика с корневым сертификатом сертификат (открытый ключ) УЦ, выполнив команду:
make bin-x86_64-efi/ipxe.efi CERT=${path}/rootCA.crt TRUST=${path}/rootCA.crt -
Соберите файл iPXE-загрузчика для BIOS Legacy с корневым сертификатом (открытый ключ) УЦ, выполнив команду:
make bin/undionly.kpxe CERT=${path}/rootCA.crt TRUST=${path}/rootCA.crt -
Соберите файл 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.