| |
Copyright © 1996 Jerry Kendall
28 декабря 1996
FreeBSD is a registered trademark of Wind River Systems, Inc. This is expected to change soon.
3Com and HomeConnect are registered trademarks of 3Com Corporation.
Microsoft, FrontPage, MS-DOS, Outlook, Windows, Windows Media, and Windows NT are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.
Sun, Sun Microsystems, Java, Java Virtual Machine, JavaServer Pages, JDK, JSP, JVM, Netra, Solaris, StarOffice, Sun Blade, Sun Enterprise, Sun Fire, SunOS, and Ultra are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries.
Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this document, and the FreeBSD Project was aware of the trademark claim, the designations have been followed by the ``™'' or the ``®'' symbol.
С помощью нескольких друзей из списка рассылки FreeBSD-hackers я смог настроить бездисковый X-терминал. Создание X-терминала, во-первых, требует сначала настройки бездисковой системы с минимальным набором утилит, доступных через NFS. Те же самые шаги были применены для создания двух разных бездисковых систем. Первая из них была altair.example.com. Бездисковый X-терминал, который работал на моей старой машине 386DX-40. На ней был диск объемом 340 мегабайт, но я не хотел его менять. Так что машина загружалась с antares.example.com по сети Ethernet. Второй системой является 486DX2-66. Я настроил (полностью) бездисковую систему FreeBSD, которая не использует локальный диск. Сервером в этом случае выступает Sun 670MP под управлением SunOS™ 4.1.3. В обоих случаях требовалась одна и та же начальная настройка.
Я уверен, что к этому есть что добавить. Пожалуйста, присылайте мне любые замечания.
Так как сетевые начальные загрузчики не будут работать с некоторыми резидентными (TSR) и прочими программами, используемыми в MS-DOS®, то лучше создать отдельную загрузочную дискету, или, если вы можете, создать меню MS-DOS, которое будет (при помощи файлов config.sys/autoexec.bat) спрашивать, какую конфигурацию следует загрузить при запуске системы. Я использовал последний метод и он прекрасно работает. Мое меню MS-DOS (6.x) приводится ниже.
Откомпилируйте программы ``net-boot'', расположенные в каталоге /usr/src/sys/i386/boot/netboot. Вы должны прочесть замечания в начале файла Makefile. Измените настройки, как это нужно. Сделайте резервную копию оригинала на тот случай, если что-то пойдёт не так, как ожидалось. Когда построение будет закончено, должно получиться 2 выполнимых файла для MS-DOS, nb8390.com и nb3c509.com. Одна из этих программ и будет тем, что вам нужно запустить на бездисковом сервере. Она будет загружать ядро с сервера. На этом этапе поместите обе программы на загрузочную дискету MS-DOS, созданную ранее.
Если вы знаете, какой набор микросхем используется в вашем адаптере Ethernet, это легко. Если у вас используется набор микросхем NS8390 или другой на ее основе, то нужно использовать nb8390.com. Если у вас используется набор микросхем на основе 3Com® 509, то используйте программу загрузки nb3C509.com. Если вы не уверены в том, что у вас установлено, попробуйте использовать любой, и если он выдаст сообщение ``No adapter found'', попробуйте другой. Кроме этого, вам ничего не остается делать.
Загрузите бездисковую систему без каких-либо файлов 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.
Проверьте, что в файле /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=... | просто оставьте это так. |
Note: Проверьте правильность настройки 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.
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
Если вы не используете 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, прочитайте документацию прежде чем писать в <[email protected]>.
По вопросам связанным с этой документацией, пишите <[email protected]>.
По вопросам связанным с русским переводом документации, пишите <[email protected]>.
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |