Назад | Перейти на главную страницу

EFI Livecd с загрузкой PXE - 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 из сообщения на форуме, я изменил запись меню, чтобы она соответствовала тем же параметрам, которые я передаю с моей устаревшей записью меню 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 - управление меню, подменю, установкой ОС и т. Д.?

в 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

Я имею отношение к развитию Сервы.