Загрузка терминалов по HTTP необходима в двух случаях:
Даже если сеть одна и терминалов меньше сотни, все равно целесообразно использовать загрузку по HTTP. Потому что по HTTP быстрее и стабильнее. TFTP слишком простой протокол, придуманный с единственной целью помещаться в BootROM/BIOS. TFTP крайне требователен к надежности сети. Если пакеты теряются, большие файлы по TFTP будут грузиться тяжело. HTTP решает эту проблему.
Загрузка терминала по сети в любом случае начинается по TFTP. Потому что BootROM
сетевой карты, который прошит в самой карте или в BIOS материнской платы, умеет загружаться
только по TFTP. По TFTP cкачиваются два файла: wtware.http
(http.efi
для UEFI)
и wtware.http.cfg
. Все остальное будет загружаться по HTTP.
В 066 параметре DHCP как обычно указываем IP адрес TFTP сервера.
В 067 параметре DHCP указываем 5.4.24/wtware.http
вместо обычного 5.4.24/wtware.pxe
. Версию 5.4.24
надо заменить на версию wtware,
которая должна загружаться на терминал.
Для UEFI машин в 067 параметре DHCP указываем 5.4.24/http.efi
вместо обычного 5.4.24/bootx64.efi
. Версию 5.4.24
надо заменить на версию wtware,
которая должна загружаться на терминал.
WTware DHCP сервер автоматически определяет правильное значение для Legacy BIOS и UEFI компьютеров. Microsoft DHCP нужно специальным образом настраивать, чтобы он научился различать Legacy BIOS и UEFI компьютеры, эту сравнительно сложную настройку мы описали в отдельной статье про настройку Microsoft DHCP. Если у вас немного терминалов, проще делать reservations для каждого конкретного МАКа.
Для Microsoft DHCP надо проверить, что настройка 'Conflict detection attempts' установлена
в значение по умолчанию 0:
После включения терминала управление получает код BootROM, записанный в сетевой карте
или в BIOS материнской платы. Этот код делает запрос к DHCP. Затем обращается
к серверу, IP адрес которого указан в 066 параметре DHCP. По TFTP скачивает с него файл
5.4.24/wtware.http
и передает ему управление.
В файле 5.4.24/wtware.http
находится загрузчик iPXE, немного
более сложный, чем записан в BootROM или BIOS терминала. Он загружает по TFTP свой конфигурационный файл
5.4.24/wtware.http.cfg
. Затем он загружает по HTTP файлы WTware, URL которых
указаны в wtware.http.cfg
.
После включения терминала управление получает код UEFI, записанный в BIOS материнской платы.
Этот код делает запрос к DHCP. Затем обращается к серверу, IP адрес которого указан в
066 параметре DHCP. По TFTP скачивает с него файл 5.4.24/http.efi
и передает
ему управление.
UEFI достаточно новая технология. UEFI BIOS может скачать и запустить стартовый
файл WTware 5.4.24/http.efi
размером четыре мегабайта с ядром Linux и драйверами сетевых
карт. Дополнительный загрузчик для UEFI BIOS не нужен. Запускается WTware, скачивает с TFTP
конфигурационный файл 5.4.24/wtware.http.cfg
и продолжает загружать нужные файлы по HTTP,
используя адрес HTTP-сервера, порт и пути, указанные в wtware.http.cfg
.
Пути по умолчанию предполагают, что в корне HTTP-сервера лежит ссылка wtware
,
которая должна ссылаться на структуру файлов wtware:
на "C:\Program Files (x86)\WTware\TFTPDROOT\" на Windows или на содержимое каталога
wtware из .zip архива дистрибутива WTware. Например, следующие пути должны работать
для загрузки WTware версии 5.4.24:
http://IP-адрес-HTTP-сервера/wtware/Everyone/all.wtc
http://IP-адрес-HTTP-сервера/wtware/5.4.24/packages/alsa
Чтобы сделать ссылку на директорию в Windows, из командной строки Windows с правами Администратора надо выполнить:
mklink /D "C:\где-там-корень-у-IIS\wtware" "C:\Program Files (x86)\WTware\TFTPDROOT"Можно нагляднее: поставить FAR, нажать Alt-F6.
У wtware в каталоге packages много файлов без расширений. Microsoft IIS может отказаться отдавать файлы без расширений. Вы можете указать "." (точку) вместо расширения и создать MIME mapping.
Редактировать файл wtware.http.cfg
не нужно, подойдет уже имеющийся в дистрибутиве файл, если
выполняются следующие условия:
http://IP-адрес-HTTP-сервера/wtware/
указывает на корень TFTP, то есть
http://IP-адрес-HTTP-сервера/wtware/Everyone/all.wtc
и
http://IP-адрес-HTTP-сервера/wtware/5.4.24/packages/alsa
это правильные пути
к соответствующим файлам из дистрибутива WTware.Если наши пути не подходят или HTTP-сервер находится не на той же машине, что и TFTP-сервер, об этом надо сообщить терминалу. Отредактировать файл wtware.http.cfg.
Пример файла wtware.http.cfg
, если IP-адрес HTTP-сервера не совпадает с IP-адресом TFTP-сервера.
Версию 5.8.50
замените на нужную версию WTware.
#!ipxe set wtware-url http://192.168.1.1/wtware boot ${wtware-url}/5.8.50/packages/kernel BOOT_IMAGE=${wtware-url}/5.8.50/packages/kernel quiet
Пример файла wtware.http.cfg
, если и IP-адрес HTTP-сервера не совпадает с IP-адресом TFTP-сервера,
вместо цифрового IP-адреса указано доменное имя HTTP-сервера, и путь к дистрибутиву не совпадает с нашим рекомендованным.
#!ipxe set wtware-url http://www.server.local/somewere/else/ boot ${wtware-url}/5.8.50/packages/kernel BOOT_IMAGE=${wtware-url}/5.8.50/packages/kernel quiet