Установка pxe сервера linux

Содержание
  1. Установка pxe сервера linux
  2. Системное администрирование и мониторинг Linux/Windows серверов и видео CDN
  3. Статьи по настройке и администрированию Windows/Linux систем
  4. Настройка PXE на Ubuntu 12.04
  5. Настройка TFTP-сервера.
  6. Настройка DHCP-сервера.
  7. Настройка меню и гостевой ОС
  8. Установка pxe сервера linux
  9. Содержание
  10. [править] Что такое PXE?
  11. [править] Загрузка Linux-системы с использованием PXE
  12. [править] Предварительные данные
  13. [править] Сетевые настройки
  14. [править] Операционная система
  15. [править] Инсталляция и настройка DHCP-сервера
  16. [править] Инсталляция DHCP-сервера
  17. [править] Настройка DHCP-сервера
  18. [править] Запуск DHCP-сервера
  19. [править] Инсталляция и настройка TFTP-сервера
  20. [править] Инсталляция TFTP-сервера
  21. [править] Настройка TFTP-сервера
  22. [править] Настройка pxelinux
  23. [править] Настройка LTSP (Linux Terminal Server Project)
  24. [править] Установка серверной части ltsp
  25. [править] Настройка шлюза
  26. [править] Создание клиентского образа ltsp
  27. [править] Альтернатива LTSP (без привлечения сторонних пакетов)
  28. [править] Создание «базовой площадки»
  29. [править] Подготовка клиентского ядра и initrd
  30. [править] Дополнительная информация
  31. [править] Материалы на Xgu.ru посвящённые загрузке системы
  32. [править] Приложения
  33. [править] Конфигурационные файлы
  34. [править] /etc/dhcp.conf
  35. [править] /etc/exports
  36. [править] /etc/inetd.conf
  37. [править] /var/lib/tftpboot/ltsp/i386/pxelinux.cfg/default

Установка pxe сервера linux

Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-00

Всем привет сегодня расскажу как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5. Представьте ситуацию что у вас ситуация что вам по сети нужно установить на голый сервер Windows, Linux, ESXI 5.5 или диагностические утилиты, прошивающие железо или позволяющие загрузить DOS, да еще и чтобы сервер был один, который мог все это делать так, что WDS нам не подходит в данном случае. Ниже будет расписано более нескольких десятков уроков, как все это чудо вам реализовать.

Так вот представим ситуацию пришли к вам новые сервера, вы в BIOS выставляете загрузку по PXE и у вас появляется меню в котором можно выбрать установку Windows, Debian, Ubuntu, VMware ESXI 5.5, CentOS, можете загрузить диагностические утилиты по тесту памяти или диски обновления драйверов для каждого вендора железа, неправда ли круто, давайте посмотрим как это сделать, в основу статьи была положена реализация ребят из ServerClub. В качестве плацдарма будет выступать Debian 8. Как установить Debian читайте тут. Вот как будет выглядеть ваше меню установки.

Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-18

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

  • TFTP сервер
  • Samba
  • Syslinux
  • DHCP сервер
  • HTTP сервер
  • NFS сервер

Приступим первым мы рассмотрим как установить TFTP сервер в Debian. Вводим команду.

Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-01

приведем конфиг /etc/default/tftpd-hpa к виду

Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-02

и поместим в /etc/tftpd.remap вот такую строку. Создадим файл tftpd.remap командой

Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-03

И вписываем в него вот такую строку.

Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-04

Еще может быть проблема с ThinkPad X201i и в VirtualBox с tftp. Что на ThinkPad X201i, что в VirtualBox загрузка отваливалась с: PXE-E32: TFTP Open timeout

Судя по всему, PXE агенты умудрились быть не полностью совместимыми, полечилось добавлением «-r blksize»:
TFTP_OPTIONS=»—secure -l -v -r blksize»

Далее смотрим как установить Samba в Debian. Устанавливается командой:

Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-05

В конец файла /etc/samba/smb.conf добавим информацию о папке, где будут лежать инсталляционные файлы Windows.

Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-06

Прописываем в конфиге

Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-07

Cоздаем папку для обозов, даем права и перезапускаем самбу

Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-08

Далее рассмотрим как установить Syslinux в Debian. Скачиваем и заливаем в корень TFTP сервера все необходимое

Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-10

# tar -xf syslinux-4.02.tar.gz
# cd syslinux-4.02/
# find ./ -name «memdisk» -type f|xargs -I <> cp ‘<>‘ /srv/tftp/
# find ./ -name «pxelinux.0″|xargs -I <> cp ‘<>‘ /srv/tftp/
# find ./ -name «*.c32″|xargs -I <> cp ‘<>‘ /srv/tftp/

Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-11

