$FreeBSD: head/ru_RU.KOI8-R/articles/pxe/article.sgml 38886 2012-05-25
14:40:55Z taras $
FreeBSD это зарегистрированная торговая марка FreeBSD Foundation.
Intel, Celeron, EtherExpress, i386, i486, Itanium, Pentium и Xeon это торговые марки или зарегистрированные торговые марки Intel Corporation или ее дочерних компаний в Соединенных Штатах и других странах.
Многие из обозначений, используемые производителями и продавцами для обозначения своих продуктов, заявляются в качестве торговых марок. Когда такие обозначения появляются в этом документе, и Проекту FreeBSD известно о торговой марке, к обозначению добавляется знак ''™'' или ''®''.
Внимание: Эта процедура делает ''Сервер'' как незащищённым, так и опасным, лучше просто держать ''Сервер'' на отдельном сетевом концентраторе и никаким другим способом не давать доступ к нему с машин, не являющихся ''Клиентами''.
Терминология:
Сервер | Машина, предоставляющая услуги по загрузке и установке через сеть. |
Клиент | Машина, на которую будет устанавливаться FreeBSD. |
Требования: Клиенты, поддерживающие метод Intel PXE загрузки по сети, подключение к Ethernet.
Пожалуйста, дайте мне знать, если вы решили какие-то проблемы, или если у вас есть пожелания к дополнительной документации.
Если вам нужен кто-то для обучения/реализации конкретной системы установки по сети, то, пожалуйста, пошлите письмо, чтобы мы могли обговорить условия.
Я также признателен Paul Saab <ps@FreeBSD.org>
и John Baldwin <jhb@FreeBSD.org>
за
то, что они сделали основную работу по программированию pxeboot, интерфейса к системе
сетевой загрузки PXE (netboot) от Intel.
Установите DHCP: Установив net/isc-dhcp3-server, вы можете использовать конфигурационный файл dhcpd.conf, поместив его в каталог /usr/local/etc/.
Включите tftp:
Создайте каталог /usr/tftpboot
Добавьте следующую строку в ваш /etc/inetd.conf:
tftp dgram udp wait nobody /usr/libexec/tftpd tftpd /usr/tftpboot
Включите NFS:
Добавьте следующее в /etc/rc.conf:
nfs_server_enable="YES"
Добавьте такую строку в файл /etc/exports:
/usr -alldirs -ro
Перезагрузите машину для включения новых сервисов или запустите их вручную.
Сгрузите загрузочные файлы: Сгрузите образы дисков kern.flp и mfsroot.flp.
Подготовьте каталог tftp/pxe-boot:
Поместите pxeboot в загрузочный каталог:
# rm -rf /usr/obj/* # cd /usr/src/sys/boot # make # cp /usr/src/sys/boot/i386/pxeldr/pxeboot /usr/tftpboot
Через устройство vndevice смонтируйте файл kern.flp и скопируйте его содержимое в каталог /usr/tftpboot:
# mdconfig -a -t vnode -f kern.flp -u 0 # (vnconfig vn0 kern.flp) associate a vndevice with the file # mount /dev/md0 /mnt # (mount /dev/vn0 /mnt) mount it # cp -R /mnt /usr/tftpboot # copy the contents to /usr/tftpboot # umount /mnt # unmount it # vnconfig -u vn0 # disassociate the vndevice from the file
Создайте собственное ядро для клиентов (в частности, чтобы избавиться от экрана настройки устройств при загрузке) и поместите его в /usr/tftpboot.
Напишите специальный скрипт loader.rc и установите его в /usr/tftpboot/boot/loader.rc, так, чтобы он не выдавал запроса на второй диск, как сделал я в моём файле.
Выберите утилиту установки и вспомогательные утилиты с диска mfsroot и распакуйте их, после чего поместите их также в каталог /usr/tftpboot:
# vnconfig vn0 mfsroot.flp # associate a vndevice with the file # mount /dev/vn0 /mnt # mount it # cp /mnt/mfsroot.gz /usr/tftpboot # copy the contents to /usr/tftpboot # umount /mnt # unmount it # vnconfig -u vn0 # disassociate the vndevice from the file # cd /usr/tftpboot # get into the pxeboot directory # gunzip mfsroot.gz # uncompress the mfsroot
Создайте собственный скрипт install.cfg для sysinstall, при этом вы можете использовать мой в качестве образца, но вам придётся его отредактировать.
Скопируйте скрипт для sysinstall в распакованный образ mfsroot:
# cd /usr/tftpboot # vnconfig vn0 mfsroot # mount /dev/vn0 /mnt # cp install.cfg /mnt # umount /mnt # vnconfig -u vn0
Поместите установочные файлы на Сервер в место, доступное через NFS. Создайте каталог, соответствующий директиве 'nfs' в файле install.cfg и создайте здесь зеркальную копию установочных файлов FreeBSD, нужно, чтобы это выглядело примерно так:
ABOUT.TXT TROUBLE.TXT compat20 floppies ports ERRATA.TXT UPGRADE.TXT compat21 games proflibs HARDWARE.TXT XF86336 compat22 info src INSTALL.TXT bin compat3x kern.flp LAYOUT.TXT catpages crypto manpages README.TXT cdrom.inf dict mfsroot.flp RELNOTES.TXT compat1x doc packages
Скопируйте упакованные пакаджи в каталог packages/All под nfs.
В каталоге packages должен находиться приготовленный файл INDEX. Вы можете создать собственные записи в файле INDEX, которые выглядят так:
alfred-1.0||/|Alfred install bootstrap||alfred@FreeBSD.org||||
Затем вы можете установить какие-то другие пакаджи, в частности, собственные пакаджи для установки после установки системы.
Для создания собственного пакаджа для установки после инсталляции системы вы можете использовать скрипт pkgmaker.sh, идея заключается в его установке и настройке каких-то параметров, которую нужно выполнить. pkgmaker запускается в каталоге, находящемся выше каталога с пакаджем, который вы хотите создать, с единственным аргументом, представляющим собой название пакаджа (то есть mypkg), и который затем создаст для вас mypkg.tgz для включения в ваш пакадж для sysinstall.
Внутри каталога с вашим пакаджем вам нужен файл с именем PLIST, который содержит все файлы, которые вам нужно установить и включить в ваш пакадж.
Вам также могут потребоваться файлы pre и post в этом каталоге, являющиеся скриптами командного процессора, которые необходимо запускать перед и после установки вашего пакаджа.
Так как этот пакадж находится в вашем файле install.cfg, то он должен быть запущен и выполнить для вас окончательную настройку.
Этот, и другие документы, могут быть скачаны с ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
По вопросам, связанным с FreeBSD, прочитайте документацию прежде чем писать в <questions@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите <doc@FreeBSD.org>.
По вопросам, связанным с русским переводом документации, пишите в рассылку <frdp@FreeBSD.org.ua>.
Информация по подписке на эту рассылку находится на сайте проекта перевода.