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

Загрузка PXE - ядро ​​не найдено на сервере TFTP

Я перешел по следующей ссылке для загрузки PXE, http://www.howtoforge.com/setting-up-a-pxe-install-server-on-ubuntu-9.10-p3

и я смог проверить связь с клиентом с сервера, а также, когда я загрузил клиент, он получает IP-адрес с сервера.

Но позже я получил эту ошибку

PXELinux 3.82 2009-06-09
. . . [other informations]
!PXE Entry point found (we hope) at 9D3B:0109 via plan A
UNDI code segment at 9D3B len 16C2
UNDI data segment at 933B len A000
Getting cached packet 01 02 03
. . . [other informations]
TFTP prefix:
Trying to load: pxelinux.cfg/ec5db4c0-74fe-d511-b9e7-3d9235afe5a1
Trying to load: pxelinux.cfg/01-00-17-31-b6-5e-a8
Trying to load: pxelinux.cfg/0A64491E
Trying to load: pxelinux.cfg/0A64491
Trying to load: pxelinux.cfg/0A6449
Trying to load: pxelinux.cfg/0A644
Trying to load: pxelinux.cfg/0A64
Trying to load: pxelinux.cfg/0A6
Trying to load: pxelinux.cfg/0A
Trying to load: pxelinux.cfg/0
Trying to load: pxelinux.cfg/default
Unable to locate configuration file
Boot failed: press a key to retry or wait for reset

Я поместил все файлы, упомянутые в ссылке, в tftpboot. Может кто-нибудь объяснить, в чем может быть проблема.

Вы можете попробовать запустить tcpdump (или wirehark) на загрузочном сервере и посмотреть, что запрашивает клиент. Лично мне нравится видеть, что происходит в сети, поскольку это правда, полная правда и только правда;) и это помогает мне определить, что происходит на самом деле.

Говоря о разрешениях - помните также о разрешениях для каталогов. Процесс должен иметь разрешение на выполнение (x) для каталога, чтобы иметь возможность попасть внутрь этого каталога (думаю: cd / path / x) и разрешение на чтение (r) для чтения его содержимого (подумайте: ls / path / x). Бит выполнения является обязательным, и разрешение на чтение для пользователя, запускаемого демоном tftpd, также не должно повредить.

Далее вы можете добавить -vvvv к параметрам внутри /etc/default/tftpd-hpa файл и перезапустите сервер. Это повысит уровень ведения журнала демона tftpd-hpa и может дать вам дополнительные советы относительно корня проблемы (загляните внутрь /var/log/messages).

Другая идея: попробуйте получить файл, который хочет ваш клиент, с помощью tftp (вы получите то, что хочет клиент, прослушивая то, что работает по сети) с tftp-сервера. Если вы можете скачать файл, то вы уверены, что ваш tftp-сервер работает, файлы есть, пути правильные и разрешения правильные. Если есть другие проблемы, то они на стороне клиента (или несоответствие протокола клиент-сервер).

И последнее: мне не нравятся рекомендации HOWTO сделать каталог / tftpboot доступным для записи. После того, как установка заработает, удалите разрешение на запись из каталога. Клиент-мошенник может легко заполнить файловую систему, в которой находится ваш каталог / tftpboot - в протокол не встроена аутентификация (отсюда «тривиальный» ftp).

Надеюсь, стена текста поможет;)

Вам нужно сделать мягкую ссылку на файл pxeconfig в /tftpboot/pxelinux.cfg. Программная ссылка должна называться 0A64491E. Программная ссылка должна указывать на файл, а в нашем центре обработки данных она указывает на ../profiles (не имеет значения, где находится файл конфигурации)

Пример простого установочного файла для нашего centos6 pxeconfig:

DEFAULT INSTALL
LABEL INSTALL
KERNEL centos6/x86_64/vmlinuz
APPEND utf8 load_ramdisk=1 root=/dev/ram nofb ks=http://servername/mrepo/kickstarts/centos6.ks ksdevice=eth0 initrd=centos6
/x86_64/initrd.img console=ttyS1,115200

Некоторые важные моменты здесь позволяют убедиться, что вы затем выводите на правильный сеанс консоли. Если вы не сделаете это правильно, вы получите только мигающий курсор или просто значок.

Кроме того, установка скорости передачи (в приведенном выше случае 115200) помогает исправить ситуацию, если вы используете консоль для подключения к серверу через сеть управления.

В файле может быть больше информации /var/log/messages. Вы там смотрели? Это похоже на проблему с разрешениями. Убедитесь, что пользователь, работающий под управлением tftpd-hpa, может читать файл. /tftpboot/pxelinux.cfg/default. Также убедитесь, что в этот файл нельзя записывать другие пользователи. Вы можете проверить разрешения с помощью ls; начало вывода должно выглядеть так

$ ls -l /tftpboot/pxelinux.cfg/default
-rw-rw-r--

У меня была такая же проблема, и отключение SELinux решило ее. Я использую CentOS 6.5 и использую DRBL / Clonezilla.

Шаги:

  1. открыто /etc/selinux/config
  2. + Изменить SELINUX=enforcing к SELINUX=disabled
  3. перезагрузка