Универсальный сервер сетевой загрузки и установки. Часть 3

         Начнем с подготовки фалов для установки Windows XP. Монтируем образ диска с системой: 

mount -o loop /home/iso/winxpsp3.iso /home/temp/xp

Распаковываем и переименовываем файлы для загрузки:

cd /srv/tftpboot/
cabextract /home/temp/xp/I386/SETUPLDR.EX_
mv /home/temp/xp/I386/setupldr.exe ntldr
cabextract /home/temp/xp/I386/STARTROM.N1_
mv /home/temp/xp/I386/startrom.n12 startrom.0
cp /home/temp/xp/I386/NTDETECT.COM ntdetect.com
cp /home/temp/xp/BOOTFONT.BIN bootfont.bin

Копируем сам дистрибутив и переводим имена всех файлов в нижний регистр:

mkdir /srv/tftpboot/winxp
cp /home/temp/xp/* /srv/tftpboot/winxp/
convmv --lower -r --notest --replace *

Разрешим доступ к дистрибутиву через Windows network добавив в файл
«/etc/samba/smb.conf» секцию (сразу добавим секцию и для установки Windows 7):

[reminstall]
path = /srv/tftpboot/winxp/
public = yes
browsable = yes
read only = yes
guest ok = yes
[win7]
path =/srv/tftpboot/win7
public = yes
browsable = yes
read only = yes
guest ok = yes

Перезапускаем samba:

/etc/init.d/samba restart

     Для настройки  ris-linux понадобиться сам дистрибутив [4] и пакет драйверов сетевых карт. Готовый архив можно скачать отсюда [7], а можно изготовить самостоятельно (это позволит разобраться как в дальнейшем добавлять новые сетевые карты и обновлять их драйвера). 
 

Краткое описание как самому собрать пакет драйверов сетевых карт.

     RIS сервер хранит информацию о драйверах в файле «nics.txt», туда она попадает при помощи скрипта «infparser.py». Скрипт выполняет поиск в указанной ему директории файлов *.inf, считывает информацию о «Vendor Id» (уникальный идентификатор производителя оборудования) производителя и записывает в файл «nics.txt» строку вида:

8086 4227 w39n50.sys w39n50

 Создаем папки ris, ris/drv и ris/drv/sys в корне TFTP сервера:

mkdir /srv/tftpboot/ris
mkdir /srv/tftpboot/ris/drv
mkdir /srv/tftpboot/ris/drv/sys

      Затем необходимо скопировать и распаковать в папку /srv/tftpboot/ris/drv файлы net*.in_ (из папки i386 дистрибутивного диска). Туда же следует скопировать дополнительно *.inf файлы необходимых для добавления сетевых драйверов. Файлы *.sy_ и *.sys копируем в /srv/tftpboot/ris/drv/sys. После этого составляем список доступных драйверов:

vmhost:/srv/tftpboot/ris # python infparser.py drv/
Compiled 6384 drivers
generated devlist.cache
generated nics.txt

     Все, набор драйверов готов. Осталось скопировать содержимое каталогов drv/ и drv/sys/ в директорию с дистрибутивом Windows XP - /srv/tftpboot/winxp/i386/. В итоге в этой папке должны расположиться ВСЕ *.inf и *.sys файлы сетевых карточек. На сайте [10] есть немного другой способ, также пригодный для подготовки пакета драйверов в Windows XP.

Продолжаем настройку ris-linux.

Скачиваем и распаковываем ris-linux в папку с именем /srv/tftpboot/ris :

cd /srv/tftpboot/
wget ]]>http://oss.netfarm.it/guides/ris-linux-0.4.tar.gz]]>
tar -xvf ris-linux-0.4.tar.gz
mv  ris-linux-0.4 ris

Теперь необходимо указать путь по которому располагается дистрибутив. Для этого  открываем файл «binlsrv.py»  и правим там строку:

BASEPATH = /srv/tftpboot/winxp/
Запускаем WDS в режиме логирования для проверки :
./binlsrv.py -l binl.log
Succesfully loaded 6384 devices
Binlserver started... pid 7385

         Уже сейчас можно проверить работу сервера загрузив тестовый компьютер по сети и выбрав пункт «xpinstall». Если что-то не так проверяйте логи на предмет запрашиваемых у TFTP сервера файлов, они должны присутствовать на сервере в таком виде, как и запрашиваются. Наиболее часто встречающаяся ошибка это: «Выбранный образ операционной системы не содержит необходимых драйверов для имеющегося сетевого адаптера...»(рис.5).

Рисунок 5 Отсутствие необходимых драйверов

Рисунок 5 Отсутствие необходимых драйверов

Главная  Часть1   Часть2   Далее

Комментарии

Буду очень балагодарен, если прочитавшие оставят коменты. А если еще нажмут кнопочку +1 или поделятся в соц.сетях, то балгодарен трижды!

Жизнь бьёт ключом! И все больше по голове!>

Страницы

Похожие материалы по этой теме на сайте

Содержимое
Универсальный сервер сетевой загрузки и установки. Часть 4.
Часть 3 закончилась на рассмотрении ошибок возникающих при загрузке wim образа с Windows 7. Продолжим настройку WDS.
server_args = -s...
Универсальный сервер сетевой загрузки и установки. Окончание

В файле «install_menu.cmd» реализован выбор операционных систем для установки:

Интерпретатор CMD - вывод переменных со спецсимволами на экран и в файл

Известная, но слабоосвещенная тема - обработка в коммандном интерпретаторе CMD данных со спецсимволами.
В большинстве ситуаций она вполне решаема...
Плюс к этому периодически возникают задачи вывода в файл без перевода строки....

Скрипты для CMD

Скрипты выполняемые интерпретатором CMD.EXE - стандартной консольной оболочкой для Win2000/WinXP/Vista/Seven/Win8/Win2000 Server/Win2003/Win2008.

Страховое копирование по списку

Относительно простой вариант резервного копирования по списку файлов/папок с учетом типа резервной копии и количества хранимых копий по типам. Классические типы: дневная-недельная-месячная-годовая копии. Кодировка скрипта CP866....

Преобразование файлов 1CClientBankExchange в табличную форму

Лично мне периодически приходилось сталкиваться с обработкой данных не в табличной форме, а в "именованном формате" то есть когда каждый параметр пишется на отдельной строке в виде Параметр=Значение параметра причем файл...

Чтение данных из реестра в переменную окружения

Продвинутый кросплатформенный модуль для встраивания в скрипты, позволяющий в удобной форме получать данные из реестра для дальнейшего использования(как всегда - кодировка скрипта CP866):

Перевод столбца в строку

Преобразование столбца в строку с заданными разделителями и обрамлением. Кодировка скрипта CP866.
Символ двойной кавычки при этом не удастся использовать как разделитель или обрамление.