PXE-загрузка EFI Livecd - CentOS

У меня есть старый PXE-сервер, который делает все, что нам нужно в моей компании, и записи, которые загружаются на (настраиваемый) CentOS 7 livecd, опять же, в устаревшем PXE.

Я бы хотел заставить эти вещи работать под EFI PXE.

До сих пор, в зависимости от того, какой файл .efi я указывал в моем dhcpd.conf , я могу заставить разные вещи отображаться на экране системы загрузки EFI PXE для разных грузы; в основном, я знаю, что загрузка EFI PXE работает в моей сети.

Моя проблема заключается в том, какой образ .efi использовать, который будет выполнять нужные мне функции; в идеале я бы имел все функции моего устаревшего меню PXE только в EFI, но в первую очередь меня интересует, чтобы мой CentOS 7 Livecd загружался с EFI PXE.

Работа с этим сообщением на форуме и grubx64.efi , Мне удалось получить загрузочную систему EFI PXE для загрузки grub и содержимого файла grub.cfg .

Внутри grub.cfg с форума post, я изменил запись меню, чтобы она соответствовала тем же параметрам, которые я передаю с моей предыдущей записью меню PXE (обратите внимание, что прокомментированная строка является исходной строкой "linuxefi" из сообщения):

menuentry 'Install CentOS 7' {
   #linuxefi /centos7-net/vmlinuz inst.repo=http://buildlogs.centos.org/centos/7/os/x86_64-latest/
   linuxefi /livecd/vmlinuz initrd=/livecd/initrd.img ksdevice=bootif lang=  root=live:/boot.iso kssendmac text  ks=http://XX.XX.24.21/cblr/svc/op/ks/profile/LiveCD
   initrdefi /livecd/initrd.img

Оба vmlinuz и файлы initrd.img , которые работают с устаревшим PXE, присутствуют, а разрешения установлены таким образом, что любой может читать.

Я получаю из этого ошибку:

«Ошибка: невозможно загрузить initrd "

Но я не знаю, как это исправить. Initrd находится в пути, указанном как в параметрах ядра, так и в записи строки initrdefi .

Кто-нибудь делал это раньше?

Как в целом администрировать сервер PXE EFI - управление меню, подменю, установка ОС и т. Д.?

1
задан 16 June 2017 в 00:31
1 ответ

на PXE можно загрузить по TFTP ядро и initrd и все; остальное, т.е. большой файл squahfs, реализующий живой дистрибутив, будет шуреллирован HTTP или SMB ресурсом (NFS также опция).

тогда кроме ошибки, которую вы получите об отсутствии возможности загрузить initrd, вы не сможете загрузить живой образ с помощью

root=live:/boot.iso 

, который не имеет запрашиваемой сетевой информации. попробуйте посмотреть, как это делает Serva здесь:

https://www.vercot.com/~serva/an/NonWindowsPXE3.html

;-Serva v3.0 Non-Windows Asset Information File 
;-Boot/Install:
;  Red Hat Enterprise Linux / CentOS Linux
;-Tested on:
;  rhel-server-7.3-x86_64-dvd.iso
;  rhel-server-7.3-x86_64-boot.iso 
;  rhel-workstation-7.3-x86_64-dvd.iso
;  rhel-workstation-7.3-x86_64-boot.iso
;  rhel-client-7.3-x86_64-dvd.iso
;  rhel-client-7.3-x86_64-boot.iso
;
;  rhel-server-7.2-x86_64-dvd.iso
;  rhel-server-7.2-x86_64-boot.iso
;  rhel-workstation-7.2-x86_64-dvd.iso
;  rhel-workstation-7.2-x86_64-boot.iso
;  rhel-client-7.2-x86_64-dvd.iso
;  rhel-client-7.2-x86_64-boot.iso
;
;  rhel-atomic-installer-7.2-10.x86_64.iso
;
;  CentOS-7-x86_64-DVD-1611.iso
;  CentOS-Atomic-Host-7.1704-Installer.iso
;
;  rhel-workstation-6.5-x86_64-dvd.iso
;  rhel-server-6.5-x86_64-dvd.iso
;  CentOS-6.5-x86_64-bin-DVD1.iso
;
;-Require:
;  \SERVA_REPO\ offered as HTTP root
;-Notes:
; For KickStart
;  7.3 > Add to append  inst.ks=http://$IP_BSRV$/NWA_PXE/$HEAD_DIR$/images/pxeboot/ks.cfg
;  7.2 > Add to append  ks=http://$IP_BSRV$/NWA_PXE/$HEAD_DIR$/images/pxeboot/ks.cfg
[PXESERVA_MENU_ENTRY]
asset    = RHEL Server 7.3
platform = x86_64

kernel_bios    = /NWA_PXE/$HEAD_DIR$/images/pxeboot/vmlinuz
append_bios    = initrd=/NWA_PXE/$HEAD_DIR$/images/pxeboot/initrd.img inst.repo=http://$IP_BSRV$/NWA_PXE/$HEAD_DIR$/
;7.2 > append_bios    = initrd=/NWA_PXE/$HEAD_DIR$/images/pxeboot/initrd.img root=live:http://$IP_BSRV$/NWA_PXE/$HEAD_DIR$/LiveOS/squashfs.img ksdevice=bootif repo=http://$IP_BSRV$/NWA_PXE/$HEAD_DIR$/
;6.x > append_bios    = initrd=/NWA_PXE/$HEAD_DIR$/images/pxeboot/initrd.img method=http://$IP_BSRV$/NWA_PXE/$HEAD_DIR$ noipv6 ksdevice=bootif
ipappend_bios   = 2

kernel_efi64   = /NWA_PXE/$HEAD_DIR$/images/pxeboot/vmlinuz
append_efi64   = initrd=/NWA_PXE/$HEAD_DIR$/images/pxeboot/initrd.img inst.repo=http://$IP_BSRV$/NWA_PXE/$HEAD_DIR$/
;7.2 > append_efi64   = initrd=/NWA_PXE/$HEAD_DIR$/images/pxeboot/initrd.img root=live:http://$IP_BSRV$/NWA_PXE/$HEAD_DIR$/LiveOS/squashfs.img ksdevice=bootif repo=http://$IP_BSRV$/NWA_PXE/$HEAD_DIR$/
ipappend_efi64 = 2

Я связан с разработкой Serva.

.
1
ответ дан 3 December 2019 в 23:29

Теги

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