Подготовка артефактов
Подготовьте артефакты для универсального загрузочного образа (для загрузки по сети с медианосителя), а также все iPXE-загрузчики (для загрузки по сети). Ниже приведен перечень всех артефактов в структурированном виде:
-
iso-builder— каталог для сборки универсального загрузочного образа:-
ipxe.bin-x86_64-pcbios— каталог, содержащий ядро iPXE для BIOS:-
ipxe.lkrn— iPXE-загрузчик для BIOS;
-
-
isohdpxf.bin— файл для создания MBR-раздела на носителе для BIOS; -
isolinux— каталог с файлами для загрузки с загрузочного образа (ISO) через ISOLINUX:-
isolinux.bin— файл для поддержки загрузки с носителя в BIOS; -
ldlinux.c32— файл для поддержки загрузки с носителя в BIOS; -
menu.c32— файл для поддержки загрузки c носителя в BIOS;
-
-
uefi— каталог для загрузки в UEFI:-
ipxe-x86_64.efi— iPXE-загрузчик для UEFI;
-
-
-
pxe— каталог с файлами для загрузки по сети (PXE):-
pcbios— каталог с файлами для загрузки в среде BIOS:-
undionly.kpxe— iPXE-загрузчик для загрузки по сети для BIOS и UEFI LEGACY;
-
-
uefi— каталог с файлами для загрузки в среде UEFI:-
ipxe-x86_64.efi— iPXE-загрузчик для загрузки по сети для.
-
-
| iPXE-загрузчик для UEFI унифицирован — один и тот же файл используется для сборки универсального загрузочного образа, а также для загрузки по сети. |
Для получения исполняемых файлов загрузчика ISOLINUX можно установить пакеты syslinux-common, выполнив команду:
apt install isolinux syslinux-common
После установки пакетов необходимые файлы будут доступны по путям:
/usr/lib/ISOLINUX /usr/lib/syslinux/modules/bios (ldlinux.c32, menu.c32)
Для получения исполняемых файлов загрузчика iPXE ipx.lkrn, ipxe-x86_64.efi и undionly.kpxe используйте
инструкции, приведенные ниже. В инструкциях рассмотрены примеры создания файлов, используемых для загрузки ОС
по протоколам HTTP и HTTPS.
-
Установите необходимые пакеты и зависимости, выполнив команду:
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
| При работе по HTTPS не забудьте также выполнить дополнительные настройки модуля установки ОС (см. раздел «Дополнительные настройки при работе по 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}— путь к корневому сертификату УЦ; значение переменной определяется администратором при выполнении соответствующей команды.