Документация по ОС FreeBSD Воскресенье, 05.05.2024, 00:50
Приветствую Вас Гость | RSS
Меню сайта

Категории каталога
Мои статьи [0]
Установка и настройка [281]
X Window [25]
Man pages [30]
Ports & Packages [26]
cvs [18]
Multimedia [20]
Нововсти в мире Unix [0]
RFC [4]
RFC (Request for Comments, Запрос на комментарии) - серия документов, публикуемая сообществом исследователей и разработчиков, руководствующихся практическими интересами, в которой описывается набор протоколов и обобщается опыт функционирования Интернет.
Безопасность [52]
Работа с железом [58]
Книги по FreeBSD [17]
Сеть [505]
Программирование [40]
FireWall [58]
Темы экзамена BSDA [14]
Официальные темы экзамена BSDA, включая подробноые описания и советы по обучению.

Главная » Статьи » X Window

Бездисковый X-сервер: руководство по настройке
С помощью нескольких друзей из списка рассылки FreeBSD-hackers я смог настроить бездисковый X-терминал. Создание X-терминала, во-первых, требует сначала настройки бездисковой системы с минимальным набором утилит, доступных через NFS. Те же самые шаги были применены для создания двух разных бездисковых систем. Первая из них была altair.kcis.com. Бездисковый X-терминал, который работал на моей старой машине 386DX-40. На ней был диск объемом 340 мегабайт, но я не хотел его менять. Так что машина загружалась с antares.kcis.com по сети Ethernet. Второй системой является 486DX2-66. Я настроил (полностью) бездисковую систему FreeBSD, которая не использует локальный диск. Сервером в этом случае выступает Sun 670MP под управлением SunOS 4.1.3. В обоих случаях требовалась одна и та же начальная настройка.

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

1. Создание загрузочной дискеты (на бездисковой системе)
Так как сетевые начальные загрузчики не будут работать с некоторыми резидентными (TSR) и прочими программами, используемыми в MS-DOS, то лучше создать отдельную загрузочную дискету, или, если вы можете, создать меню MS-DOS, которое будет (при помощи файлов config.sys /autoexec.bat) спрашивать, какую конфигурацию следует загрузить при запуске системы. Я использовал последний метод и он прекрасно работает. Мое меню MS-DOS (6.x) приводится ниже.

Example 1. config.sys

[menu]
menuitem=normal, normal
menuitem=unix, unix
[normal]
....
normal config.sys stuff
...
[unix]

Example 2. autoexec.bat

@ECHO OFF
goto %config%

:normal
...
normal autoexec.bat stuff
...
goto end

:unix
cd netboot
nb8390.com

:end

2. Получение программ для сетевой загрузки (на сервере)
Откомпилируйте программы 'net-boot', расположенные в каталоге /usr/src/sys/i386/boot/netboot. Вы должны прочесть замечания в начале файла Makefile. Измените настройки, как это нужно. Сделайте резервную копию оригинала на всякий случай. Когда построение будет закончено, должно получиться 2 выполнимых файла для MS-DOS, nb8390.com и nb3c509.com. Одна из этих программ и будет тем, что вам нужно запустить на бездисковом сервере. Она будет загружать ядро с сервера. На этом этапе поместите обе программы на загрузочную дискету MS-DOS, созданную ранее.

3. Определите, какую программу нужно запускать (на бездисковой системе)
Если вы знаете, какой набор микросхем используется в вашем адаптере Ethernet, это легко. Если у вас используется набор микросхем NS8390 или другой на ее основе, то нужно использовать nb8390.com. Если у вас используется набор микросхем на основе 3Com 509, то используйте программу загрузки nb3C509.com . Если вы не уверены в том, что у вас установлено, попробуйте использовать любой, и если он выдаст сообщение ``No adapter found '', попробуйте другой. Кроме этого, вам ничего не остается делать.

4. Загрузка по сети
Загрузите бездисковую систему без каких-либо файлов config.sys/autoexec.bat. Попробуйте запустить загрузочную программу для вашего адаптера Ethernet.

Мой адаптер Ethernet работает на наборе WD8013 в 16-разрядном режиме, так что я запускаю nb8390.com

C:> cd netboot C:> nb8390 Boot from Network (Y/N) ?Y BOOTP/TFTP/NFS bootstrap loader ESC for menu

Searching for adapter..
WD8013EBT base 0x0300, memory 0x000D8000, addr 00:40:01:43:26:66

Searching for server...

Теперь моя бездисковая система пытается найти машину, которая выступает в качестве сервера загрузки. Запомните строку addr выше, позже она вам понадобится. Перезагрузите бездисковую систему и измените ваши файлы config.sys и autoexec.bat , чтобы они выполняли эти действия автоматически. Может быть, в меню. Если вы запускали nb3c509.com , а не nb8390.com , то выводимые сообщения будут точно такими же. Если вы получили сообщение ``No adapter found '' после >Searching for adapter... , проверьте правильность задания параметров времени компиляции в файле Makefile .

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 сигнал HUP . Для этого найдите ID процесса inetd командой ps -ax | grep inetd | grep -v grep . После этого пошлите ему сигнал HUP. Это делается командой kill -HUP . Это заставит 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=... просто оставьте это так.

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

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

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

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

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

Note: Корневая файловая система, монтируемая через 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

Не забудьте запустить команду 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
 
 
Автор: Jerry Kendall
Категория: X Window | Добавил: oleg (25.11.2007)
Просмотров: 1192 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Beastie

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
links

Copyright MyCorp © 2024