[Sysadmins] Как реализовать pxelinux chaining boot?

Sergey Vlasov vsu на altlinux.ru
Пт Мар 4 21:14:07 UTC 2011


On Wed, 02 Mar 2011 20:41:00 +0300 Michael A. Kangin wrote:

> Хочется странного: 
> чтобы pxelinux.0, грузившись, рисовал меню, при выборе какого-то пункта
> которого загружался бы файлик с другого tftp-сервера (с другого IP).
> 
> У меня мысль думает в две стороны:
> - может быть, можно как-то напрямую грузить нужный файл с нужного
> tftp-сервера?

Можно (kernel <ip-address>::<file>), но в данном случае этого мало.

> - может быть, можно инициировать еще один DHCP-запрос с особо
> выставленными опциями (client-identificator там какой), а уж DHCP-сервер
> разберётся, что ответить?

Сам по себе pxelinux вообще не умеет посылать DHCP-запросы - это делает
PXE-стек; впрочем, эту функцию может выполнять gPXE (или iPXE).  Однако
в некоторых случаях достаточно просто исправить ответ DHCP-сервера прямо
в памяти перед запуском загруженного кода.

> Пока что попытки погуглить просветления не принесли.
> 
> Зачем мне это надо: нужно сделать загрузочный сервер для установки
> разных версий Windows. А сетевой загрузчик windows, известный как
> startrom, грузит свои ntldr и ntdetect.com исключительно из корня
> tftp-сервера. А эти файлы разные для разных виндусов. Поэтому, надо или
> разводить tftp-сервера по разным IPшникам, или хачить эти файлы на
> предмет имён загружаемого, да ещё с пересчётом контрольных сумм, что 
> лично мне претит по религиозным причинам.

Как раз для этого сделан pxechain.com (вообще-то в оригинале он должен
был быть .cbt, но в релиз засунули в виде .com; впрочем, работать это
ему не должно мешать).

  label windoze
    comboot pxechain.com
    append 192.168.1.2::startrom.com


Подробная информация о списке рассылки Sysadmins