Перейдем к настройке Syslinux

Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-12

Далее создадим конфиг основного меню и внесем начальные настройки

LABEL bootlocal
menu label Boot from first HDD
kernel chain.c32
append hd0 0
timeout 120 # время в меню на выборе пункта загрузки, 120 это 12 секунд
TEXT HELP
The system will boot after the time is up
ENDTEXT

Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-13

Во второй части как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5 мы разберем как установить DHCP сервер или настроить существующий DHCP server на Windows или Cisco.

Источник

Системное администрирование и мониторинг Linux/Windows серверов и видео CDN

Статьи по настройке и администрированию Windows/Linux систем

  • Полезное
    • Карта сайта
    • Мой сайт-визитка
  • Рубрики
    • Linux
      • VoIP
      • Безопасность
      • Видеопотоки
      • Системы виртуализации
      • Системы мониторинга
    • Windows
    • Интересное
    • Сеть и Интернет
  • Мета
    • Войти
    • RSS Feed

Настройка PXE на Ubuntu 12.04

Хочу написать эту очень полезную заметку, которая может пригодиться как и начинающему системному администратору, так и обычному пользователю, который хочет автоматизировать процесс установки операционных систем. Сейчас я наведу пример установки по сети ОС семейства Linux. Но, в ближайшее время, добавлю установку Windows подобных систем.
Установка операционной системы по сети (по PXE) понадобиться в случае:

  • неработоспособности USB портов
  • неработоспособности/отсутствии DVD/CD приводов
  • работе с удаленными серверами (в качестве сетевого live cd)
  • и т.п.
Читайте также:  Куда сохраняет файлы при переустановке windows

В данном случаи, в качестве хостовой ОС я взял Ubuntu 12.04.2 LTS.
Для детального изучения и понимания, можете ознакомиться с PXE и узнаете что к чему.
Теперь, будем считать, что ознакомление прошло успешно, и Вы узнали, что PXE это Preboot eXecution Environment и это весьма нужная и полезная штука которая позволяет установить ОС при использовании сетевой карты (по сети).

Теперь разберем как работает PXE подробнее:

  1. Подключаем к сети компьютер-жертву.
  2. Включаем жертву и, при загрузку, жмем F12 (network boot или LAN boot), чтобы выбрать загрузку по сети LAN
  3. Дальше жертва отправить широковещательный DHCP запрос для получения сетевых настройок.
  4. Эти настройки должен выдать наш PXE сервер (он же DHCP-сервер), который мы будем настраивать
  5. Если мы нормально настроили PXE сервер — компьютер-жертва получит все нужные сетевые настройки (ІР адрес, шлюз и доступ к TFTP-серверу с которого подтянется файл загрузчик нужной операционной системы для жертвы).
  6. Дальше загрузчик считает конфиг и скачает выбранное нами ядро ОС с установщиком на жертву.
  7. Ну и запустит процесс установки ОС где все по стандарту.

Следовательно, нам нужно настроить на Ubuntu 12.04 PXE сервер с DHCP, TFTP и образами нужных ОС.

Настройка TFTP-сервера.

Устанавливаем нужные пакеты

Создаем папку для конфигов и заливаем в нее boot-файлы.
Замечание! Загрузчики есть разные (gPXE, SYSLINUX, etc.), я же использовал syslinux, который можно скачать здесь.

Файл конфигураций TFTP должен иметь такой вид.

Настройка DHCP-сервера.

Устанавливаем нужные пакеты

Теперь нужно прописать конфиг. Он должен быть такого вида.

Настройка меню и гостевой ОС

Теперь нужно настроить меню, для выбора операционной системы и загрузить образы нужных ОС. Внешний вид и пункты меню описаны в файле (в данном случае) /tftpboot/pxelinux.cfg/default.

Теперь осталось закачать все образы Debian и Centos, которые мы перечислили.

Все настройки сделано. Дерево каталогов должно иметь следующий вид.

Теперь тестим проделанное. Включаем комп-жертву, которая находить в той же сети, что и PXE сервер (для примера, я взял виртуальную машину на Vbox) и сразу при загрузке жмем F12.

Как видим, мы попадем в меню, где нам предлагают выбрать тип загрузки. Выбираем LAN (т.е. нажимаем клавишу l).
Если Вы все правильно настроили должно выдать такое окно, с которого видно, что DHCP-сервер выдал ІР – 192.168.1.102 и шлюз. Это свидетельствует о том, что DHCP было настроено верно.

