soekris net6501, PXE, бригадир и порядок загрузки
Я пытаюсь подготовить 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.
И тогда он просто сидит там.
1 ответ
Методом проб и ошибок я узнал, что используя LOCALBOOT 0
Команда не работает на всех аппаратных средствах.
Вы должны иметь разные команды загрузки диска для разных устройств. Подробнее о проблемах совместимости оборудования см. В вики- сайте syslinux: http://www.syslinux.org/wiki/index.php?title=Hardware_Compatibility
Вот 3 различные команды загрузки "жесткого диска", которые мы используем, и ни одна команда не работает на всех аппаратных средствах.
KERNEL chain.c32
APPEND hd0
LOCALBOOT 0
LOCALBOOT -1
Еще одна вещь, которую я испытал, это то, что не все версии syslinux работают одинаково хорошо. Так что попробуйте разные выпуски и посмотрите, какие из них лучше всего подходят вашему HW.