5. Настройка возможности системам загружаться по сети (на сервере)

Проверьте, что в файле /etc/inetd.conf имеются записи для tftp и bootps. Ниже показаны мои записи:


tftp	dgram	udp	wait	nobody	/usr/libexec/tftpd	tftpd /tftpboot
#
# Additions by who ever you are
bootps  dgram  udp  wait  root  /usr/libexec/bootpd bootpd /etc/bootptab
   

Если вы изменили файл /etc/inetd.conf, то пошлите программе inetd(8) сигнал HUP. Для этого найдите ID процесса inetd командой ps -ax | grep inetd | grep -v grep. После этого пошлите ему сигнал HUP. Это делается командой kill -HUP <pid>. Это заставит inetd повторно прочесть свой конфигурационный файл.

Не забыли ли вы строку с addr из вывода начального загрузчика на бездисковой системе? Как вы можете угадать, теперь он вам требуется.

Добавьте запись в файл /etc/bootptab (может быть, вам потребуется его создать). Она должна иметь следующий вид:

altair:\
        :ht=ether:\
        :ha=004001432666:\
        :sm=255.255.255.0:\
        :hn:\
        :ds=199.246.76.1:\
        :ip=199.246.76.2:\
        :gw=199.246.76.1:\
        :vm=rfc1048:

Строки имеют такой смысл:

altair название бездисковой системы без доменной части.
ht=ether тип оборудования ''ethernet''.
ha=004001432666 аппаратный адрес (число, записанное ранее).
sm=255.255.255.0 маска подсети.
hn указывает серверу посылать клиенту его имя хоста.
ds=199.246.76.1 указывает клиенту расположение сервера имен.
ip=199.246.76.2 указывает клиенту его IP-адрес.
gw=199.246.76.1 указывает клиенту маршрутизатор по умолчанию.
vm=... просто оставьте это так.

Замечание: Проверьте правильность настройки IP-адресов, адреса выше являются моими.

Создайте каталог /tftpboot, в котором будут располагаться конфигурационные файлы для бездисковых систем, которые будет обслуживать сервер. Эти файлы будут именоваться cfg.ip, где ip является IP-адресом бездисковой системы. Конфигурационный файл для altair будет носить название /tftpboot/cfg.199.246.76.2. Его содержимое:

rootfs 199.246.76.1:/DiskLess/rootfs/altair
hostname altair.example.com

Строка hostname altair.example.com просто указывает бездисковой системе её полное доменное имя.

Строка rootfs 199.246.76.1:/DiskLess/rootfs/altair указывает бездисковой системе местоположение ее корневой файловой системы, монтируемой по протоколу NFS.

Замечание: Корневая файловая система, монтируемая через NFS, будет монтироваться в режиме только для чтения.

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

Я использую свой никому не нужный 386DX-40 в качестве выделенного X-терминала.

Дерево для altair имеет такой вид:

/
/bin
/etc
/tmp
/sbin
/dev
/dev/fd
/usr
/var
/var/run

Вот реальный список файлов:


-r-xr-xr-x  1 root  wheel  779984 Dec 11 23:44 ./kernel
-r-xr-xr-x  1 root    bin  299008 Dec 12 00:22 ./bin/sh
-rw-r--r--  1 root  wheel     499 Dec 15 15:54 ./etc/rc
-rw-r--r--  1 root  wheel    1411 Dec 11 23:19 ./etc/ttys
-rw-r--r--  1 root  wheel     157 Dec 15 15:42 ./etc/hosts
-rw-r--r--  1 root    bin    1569 Dec 15 15:26 ./etc/XF86Config.altair
-r-x------  1 bin     bin  151552 Jun 10  1995 ./sbin/init
-r-xr-xr-x  1 bin     bin  176128 Jun 10  1995 ./sbin/ifconfig
-r-xr-xr-x  1 bin     bin  110592 Jun 10  1995 ./sbin/mount_nfs
-r-xr-xr-x  1 bin     bin  135168 Jun 10  1995 ./sbin/reboot
-r-xr-xr-x  1 root    bin   73728 Dec 13 22:38 ./sbin/mount
-r-xr-xr-x  1 root  wheel    1992 Jun 10  1995 ./dev/MAKEDEV.local
-r-xr-xr-x  1 root  wheel   24419 Jun 10  1995 ./dev/MAKEDEV
   

Если вы не используете devfs(5) (которая во FreeBSD 5.X по умолчанию активирована), то должны убедиться, что запускали команду MAKEDEV all в каталоге dev.

Мой /etc/rc для altair выглядит вот так:

#!/bin/sh
#
PATH=/bin:/
export PATH
#
# configure the localhost
/sbin/ifconfig lo0 127.0.0.1
#
# configure the ethernet card
/sbin/ifconfig ed0 199.246.76.2 netmask 0xffffff00
#
# mount the root filesystem via NFS
/sbin/mount antares:/DiskLess/rootfs/altair /
#
# mount the /usr filesystem via NFS
/sbin/mount antares:/DiskLess/usr /usr
#
/usr/X11R6/bin/XF86_SVGA -query antares -xf86config /etc/XF86Config.altair > /dev/null 2>&1
#
# Reboot after X exits
/sbin/reboot
#
# We blew up....
exit 1

Приветствуются любые замечания и вопросы.

Этот, и другие документы, могут быть скачаны с ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

По вопросам, связанным с FreeBSD, прочитайте документацию прежде чем писать в <questions@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите <doc@FreeBSD.org>.
По вопросам, связанным с русским переводом документации, пишите в рассылку <frdp@FreeBSD.org.ua>.
Информация по подписке на эту рассылку находится на сайте проекта перевода.