У меня есть устаревший сервер 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
Я имею отношение к развитию Сервы.