Если TFTP настроено верно — мы попадаем в такое меню.

Если Вы получили следующее окно с ошибкой — необходимо просмотреть путь к конфигу TFTP и проверить запущена ли служба TFTP.

Если проблема решена и загрузилось меню, просто нужно выбрать нужную ОС и перейти к процессу установки.

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

Источник

Установка pxe сервера linux

На данной странице детально описывается процесс загрузки бездисковых Linux-станций с помощью PXE, а также рассказывается как с помощью программ проекта LTSP подготовить Linux-систему для использования в качестве сервера загрузки таких станций. Рассматривается процесс настройки всех необходимых компонентов (TFTP, DHCP, NFS-серверов), а также приводятся примеры их конфигурационных файлов.

Содержание

[править] Что такое PXE?

PXE (англ. Preboot Execution Environment, произносится пикси) — среда для загрузки компьютеров с помощью сетевой карты без использования жёстких дисков, компакт-дисков и других устройств, применяемых при загрузке операционной системы. Для организации загрузки системы в PXE используются протоколы IP, UDP, DHCP и TFTP. PXE-код, прописанный в сетевой карте, получает загрузчик из сети, после чего передаёт ему управление.

[править] Загрузка Linux-системы с использованием PXE

Загрузку Linux-системы с помощью PXE можно выполнить с помощью загрузчика PXELINUX, созданного на базе SYSLINUX. PXELINUX загружается с помощью PXE-кода в сетевой карте, а затем ему передаётся управление. Код PXELINUX не нужно прописывать в чип на сетевой карте (если нужно именно это, см. проект etherboot).

  • pxeЗагрузка PXE-загрузчика. Прошивкой PXE, встроенной в сетевую карту, выполняется загрузка загрузчика pxelinux.
  • dhcp1Получение IP-адреса и адреса TFTP-сервера. Загрузчик pxelinux делает DHCP-запрос и с его помощью получает IP-адрес и адрес TFTP-сервера. По умолчанию адрес TFTP-сервера равен адресу DHCP-сервера.
  • tftpОбращение к TFTP-серверу для получения ядра Linux. Загрузчик pxelinux обращается к TFTP-серверу и запрашивает у него ядро Linux (и, при необходимости, образ initrd).
  • kernelЗапуск ядра Linux. После того как ядро Linux загружено, управление передаётся ему.
  • dhcp2Получение IP-адреса DHCP. Ядро Linux делает запрос DHCP, с помощью которого получает свой IP-адрес, адрес NFS-сервера, на котором находится корневая файловая система, а также путь к местоположению этой файловой системы на диске.
  • nfsМонтирование корневой файловой системы. Корневая файловая система монтируется.
  • initВызов процесса init. На корневой файловой системе находится файл /sbin/init, которому передаётся управление.

[править] Предварительные данные

[править] Сетевые настройки

Сетевые интерфейсы настраиваются автоматически согласно файлу /etc/network/interfaces:

Интерфейс eth0 подключен к сети 10.0.0.0/8 и через него осуществляется выход в интернет.

Интерфейс eth1 подключен к сети 192.168.15.0/24, в которую подключаются тонкие клиенты.

Аллиас на интерфейсе eth1 eth1:1 необходим для соединения с терминальным сервером Windows.

Для осуществления возможности выхода в интернет, всем студентам с тонких клиентов настраивается firewall в таблице nat цепочки POSTROUTING (о чем говорит соответствующая строка в конфигурационном файле настройки сетевых интерфейсов):

Кроме настройки firewall необходимо включить forwarding. Иными словами, необходимо разрешить ядру операционной системы осуществлять проброс трафика с одного интерфейса на другой. Это можно сделать несколькими способами:

1. Строка в файле /etc/network/interfaces

Приведённый выше способ годится для ОС Debian/Linux и основанных на нём и может не работать в других ОС.

Читайте также:  Все для быстрой загрузки windows

2. Строка в файле /etc/sysctl.conf

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

4. Файл /etc/network/options:

Приведённый выше способ годится для ОС Debian/Linux и основанных на нём и может не работать в других ОС.

Подходит к многим (если не всем) Linux, но также как и третий способ (см. выше) работает только до перезагрузки, для чего рекомендуется к помещению в стартовые скрипты. С другой стороны, большинство дистрибутивов предполагают свой способ включить forwarding пакетов и использовать лучше именно его.

