Вход:  Пароль:  
FreeSource: Статьи/СозданиеТонкихКлиентов ...
Free Source | Каталог | Изменения | НовыеКомментарии | Пользователи | Регистрация |
Это старая версия Статьи/СозданиеТонкихКлиентов за 2005-04-10 15:50:30..

Сетевая загрузка тонкого клиента


Рассмотрена загрузка через Etherboot и PXE.


Оглавление документа


Ссылки по теме


Общая настройка сервера


Должны быть установлены пакеты: tftp tftp-server dhcp-common dhcp-server nfs-server
Должен работать DNS-сервер, указанный в /etc/dhcp/dhcpd.conf.
Адреса клиента не должно быть в /etc/hosts.deny
Должны быть запущены сервисы dhcpd, nfs, portmap, nfslock, tftp (через xinet.d)

Сетевая карта

Если сетевая карта отдельная, для загрузки с неё нужно

  1. вставить микросхему с прошивкой
  2. проставить в биосе загрузку с LAN (или иногда есть параметр «активировать IRQXX» 18 или 19 или 17)
  3. например у rtl8139 надо утилитой rset8139 настроить размер микросхемы bootrom

Для 

Загрузчик Etherboot


Готовый загрузчик скачивается с сайта http://rom-o-matic.net
В зависимости от типа, он может грузиться либо через PXE, либо с дискеты.
Без указанного имени файла (file в dhcpd.conf) принимать (DHCP offer) адрес не будет.

Загрузчик PXE 


Если в плату уже встроен загрузчик PXE, задачу можно свести к Etherboot. Загрузчик etherboot должен быть для конкретной сетевой карты.


Сначала к DHCP обращается PXE, получает себе Etherboot-загрузчик. Далее этот загрузчик грузит ядро. Поскольку обращаются они одинаково, проверяем кто именно обращается:

Сервис раздачи адресов DHCPD


Пример записи в dhcpd.conf:



root-path задаёт параметр nfsroot ядру, указывая, с какой машины, из какого каталога монтировать NFS – в моей сборке этого патча нет.


В параметре filename путь к файлу указывается относительно корневого каталога, указанного для TFTP.


Полный пример:


Упрощённый протокол передачи файлов: TFTP


Удостовериться в правильном пути к каталогу tftp при запуске сервиса. Должен быть /var/lib/tftpboot, баг по этому поводу послан.

Настройка NFS 


Записать в /etc/exports экспорт корневой файловой системы для загружающейся машины

Ядро


Используется обычное ядро и специально подготовленный initrd. Обратим внимание, что в initrd загружается модуль для сетевой карты, так что надо ли все известные модули по очереди грузить, либо определять сетевую карту, либо initrd делать персональный для каждой карты.


Для initrd нужен специальный busybox с патчем для получения пути для загрузки по nfs (хотя это можно сделать и скриптом по IP в initrd).

Устаревшая система


Должно быть включено CONFIG_NFS_ROOT. В поставке ALT Linux этот параметр выключен.


Файл с ядром для загрузки должен быть специально подготовлен:
mkelf-linux
VER=`uname -r`
mkinitrd -with nfs -f -v -omit-scsi-modules initrd-up.img ${VER}lav1
mkelf-linux -root-dir=/var/lib/tftpboot/root_system -output=vmlinuz vmlinuz-up initrd-up.img


Замечания


1. С initrd решено: Непонятно, как указать клиенту, какое у него имя.
2. Не нужно? : Желательно указывать имя без фиксации IP-адреса за клиентом.
3. Нужен один каталог на всех.

Иметь общее дерево, частное для каждой машины создавать ссылками, каталоги /lib, /usr, /sbin, /bin, /boot должны быть общими.


1. Не испытана загрузка через PXE без сведения к Etherboot.
2. Не слишком ли большая корневая система требуется для сетевой загрузки?
3. Предельно совместить сетевую загрузку с ALT.

Страницы, ссылающиеся на данную: AltLinux/Sisyphus/net/install
AltLinux/Документация/НастройкаСервераПриложений


 
Файлов нет. [Показать файлы/форму]
Комментариев нет. [Показать комментарии/форму]