1. Устанавливаем tftpd-hpa, syslinux, dhcp3-server apache2 (нужен для установки линукс), samba (нужен для установки WinXP) - выбирайте что-то одно или оба пакета:
"apt-get install tftpd-hpa syslinux dhcp3-server apache2 samba"
|
|
|
|
10. Настройки клиента [если ваш BIOS поддерживает загрузку по сети]:
В биосе при необхоимости включить pxe-rom (onboard lan rom и т.д.), выбрать в качестве первого загрузочного устройства pxe.
Если загрузка PXE невозможна, попробуйте использовать gPXE (загрузившись с hdd, usb, fdd) - см [10]
|
2. Подготавливаем dhcp-server:
Из пакета syslinux [1] берем загрузчик pxelinux [3]:
"cp /usr/lib/syslinux/pxelinux.0 /var/lib/tftpboot/"
В конфигурационный файл 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;
filename "pxelinux.0";
}
}"
Перезапускаем dhcp-server, openbsd-inetd:
"/etc/init.d/dhcp3-server restart"
"/etc/init.d/openbsd-inetd restart"
(меняйте подсеть, маску подсети, мак-адрес, ip-адрес, под свои нужды/конкретное железо)
[важная строчка - filename "pxelinux.0" - загружаемый файл от tftp]
Преднамеренно удалены указание на gateway, dns - иначе во время установки в некоторых дистрибутивах клиент начнет скачивать часть файлов из интернета
|
3. Подготовка меню загрузчика по типу grub/lilo:
Копируем необходимый файл для создания меню - menu.c32 [5]:
"cp /usr/lib/syslinux/menu.c32 /var/lib/tftpboot/"
Создаем особым образом конфигурационный файл [2] и заносим в него пункт меню по умолчанию - локальная загрузка:
"mkdir /var/lib/tftpboot/pxelinux.cfg"
"nano /var/lib/tftpboot/pxelinux.cfg/default"
"default menu.c32
prompt 0
menu title PXE Special Boot Menu
MENU AUTOBOOT Starting Local System in # seconds
label bootlocal
menu label ^Boot Local
menu default
localboot 0x0
timeout 80
TOTALTIMEOUT 9000"
|
4. Добавляем пункт меню "установка ubuntu 8.10":
Монтирование dvd-образа ubuntu:
"mkdir /var/www/ubuntu/"
"mount -o loop /path/to/iso/ubuntu-8.10-dvd-i386.iso /var/www/ubuntu"
Копирование ядра/initrd с переименованием:
"cp /var/www/ubuntu/install/netboot/ubutu-installer/i386/linux /var/lib/tftpboot/linux-u810"
"cp /var/www/ubuntu/install/netboot/ubutu-installer/i386/initrd.gz /var/lib/tftpboot/initrd-u810.gz"
Добавляем секцию в /var/lib/tftpboot/pxelinux.cfg/default:
"LABEL Ubuntu-8.10
MENU LABEL ^ubuntu
KERNEL linux-u810
APPEND initrd=initrd-u810.gz"
В процессе установки надо будет вручную выбрать зеркало для установки: "http://адрес_локального_сервера/ubuntu/"
NB: Для debian строчка append выглядит иначе: append initrd=initrd-d5.gz debian-installer/allow_unauthenticated=true (разрешение скачивать с непроверенных серверов) Следует использовать netboot-версии ядра/initrd для нужной версии дебиан. Они не входят в официальный дистрибутив, нужно скачивать с зеркал. Например http://mirror.yandex.ru/debian/dists/squeeze/main/installer-i386/current/images/netboot/netboot.tar.gz
|
5. Пункт меню "установка Fedora-10":
Монтирование dvd-образа Fedora-10:
"mkdir /var/www/fc10/"
"mount -o loop /path/to/iso/Fedora-10-i386-DVD.iso /var/www/fc10"
Копирование ядра/initrd с переименованием:
"cp /var/www/fc10/images/pxeboot/vmlinuz /var/lib/tftpboot/vmlinuz-fc10"
"cp /var/www/fc10/images/pxeboot/initrd.img /var/lib/tftpboot/initrd-fc10.img
Добавляем секцию в /var/lib/tftpboot/pxelinux.cfg/default:
"LABEL Fedora-Core_10
MENU LABEL ^fc10
KERNEL vmlinuz-fc10
APPEND initrd=initrd-fc10.img text"
Включен текстовый режим установки, хотя по умолчанию графический.
В процессе установки надо будет вручную выбрать зеркало для установки: "http://адрес_локального_сервера/fc10/"
|
6. Добавляем пункт меню "установка freebsd":
Установка и настройка proftpd:
"apt-get install proftpd"
Правим /etc/proftpd/proftpd.conf, разкоментируем в конце файла секцию anonymous ftp
Перезапускаем proftpd: /etc/init.d/proftpd restart
Монтирование iso-образа freebsd:
"mkdir /home/ftp/freebsd/"
"mount -o loop /path/to/freebsd.iso /home/ftp/freebsd"
Копирование загрузчика:
"cp /home/ftp/freebsd/boot/pxeboot /var/lib/tftpboot/pxeboot.0"
Копирование директории boot:
"cp -r /home/ftp/freebsd/boot /var/lib/tftpboot/freebsd/boot"
Правим /var/lib/tftpboot/freebsd/boot/loader.conf, добавляем строчку:
vfs.root.mountfrom="ufs:/dev/md0c"
Настраиваем NFS (apt-get install nfs-kernel-server), в файл /etc/exports добавляем строчку:
"/var/lib/tftpboot *(ro,all_squash)"
Не забыть перезапустить nfs-kernel: "/etc/nfs-kernel restart"
Правим /etc/dhcp3/dhcpd.conf, в секцию описывающую клиента добавляем строчку
option root-path "/var/lib/tftpboot/freebsd/"
Не забыть перезапустить dhcp: "/etc/init.d/dhcp3-server restart"
Добавляем секцию в /var/lib/tftpboot/pxelinux.cfg/default:
label freebsd
menu label ^freebsd
kernel pxeboot.0
в процессе установки выбираем ftp, вручную указываем путь к дистрибутиву: ftp://адрес_сервера/freebsd
|
7. Пункт меню "установка openbsd":
"cd /var/lib/tftpboot"
"wget ftp://ftp.chg.ru/pub/OpenBSD/4.5/i386/pxeboot" (исправить 4.5 на нужную версию)
cp pxeboot openbsd.0
Монтирование iso-образа openbsd:
"mkdir /home/ftp/openbsd/"
"mount -o loop /path/to/openbsd.iso /home/ftp/openbsd"
cp bsd.rd /var/lib/tftpboot
Добавляем секцию в /var/lib/tftpboot/pxelinux.cfg/default:
"label openbsd
menu label ^openbsd
kernel openbsd.0"
при загрузке указать bsd.rd; далее ftp://адрес_сервера/openbsd
|
8. Дос (win_98) с smartdrive и поддержкой сети.
Для этого понадобится memdisk (утилита для эмуляции fdd из образов)
"cp /usr/lib/syslinux/memdisk /var/lib/tftpboot"
"cd /var/lib/tftpboot/"
"wget http://sohounix.narod.ru/bootdisk/netboot.img"
netboot.img - специально подготовленный образ на основе " Bart's Network Boot Disk" (образ 2.88Mb дискеты созданный при помощи " BFD - Build Floppy Disk" максимальным количеством драйверов сетевых карт под дос и утилитой smartdrv.exe (из комплекта win_98, нужна для ускорения процессов копирования). Включает утилиту net.exe под дос для работы с win-сетевыми ресурсами
Добавляем секцию в /var/lib/tftpboot/pxelinux.cfg/default:
"LABEL net_dos_288
MENU LABEL ^net_dos_288
KERNEL memdisk
APPEND initrd=netboot.img"
В процессе загрузки задаст несколько вопросов, вроде все интуитивно понятно.
|
9. Установка winxp из сетевой папки:
Сервер:
Монтирование cd-образа WinXP:
"mkdir /media/winxp/"
"mount -o loop /path/to/iso/WinXP.iso /media/winxp"
Правим /etc/samba/smb.conf. Добавляем секцию (rw-доступ к смонтированному образу WinXP):
"[share]
comment = share
path = /media/winxp
browsable = yes
guest ok = yes
read only = no
create mask = 0755"
Клиент (также см. видео внизу страницы):
Загружаем дос с сетевой поддержкой (см. предыдущий пункт)
Утилитой fdisk разбиваем диск на нужное число партиций, при необходимости делаем одну из партиций активной, форматируем ее.
Запускаем Q:\NET\net.exe. Подключаем сетевую папку как локальный диск.
Запускаем установку WinXP:
"cd путь_к_подключенной_сетевой_папке/I386/"
"winnt"
Набраться терпения, некоторые стадии могут быть достаточно длительными.
|