[править] Операционная система

[править] Инсталляция и настройка DHCP-сервера

[править] Инсталляция DHCP-сервера

DHCP-сервер не заработал в базовой конфигурации — смотрим почему:

Анализ лог-файла /var/log/daemon.log говорит, что не описана сеть 192.168.15.0/24. Указанная сеть была определена автоматически, исходя из адреса интерфейса, на котором DHCP-сервер прослушивает запросы. По умолчанию этот интерфейс eth0. Конфигурационный файл dhcpd.conf не содержит описания этой сети.

Ниже мы отредактируем этот файл и опишем в нём названную сеть.

Если бы было нужно чтобы DHCP-сервер работал на другом интерфейсе, нужно отредактировать файл /etc/default/dhcp — указать нужный интерфейс:

Сейчас этого делать не нужно.

[править] Настройка DHCP-сервера

Далее можно приступать к непосредственной настройке DHCP-сервера:

Вы можете ещё указать опцию:

для того случая, когда TFTP-сервер и DHCP-сервер разные. В противном случае TFTP-сервер ищется на самом DHCP-сервере.

Если загрузка не выполняется, попробуйте явным образом указать в качестве next-server машину, на которой расположен TFTP-сервер и файл pxelinux.cfg/default.

Конфигурационный файл практически ничем не отличается от файла по умолчанию. Клиентам будут выделяться IP-адреса из диапазона 192.168.15.200-192.168.15.220, указанного в range dynamic-bootp. В качестве DNS-сервера и шлюза используется хост 192.168.15.254.

Опции, имеющие непосредственно отношение к бездисковой загрузке:

[править] Запуск DHCP-сервера

[править] Инсталляция и настройка TFTP-сервера

[править] Инсталляция TFTP-сервера

Установите пакет tftpd-hpa (другие TFTP-серверы могут работать некорректно):

[править] Настройка TFTP-сервера

В момент завершения установки нам было сообщено о том, что TFTP-сервер по-умолчанию не работает в режиме демона, а будет запускаться через интернет-суперсервер inetd. Проверим на наличие строки его настройки в конфигурационном файле inetd:

Перезапустим интернет суперсервер:

И проверим выполняет ли интернет-суперсервер прослушивание порта 69 (порт TFTP):

На этом настройка TFTP-сервера завершена.

Я установил TFTP-server (apt-get install tftp-server), который умеет работать в режиме демона, запускается он так:

[править] Настройка pxelinux

[править] Настройка LTSP (Linux Terminal Server Project)

[править] Установка серверной части ltsp

Необходимо установить пакет ltsp-server. В качестве зависимостей от этого компонента, будет скачан и установлен сервер NFS (при условии, что он не был установлен ранее).

После установки нам рекомендовано добавить строку

в файл экспортирования файловых систем /etc/exports.

Корневая файловая система, которую будут использовать клиенты, находится в подкаталоге каталог /opt/ltsp. Она должна быть доступна через NFS. Можно изменить файл /etc/exports сейчас, а можно позже. Мы изменим позже.

[править] Настройка шлюза

Если нужно чтобы бездисковые клиенты могли получить доступ в Интернет через наш шлюз, необходимо настроить на этом шлюзе iptables и включить forwarding пакетов между интерфейсами.

Добавляем строки в /etc/network/interfaces

[править] Создание клиентского образа ltsp

Образ создаётся с помощью скрипта ltsp-build-client. В качестве аргументов скрипту необходимо указать:

  • архитектуру, для которой выполняется сборка;
  • дистрибутив, на базе которого будет построен образ;
  • зеркало, с которого должны инсталлироваться пакеты системы.

В каталог, который будет для бездисковой станции корневым, проинсталлируется дистрибутив etch. В качестве источника пакетов указан локальный apt-proxy. Вместо него нужно указать соответствующее зеркало.

Необходимо экспортировать каталог, в котором находится корневая файловая система бездисковых клиентов.

Рекомендуется делать доступ к файловой системе в режиме read-only, дабы избежать конфликтов при совместном доступе.

Мы для экспериментов сделаем файловую систему доступной в режиме read-write. В режиме нормальной эксплуатации никогда не экспортируйте корневую систему бездисковых станций в режиме read-write, если точно не знаете к каким последствиям это приведёт!

Добавьте в файл /etc/exports строку:

Теперь, необходимо указать nfs-kernel-server демону чтобы он перечитал этот файл:

В ходе выполнения команды ltsp-build-client был также создан каталог /var/lib/tftpboot/ltsp/i386/ :

