SOHOUnix & RIS-linux


[ETC]  [AskMe 1_2_3]  [Vuze]  [Deluge]  [PXE_OS_install]  [RIS linux]  [про wifi-антенны]  [13plus7@YouTube]  [Гостевая]  [Напишите мне]


RIS-linux (опробовано на Windows XP, но должно подойти для всех windows>=win2k см.[2]). Место действия - сервер на основе ubuntu 8.10:
1. "apt-get install cabextract unzip tftp-hpa samba dhcp3-server"

2. Подготовка необходимых файлов, доступ к дистрибутиву через tftp:

"mount -o loop /path/to/windows.iso /var/lib/tftpboot/winxp"

"cd /var/lib/tftpboot/"
"cabextract /var/lib/tftpboot/winxp/I386/SETUPLDR.EX_"
"mv setupldr.exe ntldr"
"cabextract /var/lib/tftpboot/winxp/I386/STARTROM.N1_"
"mv startrom.n12 startrom.0"

"cp /var/lib/tftpboot/I386/NTDETECT.COM ntdetect.com"

Для русской версии также необходимо:
"cp /var/lib/tftpboot/winxp/BOOTFONT.BIN /var/lib/tftpboot/"
3. Доступ к дистрибутиву через windows network:

настройка samba:
в файл /etc/samba/smb.conf необходимо добавить секцию:

[share]
path = /var/lib/tftpboot/
browsable = yes
read only = yes
guest ok = yes


Перезапускаем samba:
"/etc/init.d/samba restart"
4. настройка ris-linux-0.4 (см. [1])

"cd /var/lib/tftpboot"
"wget http://oss.netfarm.it/guides/ris-linux-0.4.tar.gz"
"tar -xvf ris-linux-0.4.tar.gz"

"wget http://unattendedxp.com/articles/wxpris/files/lan-drivers.zip"
"unzip lan-drivers.zip -d drv"

"cd ris-linux-0.4"

"./infparser.py ../drv/"

Примечание: lan-drivers.zip легко изготовить самостоятельно - надо извлечь особым образом inf и sys файлы драйверов сетевых карт из i386 и i386/driver.cab соответсвенно см. [3]

В итоге в /var/lib/tftpboot должны оказаться как минимум следующие файлы:

файлы: ntldr, startrom.0, bootfont.bin, ntdetect.com
каталоги: winxp, drv, ris-linux-0.4
 
5. проблема №0 - winnt.sif см. [8]:

"cp /var/lib/tftpboot/ris-linux-0.4/winnt.sif /var/lib/tftpboot/"
"nano /var/lib/tftpboot/winnt.sif"

в секции [data]:
OriSrc = "\\ip_адрес_сервера\share\winxp\i386"

в секции [SetupData]
SetupSourceDevice = "\Device\LanmanRedirector\ip_адрес_сервера\share\winxp"

можно заполнить секцию [UserData]
6. Поскольку мы устанавливаем windows с использованием unix возникают проблемы общения: символ "\" надо замещать на "/", есть проблемы с чувствительностью к регистру, есть слабости и в самой идеологии установки.
Проблемы можно решить при помощи remap - создаем файл remap.rules в /var/lib/tftpboot:

"nano /var/lib/tftpboot/tftpd.rules"

пишем:
желательно для каждого файла из /var/lib/tftpboot/drv/sys (но можно только для драйвера вашей сетевой карты):
r \\winxp\\i386\\fetnd5bv.sys /drv/sys/fetnd5bv.sys

Далее:
rg \\ /
rg A a
rg B b
...
rg Z z
 
7. Заносим в /etc/inetd.conf информацию о remap-файле (путь к remap-файлу с ключом -m):

"nano /etc/inetd.conf"
"tftp dgram udp wait root /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot -m /var/lib/tftpboot/tftpd.rules"
Перезапускаем inetd:
"/etc/init.d/openbsd-inetd restart"

Примечание: теперь подобные проблемы не должны возникать:
проблема №1 - txtsetup.sif status 21 (remap)
проблема №2 - setup.c и драйвер вашей сетевой карты (remap+drivers)
8. Для удобства отладки можно включить лог tftp-hpa. Для этого в файл "/etc/inetd.conf" в строчку запуска in.tftpd надо добавить ключ "-v":

"nano /etc/inetd.conf"
"tftp dgram udp wait root /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot -m /var/lib/tftpboot/tftp.rules -v"
Перезапускаем inetd:
"/etc/init.d/openbsd-inetd restart"

Логи в "/var/log/syslog", "/var/log/daemon.log"
9. В конфигурационный файл dhcp-сервера добавляем секцию:

"nano /etc/dhcp3/dhcp.conf"

"subnet 192.168.0.0 netmask 255.255.255.0 {
host net_install {
hardware ethernet XX:XX:XX:XX:XX:XX;
fixed-address 192.168.0.20;
option subnet-mask 255.255.255.0;
option routers 192.168.0.1;
option domain-name-servers 192.168.0.1;
filename "startrom.0";
}
}"


"/etc/init.d/dhcp3-server restart"

(меняйте подсеть, маску подсети, мак-адрес, ip-адрес, под свои нужды/конкретное железо)
[важная строчка - filename "startrom.0" - загружаемый файл от tftp]

Возможно использование pxelinux (указывайте startrom.0 в качестве kernel)
10. Запускаем на сервере binlsrv.py:

"cd /var/lib/tftpboot/ris-linux-0.4"
"./binlsrv.py&"

11. На клиентской машине включаем pxe rom. Указываем в качестве первого загрузочного устройства pxe.

В процессе может возникнуть необходимость в интеграции в дистрибутив драйверов, сервис-паков. Для этого можно использовать nLite (не знаю, работает ли под wine).


Ссылки:
1. http://oss.netfarm.it/guides/pxe.php...ris-linux
2. http://oss.netfarm.it/guides/ris-linux.php...ris для разных windows: win2k, win2k3, winxp
3. http://unattendedxp.com/articles/wxpris/..."Установка Windows XP по сети. RIS, но не Microsoft" (unattendedxp.com)
4. http://unattendedxp.com/articles/wxpris/files/lan-drivers.zip...набор драйверов сетевых карт для winxp/win2000
5. http://forum.unattendedxp.com/index.php...форум unattendedxp.com
6. http://www.promodus.net/linuxris...самая полная инструкция из виденных мной
7. http://www.nliteos.com...nLite - простая утилита для модификации дистрибутива
8. http://support.microsoft.com/kb/222478...про winnt.sif от Microsoft
9. http://oszone.ru/display.php?id=3204&do=print..."Особенности автоустановки через Remote Installation Services (RIS)" - подробная статья на oszone.net

RIS-linux
Cacodemon is registred Id Software TM.


Сайт создан в системе uCoz