Ris сервер для windows 2000 на Freebsd 7.2 - FreeBSD - BSD - Каталог статей - Игры под Ос Линукс
Воскресенье, 20.05.2012, 07:05 Приветствую Вас Гость

Cайт посвящённый играм под Linux

Меню сайта
Форма входа
E-mail:
Пароль:
Категории раздела
PC-BSD [22]
OpenBSD [12]
solaris [67]
FreeBSD [40]
Поиск
Главная » Статьи » BSD » FreeBSD

Ris сервер для windows 2000 на Freebsd 7.2
Как всегда получил задание от начальника. Теперь сделать RIS сервер для windows 2000 для наливки windows на компьютеры. Вопрос зачем? Ответ: так как объектов открывается много и при клонирование часто компьютеры вылетают через неделю с синим экраном и теперь при вылете можно перествить windows не таская комп в центральный офис, что можно сказать очень удобно. Сначала я задумывал только чистовую установку os, без программ, что и реализовал. Затем меня попросили собрать свою сборку, что бы стояли нужный программы, были остановлены ненужные службы и так далее. Нашел, что можно сделать с помощью sysdiff, идея понравилась. Реализовать не удалось, на этапе установки windows появлялись ошибки и в конце концов после такой установки даже explorer  не запускает. На момент написания статьи этот вопрос для меня остается открытым и очень актуальным, так как не удалось реализовать это и на windows server 2003, что меня очеь удивило -).

Поехли.


Сначала ставим распаковщик .cab  файлов windows, который нам пригодится


 


 


#cd /usr/ports/archivers/cabextract/


#make install clean


 


 


Создаем папку для tftp сервера и для samba, у меня это os3 (3я попытка запуска-))


 


 


#mkdir /usr/os3


 


 


Далее копирование папку из дистрибутива windows i386 в /usr/os3/win2k/i386.


 


 


#cd /usr/os3


#cp -R /some/where/i386 /usr/os3/win2k/


 


 


 Применяем наш распаковщик


 


 


# cd /usr/os3


# cabextract win2k/i386/startrom.n1_


Extracting cabinet: win2k/i386/startrom.n1_


  extracting startrom.n12


All done, no errors.


 


 


Переименоваем:


 


 


# cp startrom.n12 startrom.0


 


 


Снова распаковка


 


 


# cab win2k/i386/setupldr.ex_


cab: Command not found.


# cabextract win2k/ i386/setupldr.ex_


Extracting cabinet: win2k/i386/setupldr.ex_


  extracting setupldr.exe




All done, no errors.


 


 


И переименование:


 


 


# cp setupldr.exe ntldr


 


 


Файлик setupldr.exe необходимо оставить так как windows его спрашивает при установки.


 


Копируем файлик


 


 


# cp win2k/i386/ntdetect.com /usr/os2/pxelinux.0ntdetect.com


 


 


Теперь нужен файл ответов, можно создать с помошью setupmgr.exe лежит в дистрибутиве windows 2000 в deploy.cab, но его надо дополнить строками.


 


В моем случае это будет


 


 


[Data]


floppyless = "1"


msdosinitiated = "1"


; Needed for second stage


OriSrc = "\\10.1.1.1\OS\win2k\i386"


OriTyp = "4"


LocalSourceOnCD = 1


DisableAdminAccountOnDomainJoin = 1


[SetupData]


OsLoadOptions = "/fastdetect"


; Needed for first stage


SetupSourceDevice = "\Device\LanmanRedirector\10.1.1.1\OS\win2k"


[UserData]


ComputerName = *


; if needed


;ProductID=


 


 


Соответственно меняем ip если надо и назвние шарега.


Окончтельный вариант файла ответов:


 


 


# cat pxelinux.0winnt.sif (именно так должен называтся файл ответов, иначе выдст ошибку)


;SetupMgrTag            


[Data]                  


    AutoPartition=1     


    MsDosInitiated="1"  


    UnattendedInstall="Yes"


    floppyless = "1"      


    ; Needed for second stage


    OriSrc = "\\10.1.1.1\os3\win2k\i386"


    OriTyp = "4"                       


    LocalSourceOnCD = 1                


    DisableAdminAccountOnDomainJoin = 1




[Unattended]


    UnattendMode=FullUnattended


    OemSkipEula=Yes           


    OemPreinstall=Yes         


    TargetPath=\WINNT         


    DriverSigningPolicy=Ignore




[GuiUnattended]


    AdminPassword=*


    OEMSkipRegional=1


    TimeZone=145    


    OemSkipWelcome=1




[SetupData]


    OsLoadOptions = "/fastdetect"


    ; Needed for first stage    


    SetupSourceDevice = "\Device\LanmanRedirector\10.1.1.1\os3\win2k"




[UserData]


    FullName=+++


    OrgName=+++


    ComputerName=*




[Display]


    BitsPerPel=32


    Xresolution=1280


    YResolution=1024


    Vrefresh=60




[RegionalSettings]


    LanguageGroup=5


    SystemLocale=00000419


    UserLocale=00000419


    InputLocale=0419:00000419




[Identification]


    JoinWorkgroup=APTEKA




[Networking]


    InstallDefaultComponents=Yes


 


Теперь необходимо поствить из портов так сказать сам ris сервер, точнее под этим обликом скрывается tftp который будет транслировать прямой слеш в обратный, и верхний регистр в нижний.


 


 


# cd /usr/ports/net/ris/


# make install clean


 


 


 В конце установки выскочит


 


 