Конфигурационный файл сетевого загрузчика pxelinux находится в pxelinux.cfg/default корневого каталога дистрибутива.

Проверяется не только имя default/

Необходимо создать файл /var/lib/tftpboot/ltsp/i386/pxelinux.cfg/default:

В документации сказано, что использование initrd.img необязательно при использовании nfs. На практике же, далеко не всегда получается примонтировать nfs-систему из initrd.img. Желательно предоставить пользователю возможность выбора.

Не забудте создать файл /var/lib/tftpboot/ltsp/i386/boot.msg произвольного содержания. Он будет отображаться при загрузке. Его содержание, например, может быть таким:

Измените версию ядра и initrd образа, посмотреть какая у Вас версия можно тут: /var/lib/tftpboot/ltsp/i386

[править] Альтернатива LTSP (без привлечения сторонних пакетов)

Данный раздел позволяет создать клоны целевой системы. Данный раздел предоставляет сведения, полученные эмпирическим путём. Он довольно прост и опробован на практике, но не доведён до конца.

[править] Создание «базовой площадки»

Для работы операционки все необходимые файлы можно разбить на 3 категории:

  • изменяемые сохраняемые (/home . );
  • изменяемые не сохраняемые (/etc /var/log /var/run . );
  • неизменяемые (все прочие).

Мы создадим «базовую площадку», которая инициализирует файловую систему с учётом вышеописанных принципов. Для упрощения, корневую файловую систему разместим в /ltsp

Для начала экспортируем всё необходимое. Затем возьмём за основу содержимое локального initrd.img. Мы экономить не будем, а поэтому закинем необходимые бинарники, а позже библиотеки к ним. Так же возьмём busybox в качестве шелла — вы сможете использовать /bin/ash в /init для отладочных целей. Так же нам необходима часть его функций для развёртывания. ifconfig нам нужен только для того, чтобы убедится в правильности назначения IP-адреса ядром. С помощью mount.nfs будем монтировать необходимое для работы, т.к. больше ничто не может нормально работать с nfs. Так же нам необходим FIFO-файл initctl в каталоге устройств для «общения» с init’ом.

Читайте также:  Как правильно разметить диски при установке windows

Проверить, какие библиотеки используют скопированные бинарники можно командой ldd (ldd /sbin/ifconfig). У меня получилось всего 2:

/sbin/init запускается первым и остаётся первым всё время. При своём запуске он читает inittab, секцию sysinit. там у нас указано выполнение нашего /init. Это сделано, по большей части, для удобства редактирования.

При загрузке необходимы «свои» конфигурационные файлы. «Выстрелим из бочки» и cнимем копию с рабочей системы скопировав /etc, подправим его. Оригинальный inittab заменит наш файл и загрузка продолжится в исходном режиме. Для уменьшения размеров и ускорения его загрузки по сети, запакуем его и будем распаковывать при каждой загрузке. Так же при загрузке у нас уже, наверняка, будет сконфигурирована сеть, поэтому удалим соответствующие файлы.

Конечный результат выглядит так:

Далее нам остаётся настроить /init.

После загрузки у нас должна оказаться примонтированная /ltsp в качестве корневой системы, назначен IP-адрес (должна быть досягаема донорная система) и запущен на выполнение /sbin/init, а соответственно и /init.

Т.к. у нас всё изначально ro, то мы создадим временную (tmpfs) rw-систему в /sysroot и будем далее работать уже с ней. Создаём на ней необходимые каталоги для неизменяемых файлов и монтируем соответствующие экспортированные разделы донорной системы. Далее — распаковываем туда наш etc.tar.gz. Копируем туда же каталог с устройствами. После этого, переходим на /sysroot и делаем pivot-root тем самым подменяя файловую систему. После этого монтируем /proc и /sys системы. С этого момента дальнейшая загрузка возможна в теории, но многим программам необходим rw-доступ в определённые места. Есть так же ряд тонкостей, которые необходимо подправить; переменная PATH — одна из них. Нам так же надо привести в соответствие файл /etc/mtab с текущим состоянием системы. В конце файла мы передаём управление скрипту, который подменили собой.

Данный метод опробирован на VMWare и Linux Mandiva 2008 DVD. Система загружается и работает, но процесс загрузки всё ещё имеет шероховатости. Завершение работы так же не блещет изяществом.

Если у вас что-либо не получится — можете вынести этот вопрос здесь на страницу обсуждения. Я постараюсь вам ответить.

