Я пытаюсь настроить 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.