You can use the following parameters on /etc/rc.conf:




 binlsrv_enable (bool): Set to "NO" by default.


                        Set it to "YES" to enable binlsrv.




 binlsrv_infdir (path): Set to "/usr/local/share/ris/inf" by default.


                        Set it to your directory with inf files.




 Put all *.inf files into ${binlsrv_infdir} and start binlsrv.




 You can use the following parameters on /etc/inetd.conf:




 tftp dgram udp wait root /usr/local/libexec/in.tftpd in.tftpd -v -m /usr/local/


share/ris/tftp.map -s /tftpboot




 See http://oss.netfarm.it/guides/ for more details.


===> Installing rc.d startup script(s)


===>   Registering installation for ris-0.3


===>  Cleaning for tftp-hpa-0.49


===>  Cleaning for ris-0.3


 


 


Собственно,что и делаем


В  rc.conf пишем binlsrv_enable=''YES, так как стандартную папку я не переносил (/usr/local/share/ris) то 2 опция не нужна.


Далее открываем /etc/inet.conf  и добавляем строчку


 


 


 tftp dgram udp wait root /usr/local/libexec/in.tftpd in.tftpd -v -m /usr/local/share/ris/tftp.map -s /usr/os3


 


 


И запускаем inet


 


 


#/etc/rc.d/inetd forcestart,


 


 


если надо прописываем автозагрузку в rc.d  inetd_enable=”YES”


  Далее кладем в папку  /usr/local/share/ris/inf/  inf-файл от драйвера сетевой карты, компьютера на который будет наливаться windows по сети. И в /usr/local/share/ris/sys/ кладем sys файл.


 


 


#cd ..


# pwd


/usr/local/share/ris


# ./inf


inf/          infdump.py*   infparser.py*


# ./infparser.py


 


 


Запустив парсер мы создадим так сказать банк драйверов. (Так как все компьютеры в парке абсолютно одиноковые то мне понадобился только один драйвер на сетевую карту. )


 Далее нам необходим DHCP сервер, как всегда идем в порты


 


 


# cd /usr/ports/net/isc-dhcp30-server/


# make install clean


 


 


 


После установки


 


# cp  /usr/local/etc/dhcpd.conf.sample /usr/local/etc/dhcpd.conf


#ee /usr/local/etc/dhcpd.conf


 


 


 и добавляем строчки


 


 


subnet 10.1.1.0 netmask 255.255.255.0


{


range dynamic-bootp 10.1.1.10 10.1.1.100;


default-lease-time 6000;


max-lease-time 72000;


filename "pxelinux.0";


next-server 10.1.1.1;


}




filename "pxelinux.0" - имя загрузчика


next-server 10.1.1.1 – адрес tftp сервер


 


 


Далее ствим samba, и как всегда в порты


 


 


# cd /usr/ports/net/samba3


# make install clean


 


 


После установки


 


 


# ee /usr/local/etc/smb.conf


 


 


Добавляем сточки


 


[OS3]


path = /usr/os3


browseable = true


public = yes


only guest = yes


writable = yes


 


 


И необходимо не забыть в глобальной конфигурации поставить security = share чтобы samba не спрашивала имя пользователя и пароль.


 


 


#/usr/local/etc/rc.d/samba forcestart


 


 


Это пока все,  если не запущен запускаем inet, dhcp,samba. Включаем загрузку испытуемого компьютера по сети.


 


Во время установки windows попросили еще драйвер по моему для xp, нашел его подсунул, но снова ошибка, тогда не долго думю подсунул драйвер от 2000  и все запахало.                                                                    


 


 


# cp /usr/local/share/ris/sys/Rtnic.sys /usr/os2/win2k/i386/rtnicxp.sys


 


 


Закончили с настройкой. Тепрь надо описать состав каталога /usr/os3


 


 


# pwd


/usr/os3


# ll


total 608


-rwxrwxrwx  1 root  wheel   57268 Nov  1 18:11 menu.c32


-rwxrwxrwx  1 root  wheel  211216 Nov  1 18:11 ntldr


-rwxrwxrwx  1 root  wheel   15630 Nov  1 18:11 pxelinux.0


-rwxrwxrwx  1 root  wheel   34724 Nov  1 18:11 pxelinux.0ntdetect.com


-rwxrwxrwx  1 root  wheel    1067 Nov  1 20:45 pxelinux.0winnt.sif


drwxrwxrwx  2 root  wheel     512 Nov  1 18:10 pxelinux.cfg


-rwxrwxrwx  1 root  wheel  211216 Nov  1 18:11 setupldr.exe


drwxrwxrwx  3 root  wheel     512 Nov  1 18:10 win2k


#


 


Файлик menu.c32 нужен для рисоания миню выбора. В каталоге pxelinux.cfg должен быть файл


default  в котором  к каждому пункту меня прикреплено, что необходимо грузить.


 


 


# cat pxelinux.cfg/default


DEFAULT menu.c32         


PROMPT 0


ALLOWOPTIONS 0


TIMEOUT 100


#NOESCAPE 1




#MENU SHIFTKEY 1


MENU TITLE Shaitan edition 1.1




LABEL local


MENU LABEL Local Boot


MENU DEFAULT


localboot 0






LABEL floppies


        MENU LABEL > Install windows 2000


        KERNEL startrom.0




#


 


 


Сейчас предупреждение: я качал с оф. сайта pxelinux.0 загрузчик и остальные дела. Но они не пахали. Я был в отчаяние пока не нашел эти файлики в своей локальное сети и что бы другие не мучались прикрепляю их к статье.


В принцепе все. Кто подскажет дельный совет на счет своей сборки тому дам конфетку будуочень благодарен.

Категория: FreeBSD | Добавил: Lorg_Andre (16.04.2010)
Просмотров: 578 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email:
Код *:
Архив записей
Библиотека минотавра
Мини-чат
200
Статистика
... Хостинг от uCoz