LINUX.ORG.RU
ФорумAdmin

ipxe — он в ROM сетевухи или она его загружает?

 


0

1

Никак не могу разобраться, подскажите пожалуйста.

Когда dhcpd отдает сетевухе filename «menu.ipxe», в котором просто текстовый файл:

``` menu title PXE Boot Menu

timeout 50 default Network

label Network menu label Boot from PXE server kernel Image initrd uRamdisk ```

то кто этот файл читает и показывает? Сама прошивка сетевухи, верно?

да, но это не обязательно должно лежать «на флешке» сетевухи. можно загрузить в озу и другими способами, например, с дискетки, хаха :)


Replacing an existing PXE ROM
You can replace the PXE ROM on your network card (or motherboard) with iPXE. This is useful if you want the machine to always be able to boot using iPXE, without depending on a CD-ROM or a chainloader.
You will need to build a ROM image for your specific network card

https://ipxe.org/download раздел «Replacing an existing PXE ROM»

aol ★★★★★
()
Последнее исправление: aol (всего исправлений: 1)

в boot-rom (pxe boot) находятся dhcp и tftp клиент

dhcp-сервер должен отдать server-name, next-server и filename чтобы клинт мог загрузиться.

Клиент грузит исполняемый файл указанный в filename и запускает его. Дальше клиент через pxe дозагружает необходимые файлы.

vel ★★★★★
()
Ответ на: комментарий от vel

Клиент грузит исполняемый файл указанный в filename и запускает его.

Вот я об этом и спрашиваю. Получается, что если сетевуха не умеет ipxe, то ей надо сначала загрузить какой-то загрузчик, например тот же ipxe и тогда она уже сможет что-то сделать, например сходить по http за ядром. А если умеет ipxe, то ей можно сразу отдать текстовый конфиг загрузки. Верно?

max_lapshin ★★★★★
() автор топика
Ответ на: комментарий от max_lapshin

да, примерно так.

в случае если в сетевой карте есть возможность загрузки с PXE, будет вытянут с tftp загрузчик (например можно использовать pxelinux или ipxe) и загружено то что требуется.

в случае если такой возможности нет, то на помощь всегда придет ipxe запущенное например с usb или cdrom.

ну а для особо странных случаев, на некоторые сетевки можно залить IPXE в качестве PXE boot ROM и например сразу вшить нужный конфиг для загрузки с https или nfs или еще как-нибудь, ну либо вшить ссылку на конфиг :).

ktk ★★★★
()
Последнее исправление: ktk (всего исправлений: 1)

На работе много всякого компьютерного хлама древнего и не очень, но ни разу не встречал машин, которые не хотели бы с pxe грузиться.

Deleted
()
Ответ на: комментарий от max_lapshin

А если умеет ipxe, то ей можно сразу отдать текстовый конфиг загрузки. Верно?

нет.

Нет смысла такое стандартизировать. Загружай свой бинарик и дальше делай что хочешь.

vel ★★★★★
()
Ответ на: комментарий от vel

ну как это? я в первом комментарии дал ссылку на тот самый сайт iPXE, на котором можно собрать ром для своей сетевухи и пользоваться всеми благами из коробки без чейнлоадеров.

это и есть «сетевуха умеет в ipxe» :)

aol ★★★★★
()
Ответ на: комментарий от aol

я в первом комментарии дал ссылку на тот самый сайт iPXE

не все сетевки смогут так работать.

но да, это самый приятный в использовании вариант.

ktk ★★★★
()
Ответ на: комментарий от aol

Адский комбайн этот iPXE :)

Если использовать *PXE как основной метод загрузки, то возможно да, iPXE будет более правильным выбором.

А если использовать его как аварийное средство восстановления, то не вижу смысла так заморачиваться с iPXE при наличии PXE.

vel ★★★★★
()
Ответ на: комментарий от vel

не, мне основное средство загрузки железки.

Я уже понял, что если железка не умеет ipxe, то ей можно отдать ipxe фирмварь на загрузку и она повторно прийдет за dhcp и там уже можно отдать скрипт загрузки

max_lapshin ★★★★★
() автор топика
Ответ на: комментарий от max_lapshin

Не уметь именно ipxe можно разными способами, не иметь bootROM вовсе - но лично я такого не встречал, либо иметь bootROM обычный, который может только получить и запустить некий файлик по tftp. Что именно умеет bootROM, он говорит dhcp серверу в запросе соответствующими флагами. Если в сетевуху уже вшит iPXE, он и ставит флаг iPXE в запросе адреса dhcp. При этом можно научить dhcp сервер уже отдавать скрипт, который обработает твоя iPXE из bootROM. А если такого флага нет, то сервер тебе отдаст iPXE бинарь, тоже есть варианты, либо если ты вкомпилировал в эту бинарь скрипт, то эта бинарь будет отрабатывать его. Если нет, то она сделает ещё один запрос к dhcp серверу уже с флагом iPXE, на что сервер отдаст скрипт. В общем, это несколько дольше, но не надо ничего шить и вкомпилировать, да и менять скрипт проще.

olegkrutov ★★
()

то кто этот файл читает и показывает? Сама прошивка сетевухи, верно?

Нет, предварительно загруженный по PXE бинарь iPXE.

Deleted
()
Ответ на: комментарий от Deleted

Иногда встроенный кривой, или надо грузиться не через встроенную карту, но что-то идёт не так. Или надо UEFI вместо BIOS, но в списке загрузки только PXE через CSM.

boowai ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.