Библиотека Интернет Индустрии I2R.ru |
|||
|
Тряхнем старинойНеобходимое программное обеспечениеЧто нужно для счастья:
ИдеяЕсть N, нет N мало, M компьютеров 386, 486 можно даже PENTIUM, которых выкинуть жалко, а работать (или играться) в WINDOWS 9X/NT невозможно. Объединить компьютеры локальной сетью, убрать винчестеры и дисководы (можно, в принципе, и оставить) и загружать по сети. Есть много задач, для которых НЕ НУЖНА WINDOWS 9X/NT. Для примера: клиент банк, всевозможные FOXPRO базы, редактирование текстов (да, это НЕ опечатка) – есть хорошие DOS редакторы, есть WORD 6.0 для WINDOWS 3.Х, да много всякого разного есть под DOS или WINDOWS 3.Х. План действий.Установить на сервере пакет удаленной загрузки, установить пакет SAMBA (файл сервер для работы с WINDOWS клиентами использующий протокол NETBIOS over TCP/IP), настроить систему. На клиентской машине (с винчестером) создается работоспособная DOS система с сетевым клиентом, поддерживающим протоколы NETBIOS и TCP/IP (загружаемая с дискеты) и, по желанию, устанавливается WINDOWS 3.1 и приложения, конфигурирование, создание ПЗУ удаленной загрузки (или загрузочную дискету), создание Boot образа дискеты на сервере, переписывание на сервер в директорию пользователя нужные приложения, конфигурирование сетевой карты, установка ПЗУ удаленной загрузки, запуск бездисковых станций. Сборка и настройка клиентской машины.Теперь соберем клиентский компьютер, на котором будут проводиться опыты. Минимальные требования 386, 2 мегабайта оперативной памяти, винчестер 20 мегабайт, дисковод, сетевая карта. Конфигурирование сетевой карты заключается в разрешении удаленной загрузки и выставлении адреса блока памяти, куда будет отображаться ПЗУ. Как известно сетевые карты могут настраиваться перемычками или иметь встроенную флэш-память, из которой карта и берет при включении компьютера всю необходимую информацию о настройках. Будем считать, что сетевая карта у вас уже настроена для работы в обычном компьютере, т. е. выставлено прерывание и адрес ввода/вывода. Теперь необходимо разрешить карте работать с ПЗУ. Для этого на карте конфигурируемой перемычками необходимо включить перемычку BOOTROM ENABLED и выставить перемычками адрес блока памяти, куда будет отображаться ПЗУ (как правило, это адрес D000, D400) ВАЖНО чтобы этот адрес не был занят. Для сетевой карты без перемычек в комплекте с драйверами идет программа конфигурации и тестирования сетевой карты. Воспользуйтесь :-)). После проделанных манипуляций вставьте ПЗУ в панель. НЬЮАНСЫ. Некоторые сетевые карты требуют для правильной работы удаленной загрузки в BIOS определить диск А (все равно какого типа). Установка и настройка программного обеспечения на сервере.Установка пакета etherboot не должна вызвать никаких сложностей. Читайте readme. Установка и настройка пакета SAMBA тоже не сложная, наиболее типичные настройки приведены в документации. Также необходимо установить следующие пакеты: сервер BOOTPD, сервер TFTP. После установки необходимо настроить сервер BOOTPD и сервер TFTP. Для автоматического старта демона BOOTPD необходимо добавить следующую строчку в файл /etc/inetd.conf: bootps dgram udp wait root /usr/sbin/tcpd bootpd После этого необходимо создать bootp базу, ставящую в соответствие Ethernet адресам адреса IP и хранящая другую необходимую информацию (подробнее смотри man). Эта база находиться в файле /etc/bootptab и для моего случая содержит следующие строки: client1:hd=/tftpboot:vm=auto:ip=192.168.40.33: :ht=ethernet:ha=008048e2eb9c: :bf=bootnet Рассмотрим подробнее, какие поля за что отвечают: hd домашняя директория, где находится загрузочный образ ht тип устройства ha – аппаратный адрес хоста. Для Ethernet карты это MAC адрес ip – адрес для бездискового клиента bf имя загрузочного образа для бездисковой станции Установка и настройка программного обеспечения на клиенте.Наша задача установить и отконфигурировать программы на клиентской машине, чтобы позднее перенести это на бездисковые клиентские компьютеры. Теперь начинаются мучения (как обычно грязная ругань в сторону Microsoft опущена). Во-первых, для подключения к винчестеру сервера необходим DOS клиент, поддерживающий следующие протоколы – TCP/IP и NETBIOS, WINSOCKET (для корректной работы WINDOWS 3.1 с нашей сетью). Раз Мы решили использовать WINDOWS 3.1 то вполне логично в качестве клиента использовать Microsoft Network Client for MS-DOS version 3.0. Теперь подготовим клиентский компьютер на винчестер запишем инсталляцию сетевого клиента и WINDOWS 3.1. Поскольку программистам MICROSOFT на правила хорошего тона наплевать поставить клиента на винчестер, а потом переписать на дискету и с нее запускать клиента не получится – при установке клиента некоторые пути прописываются ПРЯМО в исполняемый файл. Поэтому сделаем следующее создадим на винчестере директорию tmp и выполним команду (у меня эта команда прописана в autoexec ленивый я, ленивый!) subst a: c:/tmp/ . В результате в системе появится псевдодисковод A:. После этого начнем установку клиента на псевдодисковод A:. Если в ходе установки клиент зависнет, не расстраивайтесь, повторите установку клиента. Нам необходимо при инсталляции правильно выставить параметры сетевой карты, выбрать необходимые протоколы, определить имя пользователя и рабочую группу. Будем считать, что Вы успешно установили клиента. Перед тем как поспешно радоваться необходимо поработать руками (а кое-где и головой). Во-первых, нужно НОРМАЛЬНО настроить клиента, чтобы Вы смогли подмонтировать диски SAMBA. Копируем установленного клиента куда-нибудь в сторонку и начнем издевательства. Нам необходимо навести порядок в следующих файлах HOSTS, LMHOSTS, NETWORKS, PROTOCOL.INI, SYSTEM.INIГрамотные люди наверняка знают, что должно быть в файлах HOSTS, LMHOSTS, NETWORKS, поэтому не будем о них. Остановимся на файлах PROTOCOL.INI и SYSTEM.INI В файле PROTOCOL.INI есть следующая секция [TCPIP] NBSessions=6 SubNetMask0=255 255 0 0 IPAddress0=0 0 0 0 DisableDHCP=0 DriverName=TCPIP$ BINDINGS=MS$NE2CLONE LANABASE=1 Мы должны привести значения полей SubNetMask0, IPAddress0, DisableDHCP к следующему виду: SubNetMask0=255 255 255 0 IPAddress0=192 168 40 33 DisableDHCP=1 Где IPAddress0=192 168 40 33 адрес бездисковой машины, DisableDHCP=1 запрещает использование динамической выдачи IP адресов. В файле SYSTEM.INI для нас интересны следующие ключи: [network] . computername=A lanroot=A:\NET username=A workgroup=MYGROUP Вот вроде бы и все. Перегружаем машину, запускаем файл net и просматриваем доступные нам соединения. Если Вы правильно отконфигурировали клиента и SAMBA, то должны увидеть в списке доступных ресурсов LINUX сервер с ресурсом имя_пользователя. Вот в той директории /home/имя_пользователя мы и будем складировать нужные нам программки (в частности WINDOWS 3.1.). Если Вы подумали что на этом мучения закончились вы очень даже себе ошибаетесь. На родном сайте национального американского производителя программных продуктов берем следующие файлики 51.TXT, 62.TXT ( ftp://ftp.microsoft.com/bussys/winnt/kb/Q142/0/62.txt ftp://ftp.microsoft.com/bussys/winnt/kb/Q128/7/51.txt). В этих файлах описывается как установить и заставить работать WINDOWS 3.1 и Microsoft Network Client version 3.0 for MS-DOS. После установки WINDOWS 3.1 не забудьте в свойствах WINDOWS 3.1 установить тип своп файла как ОТСУТСТВУЕТ (в дальнейшем это поможет избегать перегрузки сети пересылками туда-сюда файлов подкачки). Создание загрузочной ПЗУ (загрузочной дискеты).Следующий шаг найти подходящий образ ПЗУ. Обычно на просторах ExUSSR в дешевые персоналки (а порой и не очень дешевые, а иногда и в СОВСЕМ не дешевые) устанавливали какой-нибудь китайский клон NE2000. Для нас это не так уж и плохо. Пакет etherboot в своем составе имеет большое количество образов ПЗУ, в том числе и NE2000 (полный список сетевых карт, для которых имеются образы ПЗУ, смотрите в документации etherboot). Допустим, наша сетевая карта – клон NE2000. Образ ПЗУ для нее – файл ne.lzrom, находящийся в директории src-32. Следующий шаг, перед тем как программировать ПЗУ, проверить, а действительно ли наша карта будет корректно работать с ПЗУ. Для этого необходимо сделать специальную дискету, на которой записана загрузочная программка и образ ПЗУ для нашей карты. Для карты NE2000 берется файл ne.lzrom находящийся в директории src-32. Затем создаем загрузочную дискету командой: cat floppyload.bin ne.lzrom /dev/fd0 (fd0 для дисковода A: и fd1 для дисковода B:). После этого можно пробовать загрузить наш клиентский компьютер с полученной дискеты. Вы должны увидеть сообщение о старте TFTP сервиса, о получении вашей бездисковой машины IP адреса и сообщение об отсутствии загрузочного образа. Не расстраивайтесь – мы убедились, что образ ПЗУ благополучно загрузился, стартовала удаленная загрузка но не был найден образ загрузочной дискеты. Правильно – мы ведь ее еще НЕ ИЗГОТОВИЛИ. Теперь берем ПЗУ с УФ стиранием 2764 (можно конечно и советский аналог К273РФ6, но сейчас проще найти деталь производства Intel или других зарубежных производителей), берем программатор, файлик ne.lzrom и благополучно прошиваем ПЗУ. КАК?!! У вас нет программатора? И не знаете где взять ПЗУ? Тогда, если вы представитель достославного племени ФИДО – в эху типа TSURUPINSK.HELPME, TSURUPINSK.HARDWARE или подобные. Добрые люди помогут. Если Вы не знаете о существовании племени ФИДО, но знакомо слово Internet – ищите в NEWS подобные темы и спрашивайте там. Крайний случай – пройдитесь по радиорынку или компьютерным фирмам – может вам помогут. Совсем крайний случай – напишите мне, что-нибудь придумаем. Наконец, у нас появилась запрограммированное ПЗУ. Теперь плавно переходим к следующей части нашей трагедии. Установка ПЗУ в панель (в другой версии перевода с Ангельского языка – Установка ПЗУ в кроватку). Нет, не в том смысле. На сетевой карте есть специальный разъем, куда устанавливается ПЗУ. ВАЖНО!!! Дабы избежать безвременной кончины ПЗУ главное правильно установить ее в панель. В инструкции к сетевой карте обычно это подробно расписано. Для остальных – на короткой стороне ПЗУ и панельки есть выемка (так называемый ключ). Необходимо установить ПЗУ так, чтобы выемки на панельке и на ПЗУ были с одной стороны. Конфигурируем сетевую карту и включаем машину. Создание загрузочного образа дискеты.А теперь самое интересное – изготовление загрузочного образа. Как все нормальные люди пойдем от простого к сложному – попробуем загрузить по сети операционную систему всех времен и народов… Кто сказал Windows? Нет, начнем с основ – с DOS. Итак как обычно в диалектическом материализме имеем два варианта: делаем загрузочную дискетку или – не делаем. Это как?!! А вот так. В отличие от Nowell или Lantastic мы можем спокойненько свалить в отдельную директорию на винчестере необходимые нам файлы и возиться с ними в свое удовольствие, вместо того, чтобы постоянно переписывать дискетку. Итак, делаем загрузочную дискету (если вы не знаете, КАК сделать загрузочную дискету в DOS – читайте Фигурнова, а эту статью – где-то через пол-года, год интенсивной учебы). Берем DOS 5.0 (6.ХХ, 7.ХХ) помните, чем новее версия DOS, тем больше системные файлы, при близкой функциональности, запишем еще Volkov Commander (или ваш любимый TETRIS), создаем config.sys и autoexec.bat. Загружаемся с дискетки, проверяем работоспособность TETRIS. Все работает. Теперь необходимо специальной программой создать образ загрузочной системы. Генератор образа дискеты называется mknbi-linux для загрузки LINUX, mknbi-dos для загрузки DOS. Эта утилита входит в состав пакета NETBOOT который распространяется как отдельно, так и в составе Etherboot (директория /netboot) Описание утилиты можно посмотреть в man mknbi-dos. Сама утилита mknbi-dos находится в директории /usr/local/bin. Если она отсутствует – необходимо скомпилировать. Вводим следующую команду: mknbi-dos r /dev/fd0 o bootnet Где /dev/fd0 источник файлов для загрузочного образа (в данном случая – дискета) bootnet имя файла – загрузочного образа Таким образом мы получили загрузочный образ с дискеты. Для создания загрузочного образа из файлов находящихся на винчестере делаем следующее создаем директорию (например /t) и переписываем туда нужные файлы. А потом Да-да та же самая команда, только в профиль mknbi-dos r /t o bootnet Вот мы и получили загрузочный образ со странным именем bootnet. Теперь спокойненько копируем (или переносим) его в заранее созданную нами директорию /tftpboot (в моем случае). Загрузка бездисковой машины.А теперь пришла пора испытать, чего мы там накрутили. У подопытной машины отключаем в BIOS винчестер и дисководы (для чистоты эксперимента), устанавливаем ПЗУ в сетевую карту и включаем. Если нормально все отконфигурировано – получим машину с загруженным DOS и дисководом A:, на котором находятся все файлы с ранее созданной нами загрузочной дискеты (или директории). Поздравьте себя с Победой, лепите себе памятник из пластилина на родине Героя. А теперь буду Вас расстраивать – смысл всего того, что наворотили? Ну загрузили машину по сети, ну есть наш любимый TETRIS, а дальше? И где дисковод? Есть следующие варианты: во-первых, существует возможность создать загрузочный образ таким образом, что в DOS загрузочная дискета будет видеться как диск С:. Второй вариант – собственно то, ради чего все и начиналось – раздача по сети винчестера сервера и принтера, возможность загрузки WINDOWS 3.1 (установка и настройка WINDOWS 3.1 описана ранее). Оптимизация бездисковой загрузки.Если вы успокоились – то это напрасно. Microsoft Network Client у меня занял приблизительно 1,7 мегабайта. Как по мне – очень много. Можно сократить это до 800 килобайт. Вот список файлов, которые необходимо оставить: A.PWL CONNECT.DAT DHCP.PRM DNR.EXE EMSBFR.EXE HOSTS IFSHLP.SYS LMHOSTS NDISHLP.SYS NE2000.DOS NEMM.DOS NET.EXE NET.MSG NETBIND.COM NETWORKS NMTSR.EXE PROTMAN.DOS PROTMAN.EXE PROTOCOL PROTOCOL.INI SERVICES SHARES.PWL SOCKETS.EXE SYSTEM.INI TCPDRV.DOS TCPTSR.EXE TCPUTILS.INI TINYRFC.EXE UMB.COM WFWSYS.CFG WSAHDAPP.EXE Вот полное содержимое файлов Protocol.ini, System.ini, Tcputils.ini Protocol.ini [network.setup] version=0x3110 netcard=ms$ne2clone,1,MS$NE2CLONE,1 transport=tcpip,TCPIP lana0=ms$ne2clone,1,tcpip [TCPIP] NBSessions=6 SubNetMask0=255 255 255 0 IPAddress0=192 168 40 33 DisableDHCP=1 DriverName=TCPIP$ BINDINGS=MS$NE2CLONE LANABASE=1 [MS$NE2CLONE] IOBASE=0x320 INTERRUPT=5 DriverName=MS2000$ [protman] DriverName=PROTMAN$ PRIORITY=MS$NDISHLP [MS$NDISHLP] DRIVERNAME=ndishlp$ BINDINGS=MS$NE2CLONE System.ini [network] sizworkbuf=1498 filesharing=no printsharing=no autologon=yes computername=A lanroot=A:\NET username=A workgroup=MYGROUP reconnect=yes dospophotkey=N lmlogon=0 logondomain= preferredredir=full autostart=full maxconnections=8 [network drivers] netcard=ne2000.dos transport=ndishlp.sys,tcpdrv.dos,nemm.dos devdir=A:\NET LoadRMDrivers=yes [386enh] TimerCriticalSection=5000 UniqueDosPSP=TRUE PSPIncrement=2 [Password Lists] *Shares=A:\NET\Shares.PWL A=A:\NET\A.PWL B=A:\NET\B.PWL Tcputils.ini [tcpglobal] drivername=GLOBAL$ hostname=username [sockets] drivername=SOCKETS$ bindings=TCPIP numsockets=4 numthreads=32 poolsize=3200 maxsendsize=1024 [DNR] drivername=DNR$ bindings=TCPIP nameserver0=192 168 40 233 [telnet] drivername=TELNET$ bindings=TCPIP nsessions=0 max_out_sends=0 Это мои autoexec.bat, config.sys Config.sys FILES=100 dos=high,umb device=C:\WINDOWS\HIMEM.SYS device=C:\WINDOWS\EMM386.EXE ram LASTDRIVE=Z device=IFSHLP.SYS STACKS=9,256 Autoexec.bat set path=C:\WINDOWS;c:;c:\dos;c:\vc;c:\net PATH=C:\IDAPI;%PATH% SET TEMP=C:\WINDOWS\TEMP Rem следующая строчка используется при отладке на винчестерной машине subst a: c:\a A:\NET\net initialize A:\NET\netbind.com A:\NET\umb.com A:\NET\tcptsr.exe A:\NET\tinyrfc.exe A:\NET\nmtsr.exe A:\NET\emsbfr.exe A:\NET\dnr.exe A:\NET\sockets A:\NET\net start Существует возможность удалить из ОЗУ загрузочный образ дискеты. Смотрите man ethernet описание rmrd.com. Пишите. Рекомендуемая литература:
Анонсы статей сайта Softerra |
|
2000-2008 г. Все авторские права соблюдены. |
|