[править] Подготовка клиентского ядра и initrd

Необходимо подготовить ядро, под управлением которого будут работать клиентские станции.

При конфигурировании клиентского ядра обязательно нужно включить:

  • Поддержку сетевой карты
  • Поддержку NFS

Ниже будет рассмотренно, как это осуществить

Для начала необходимо выяснить, какой модуль ответственнен за сетевую карту. На работающей машине сделайте:

допустим, мы получили alias eth0 pcnet32. После этого, нам необходимо выяснить, как она включается в ядро.

Так мы узнаем, в каком каталоге лежат файлы, ответственные за модуль. Для драйверов сетевых карт это

Осталось только узнать define-variable для модуля.

В выводе будет что-то похожее на CONFIG_PCNET32. Далеко не у всех модулей имя define-variable совпадает с именем модуля. Осталось только

и, используя клавишу [/], ввести то, что после CONFIG_. Месторасположение нам укажут. Можно, конечно, вручную поправить файл .config, но так можно нарушить зависимости. Итак, сетевые карта включаются в Device Drivers -> Network Device Support -> Ethernet (10 or 100Mbit). Как ни странно, pcnet32 оказался AMD PCNet32 PCI support.

  • Поддержка NFS
  • Поддержка функций dhcp ядром

и соответствующие протоколы к нему (bootp и DHCP, хотя, возможно, будет достаточно только второго). Подразумевается, что TCP/IP-стек будет включён в ядро. Это очень важный момент. Без этой функции ядро сразу после загрузки высвободит выделенный айпи адрес и предоставить насройку пользователю (в initrd, например), а так же ядро будет игнорировать параметр ip=dhcp. В этой ситуации поможет только явное указание адреса, что будет пригодно для загрузки только одной машины (или обязывает к немедленной смене адреса после загрузки). IP-адрес можно указать так: ip=клиент:сервер:шлюз:маска:имя:устройство, но согласитесь, ip=dhcp лучше. Кроме того, в File Systems -> Network File Systems появится не менее важный пункт:

Заодно можно выставить оптимизацию под конкретный процессор и отключить неиспользуемые модули. Например IrDA, BlueTooth или IDE-через-LPT.

Пример конфигурационного файла можно скачать здесь.(где здесь ?) При такой конфигурации ядра initrd не используется.

В том случае, если какой-либо из необходимых для загрузки и монтирования корневой файловой системы, драйвер нельзя (или не хочется) по какой-либо причине включить в ядро, необходимо подготовить виртуальный загрузочный диск initrd.

Если бездисковый клиент будет загружать не только ядро Linux, но и initrd, нужно сделать соответствующие изменения в конфигурационном файле pxelinux.cfg/:

[править] Дополнительная информация

  • [1] (рус.) — обсуждение страницы на OpenNet
  • Настройка и использование RIS-linux (рус.)
  • Установка Windows XP по сети. RIS, но не Microsoft (рус.) — сетевая установка Windows без использования RIS-сервера от Microsoft
  • Walkthrough: Deploy an Image by Using PXE (англ.) — установка Windows 7/Windows 2008 по PXE
  • Спецификация PXE (pdf)
  • PXE на en.wikipedia.org
  • rom-o-matic.net — коллекция PXE-образов
  • PXELINUX на сайте SYSLINUX
  • PXE Magic: Flexible Network Booting with Menus (англ.) — подробная статья, которая рассказывает как делать красивые менюшки при загрузке по PXE

Установка операционной системы через PXE:

system-config-netboot — утилита от Red Hat, подготавливающая операционные системы (любой линукс) для загрузки бездисковых станций с терминального сервера (аналог LTSP, только без ручного труда) http://www.rhd.ru/docs/manuals/enterprise/RHEL-4-Manual/sysadmin-guide/ch-diskless.html

[править] Материалы на Xgu.ru посвящённые загрузке системы

[править] Приложения

[править] Конфигурационные файлы

[править] /etc/dhcp.conf

[править] /etc/exports

Вместо rw, лучше использовать ro, в противном случае возможны ошибки при совместном доступе.

[править] /etc/inetd.conf

[править] /var/lib/tftpboot/ltsp/i386/pxelinux.cfg/default

Пример конфигурационного файла PXELINUX.

В этом примере в загрузке есть три пункта меню:

  1. Ядро 2.4, без использованя framebuffer’а
  2. Ядро 2.6, с использованием framebuffer’а
  3. То же + дополнительный параметр ядру, впоследствии доступный через /proc/cmdline

Источник

Оцените статью