Назад | Перейти на главную страницу

Ошибка загрузки pxe с сообщением: не найдена директива конфигурации DEFAULT или пользовательского интерфейса

Я пытаюсь загрузить машину (клиент) с помощью pxe, и в процессе я пытаюсь настроить tftp-сервер, с которого эта машина может загружаться.

На сервере под управлением Ubuntu 10.10 у меня установлены серверы dhcp, dns, nfs и tftp-hpa. Все сервера / демоны запускаются нормально. Я протестировал tftp-сервер, используя tftp-клиент и загрузив файл, который находится в каталоге сервера.

Мой /etc/xinet.d/tftp выглядит так

service tftp
{
    disable                 = no
    socket_type             = dgram
    wait                    = yes
    user                    = nobody
    server                  = /usr/sbin/in.tftpd
    server_args             = -v -s /var/lib/tftpboot
    only_from   = 10.1.0.0/24
    interface   = 10.1.0.1
}

Мой / etc / default / tftpd-hpa выглядит так

RUN_DAEMON="yes"
OPTIONS="-l -s /var/lib/tftpboot"
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/var/lib/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure"

Мой /var/lib/tftpboot/ каталог выглядит так

 initrd.img-2.6.35-25-generic-pae
 vmlinuz-2.6.35-25-generic-pae
 pxelinux.0
 pxelinux.cfg
   -- default

я сделал

 sudo chmod 644 /var/lib/tftpboot/pxelinux.cfg/default
 chmod 755 /var/lib/tftpboot/initrd.img-2.6.35-25-generic-pae
 chmod 755 /var/lib/tftpboot/vmlinuz-2.6.35-25-generic-pae

/var/lib/tftpboot/pxelinux.cfg имеет следующее содержимое

 SERIAL 0 19200 0
 LABEL linux
 KERNEL vmlinuz-2.6.35-25-generic-pae
 APPEND root=/dev/nfs initrd=initrd.img-2.6.35-25-generic-pae nfsroot=10.1.0.1:/nfsroot ip=dhcp console=ttyS0,19200n8 rw

Я скопировал /var/lib/tftpboot/pxelinux.0 из /usr/lib/syslinux/ после установки пакета syslinux-common.

Также для полноты картины, /etc/dhcp3/dhcpd.conf следующие строки (относящиеся к этому интерфейсу)

subnet 10.1.0.0 netmask 255.255.255.0 {
  range 10.1.0.100 10.1.0.240;
  option routers 10.1.0.1;
  option broadcast-address 10.1.0.255;
  option domain-name-servers 10.1.0.1;
  filename "pxelinux.0";
}

Когда я загружаю клиентскую машину и смотрю вывод через последовательный порт, я замечаю, что клиент запрашивает IP-адрес с сервера и получает его. Затем я вижу, что отображается TFTP - это означает, что он пытается подключиться к серверу TFTP. Это удается, и я вижу TFTP.|, которые сразу же возвращаются со следующим сообщением

PXELINUX 4.01 debian-20100714  Copyright (C) 1994-2010 H. Peter Anvin et al
No DEFAULT or UI configuration directive found!
boot: 

/var/log/syslog показывает

Feb 20 15:24:05 ch in.tftpd[2821]: tftp: client does not accept options

О каком варианте идет речь в системном журнале? Я предполагаю, что это относится к OPTIONS или TFTP_OPTIONS, но что я делаю не так?

для "директива конфигурации по умолчанию или пользовательского интерфейса не найдена"попробуйте изменить

from  KERNEL vmlinuz-2.6.35-25-generic-pae
      APPEND ....optopns...
to    DEFAULT vmlinuz-2.6.35-25-generic-pae ....options...

или используйте меню пользовательского интерфейса. это поможет мне с ubuntu 10.10 pxeboot.0

Будьте осторожны при использовании правильных версий menu.c32 или vesamenu.c32. В противном случае вы получите сообщение об ошибке: «Menu.c32 not a com32r file». Правильные версии этих файлов можно найти в каталоге / boot. Кроме того, если родительская система 64-битная, вам потребуются установленные 32-битные библиотеки. В приведенном выше примере «default menu.c32» больше не работает, он должен остаться: UI menu.c32 или UI vesamenu.c32.

Вам не хватает значения по умолчанию в файле DEFAULT - в вашем случае /var/lib/tftpboot/pxelinux.cfg должен иметь

"DEFAULT linux"

строка в начале.

Вам не хватает записи по умолчанию в /var/lib/tftpboot/pxelinux.cfg/default

У меня такая же проблема.

Вот содержимое моего файла по умолчанию:

DEFAULT menu.c32

prompt 0

timeout 5

LABEL linux

        menu default
        menu label Linux
        KERNEL fc1/vmlinuz-2.4.22-1.2115.nptl
        APPEND initrd=fc1/pxeboot.img.gz ramdisk=8192

меню по умолчанию это необходимо.

Вот запись в Syslinux вики