diff --git a/ru_RU.KOI8-R/articles/diskless-x/article.sgml b/ru_RU.KOI8-R/articles/diskless-x/article.sgml index 6112757b90..6c8552cda9 100644 --- a/ru_RU.KOI8-R/articles/diskless-x/article.sgml +++ b/ru_RU.KOI8-R/articles/diskless-x/article.sgml @@ -1,367 +1,386 @@ %man; + + +%trademarks; ]>
Бездисковый X-сервер: руководство по настройке Jerry Kendall
jerry@kcis.com
28 декабря 1996 1996 + Jerry Kendall - + + + &tm-attrib.freebsd; + &tm-attrib.3com; + &tm-attrib.microsoft; + &tm-attrib.sun; + &tm-attrib.general; + + С помощью нескольких друзей из списка рассылки FreeBSD-hackers я смог настроить бездисковый X-терминал. Создание X-терминала, во-первых, требует сначала настройки бездисковой системы с минимальным набором утилит, доступных через NFS. Те же самые шаги были применены для создания двух разных бездисковых систем. Первая из них была - altair.kcis.com. Бездисковый X-терминал, - который работал на моей старой машине 386DX-40. На ней был диск - объемом 340 мегабайт, но я не хотел его менять. Так что машина - загружалась с antares.kcis.com по сети + altair.example.com. Бездисковый + X-терминал, который работал на моей старой машине 386DX-40. На ней был + диск объемом 340 мегабайт, но я не хотел его менять. Так что машина + загружалась с antares.example.com по сети Ethernet. Второй системой является 486DX2-66. Я настроил (полностью) бездисковую систему FreeBSD, которая не использует локальный диск. - Сервером в этом случае выступает Sun 670MP под управлением SunOS 4.1.3. - В обоих случаях требовалась одна и та же начальная настройка. - + Сервером в этом случае выступает Sun 670MP под управлением &sunos; + 4.1.3. В обоих случаях требовалась одна и та же начальная + настройка. + Я уверен, что к этому есть что добавить. Пожалуйста, присылайте мне любые замечания.
Создание загрузочной дискеты (на бездисковой системе) Так как сетевые начальные загрузчики не будут работать с некоторыми - резидентными (TSR) и прочими программами, используемыми в MS-DOS, то + резидентными (TSR) и прочими программами, используемыми в &ms-dos;, то лучше создать отдельную загрузочную дискету, или, если вы можете, создать - меню MS-DOS, которое будет (при помощи файлов + меню &ms-dos;, которое будет (при помощи файлов config.sys/autoexec.bat) спрашивать, какую конфигурацию следует загрузить при запуске системы. - Я использовал последний метод и он прекрасно работает. Мое меню MS-DOS + Я использовал последний метод и он прекрасно работает. Мое меню &ms-dos; (6.x) приводится ниже. <filename>config.sys</filename> [menu] menuitem=normal, normal menuitem=unix, unix [normal] .... normal config.sys stuff ... [unix] <filename>autoexec.bat</filename> @ECHO OFF goto %config% :normal ... normal autoexec.bat stuff ... goto end :unix cd \netboot nb8390.com :end Получение программ для сетевой загрузки (на сервере) - Откомпилируйте программы 'net-boot', расположенные в каталоге - /usr/src/sys/i386/boot/netboot. Вы должны прочесть - замечания в начале файла Makefile. Измените - настройки, как это нужно. Сделайте резервную копию оригинала на всякий - случай. Когда построение будет закончено, должно получиться 2 выполнимых - файла для MS-DOS, nb8390.com и + Откомпилируйте программы net-boot, расположенные в + каталоге /usr/src/sys/i386/boot/netboot. Вы должны + прочесть замечания в начале файла Makefile. + Измените настройки, как это нужно. Сделайте резервную копию оригинала + на тот случай, если что-то пойдёт не так, как ожидалось. Когда + построение будет закончено, должно получиться 2 + выполнимых файла для &ms-dos;, nb8390.com и nb3c509.com. Одна из этих программ и будет тем, что вам нужно запустить на бездисковом сервере. Она будет загружать ядро с сервера. На этом этапе поместите обе программы на загрузочную дискету - MS-DOS, созданную ранее. + &ms-dos;, созданную ранее. Определите, какую программу нужно запускать (на бездисковой системе) Если вы знаете, какой набор микросхем используется в вашем адаптере Ethernet, это легко. Если у вас используется набор микросхем NS8390 или другой на ее основе, то нужно использовать nb8390.com. Если у вас используется набор микросхем - на основе 3Com 509, то используйте программу загрузки + на основе &tm.3com; 509, то используйте программу загрузки nb3C509.com. Если вы не уверены в том, что у вас установлено, попробуйте использовать любой, и если он выдаст сообщение No adapter found, попробуйте другой. Кроме этого, вам ничего не остается делать. Загрузка по сети Загрузите бездисковую систему без каких-либо файлов config.sys/autoexec.bat. Попробуйте запустить загрузочную программу для вашего адаптера Ethernet. Мой адаптер Ethernet работает на наборе WD8013 в 16-разрядном режиме, так что я запускаю nb8390.com - -C:> cd \netboot -C:> nb8390 + 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. Настройка возможности системам загружаться по сети (на сервере) Проверьте, что в файле /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 <pid>. Это заставит inetd + пошлите программе &man.inetd.8; сигнал HUP. Для этого + найдите ID процесса inetd командой ps + -ax | grep inetd | grep -v grep. После этого пошлите ему + сигнал HUP. Это делается командой kill + -HUP <pid>. Это заставит inetd повторно прочесть свой конфигурационный файл. Не забыли ли вы строку с addr из вывода начального загрузчика на бездисковой системе? Как вы можете угадать, теперь он вам требуется. - Добавьте запись в файл /etc/bootptab (может быть, - вам потребуется его создать). Она должна иметь следующий вид: + Добавьте запись в файл /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'. + тип оборудования 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. Его - содержимое: + Создайте каталог /tftpboot, в котором будут + располагаться конфигурационные файлы для бездисковых систем, которые + будет обслуживать сервер. Эти файлы будут именоваться + cfg.ip, где + ip является IP-адресом бездисковой системы. + Конфигурационный файл для altair будет носить название + /tftpboot/cfg.199.246.76.2. Его содержимое: rootfs 199.246.76.1:/DiskLess/rootfs/altair -hostname altair.kcis.com +hostname altair.example.com - Строка hostname altair.kcis.com просто указывает - бездисковой системе ее полное доменное имя. + Строка hostname altair.example.com просто + указывает бездисковой системе её полное доменное имя. Строка rootfs 199.246.76.1:/DiskLess/rootfs/altair указывает бездисковой системе местоположение ее корневой файловой системы, монтируемой по протоколу NFS. Корневая файловая система, монтируемая через NFS, будет монтироваться в режиме только для чтения. Дерево для бездисковой системы может быть смонтировано повторно с правом на выполнение операций чтения и записи, если это потребуется. - Я использую мой никому не нужный 386DX-40 в качестве выделенного + Я использую свой никому не нужный 386DX-40 в качестве выделенного X-терминала. - Дерево для 'altair' имеет такой вид: + Дерево для 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. + + Если вы не используете &man.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 Приветствуются любые замечания и вопросы.
\ No newline at end of file +-->