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

Конвертировать PXELINUX в ​​gPXE

У меня есть текущая рабочая установка PXELINUX с меню для другой версии ОС. Недавно я попытался добавить к нему установщик VMware. Это выглядело великолепно до момента, когда я не мог загрузить необходимые файлы. Сама VMware заявляет, что использование TFTP для загрузки всех файлов - не лучший вариант, особенно если у вас высоконагруженная сеть, и они рекомендуют для этого использовать HTTP / gPXE.

Итак, я искал внедрение gPXE. Но все мои несколько попыток до сих пор не работали, и я не уверен, в чем проблема на данный момент.

Для начала я изменил имя файла в конфигурации DHCP, чтобы указать на gpxelinux.0 вместо pxelinux.0. Система загружается, показывает gPXE, но не обрабатывает дальше. Он получает DHCP, а затем показывает

No filename or root path specified

Я также попытался загрузить gPXE по цепочке из конфигурации PXELINUX, которая вернулась с теми же ошибками.

Я читал некоторые документы относительно gPXE, и все они используют источник HTTP для имени файла в конфигурации DHCP. Я попробовал это дальше, но он уже показывает мне ошибки TFTP

PXE-T01: File not found PXE-E3B: TFTP Error - File Not found

На данный момент я не знаю, что еще попробовать. Я уже скопировал весь TFTP на HTTP-сервер, попытался использовать скрипты gPXE, которые перепишут источник с использованием опции DHCP 209/210. Но все они терпят неудачу, потому что я не могу загрузить его в конфигурацию DHCP с помощью HTTP.

Может ли кто-нибудь дать мне несколько советов о том, где искать ошибки или как я могу преобразовать мой текущий PXELINUX в ​​gPXE.

Любая помощь очень ценится.

ОБНОВИТЬ:

Я играл, и, наконец, он заработал. Была ошибка в конфиге DHCP. Вот что я сейчас использую:

class "pxeclients" { match if substring(option vendor-class-identifier, 0, 9) = "PXEClient"; if exists user-class and option user-class = "gPXE" { filename "http://10.140.160.203/boot.gpxe"; } else { next-server 10.140.160.203; filename "/gpxelinux.0"; } }

И boot.gpxe по цепочке загружает мою конфигурацию pxelinux

#!gpxe imgfree chain http://10.140.160.203/vesamenu.c32 http://10.140.160.203/pxelinux.cfg/default

Это хороший подход или нужно еще кое-что знать?

Вам не нужно переходить на gPXE, поскольку lpxelinux.0 (Syslinux 6.03) поддерживает HTTP-передачу.

Также, если вы устанавливаете VMware VMvisor (например, VMware-VMvisor-Installer-6.0.0-2494585.x86_64.iso), вы можете сделать это просто с помощью обычного TFTP, если вы правильно настроили свою среду. т.е. если вы пытаетесь установить его, используя iso и мемдиск техника у вас обязательно не получится. вместо этого вы можете использовать mboot подходить; из Сервы сайт:

kernel   = /NWA_PXE/$HEAD_DIR$/mboot.c32
append   = -c /NWA_PXE/$HEAD_DIR$/BOOT.CFG