Я пытаюсь настроить Ubuntu 16.04 на soekris net6501 через мастера. Сам процесс сейчас работает довольно хорошо.
Единственное, что не делает то, что нам нужно, - это шаг после инициализации. Идея состоит в том, чтобы иметь возможность развернуть новый образ / ОС на компьютере на любом этапе и заставить его пытаться выполнить загрузку PXE по умолчанию, и переходите на локальный диск, если PXE не происходит.
Итак, когда бригадир настроен на сборку хоста, загрузка PXE работает нормально (после небольшой настройки и экспериментов), но при первой перезагрузке после завершения подготовки машина просто зависает.
PXE-M0F: Exiting Intel Boot Agent.
Если я изменю BIOS, чтобы предпочесть локальный диск, все будет хорошо. Но я не этого хочу; некоторые машины будут находиться в центре обработки данных, и возиться там с ноутбуком для игры с последовательной консолью нежелательно.
[редактировать 1 ниже]
Фрагмент из журнала бригадира:
14:45:38 foreman dhcpd: DHCPDISCOVER from 00:00:24:d2:05:bc via eth1
14:45:38 foreman dhcpd: DHCPOFFER on 192.168.0.4 to 00:00:24:d2:05:bc via eth1
14:45:42 foreman dhcpd: Dynamic and static leases present for 192.168.0.4.
14:45:42 foreman dhcpd: Remove host declaration testkris or remove 192.168.0.4
14:45:42 foreman dhcpd: from the dynamic address pool for 192.168.0.0/23
14:45:42 foreman dhcpd: DHCPREQUEST for 192.168.0.4 (192.168.0.1) from 00:00:24:d2:05:bc via eth1
14:45:42 foreman dhcpd: DHCPACK on 192.168.0.4 to 00:00:24:d2:05:bc via eth1
14:45:43 foreman in.tftpd[15186]: tftp: client does not accept options
И PXE.cfg для машины:
SERIAL 0 19200 0
CONSOLE 0
DEFAULT menu
PROMPT 0
MENU TITLE PXE Menu
TIMEOUT 200
TOTALTIMEOUT 6000
ONTIMEOUT local
LABEL local
MENU LABEL (local)
MENU DEFAULT
LOCALBOOT 0
[редактировать 2 ниже] (вывод искажен, попытался как можно лучше очистить escape-последовательности):
Intel(R) Boot Agent GE v1.3.72
Copyright (C) 1997-2010, Intel Corporation
Initializing and establishing link...
CLIENT MAC ADDR: 00 00 24 D2 05 BC
DHCP..
CLIENT IP: 192.168.0.4 MASK: 255.255.254.0 DHCP IP: 192.168.0.1
GATEWAY IP: 192.168.0.1
TFTP.
TFTP.
!PXE entry point found (we hope) at 95D2:0106 via plan AUNDI code segment at 95D2 len 5210UNDI data segment at 8F97 len 63 Getting cached packet 01 02 03My IP address seems to be C0A80004 192.168.0.4ip=192.168.0.4:192.168.0.1:192.168.0.1:255.255.254.0BOOTIF=01-00-00-24-d2-05-bcTFTP prefix: Trying to load: pxelinux.cfg/01-00-00-24-d2-05-bc ok
PXELINUX 4.05 20140113 Copyright (C) 1994-2011 H. Peter Anvin et al
@lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkx^O
PXE Menu
tqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqu
x (local) x
x x
x x
x x
x x
x x
x x
x x
x x
x x
x x
x x
mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj
Press [Tab] to edit options
Automatic boot in 1 second...
PXE-M0F: Exiting Intel Boot Agent.
И затем он просто сидит там.
Методом проб и ошибок я узнал, что использование команды LOCALBOOT 0
работает не на всем оборудовании.
Вам нужен другой диск команды загрузки для различного оборудования. Подробнее о проблемах совместимости оборудования читайте в вики syslinux: http://www.syslinux.org/wiki/index.php?title=Hardware_Compatibility#LOCALBOOT
Вот 3 различных команды загрузки с жесткого диска, которые мы используем , и нет ни одной команды, работающей на всем оборудовании.
KERNEL chain.c32
APPEND hd0
LOCALBOOT 0
LOCALBOOT -1
Еще одна вещь, которую я испытал, - не все версии syslinux работают одинаково хорошо. Поэтому попробуйте разные версии и посмотрите, какая из них лучше всего подходит для вашего HW.