To jest stara wersja strony!
Instalujemy minimalną wersję Debiana wraz z podstawowymi programami:
apt-get install bzip2 unzip p7zip-full mc subversion subversion-tools telnet tcpdump ntpdate git rsync net-tools aptitude
W serwerze DHCP ustawiamy parametry:
filename "lpxelinux.0"; next-server 192.168.0.100;
Adres IP należy podmienić na adres naszego serwera.
Usługa TFTP jest wykorzystywana przez PXE do botowania przez sieć. Instalujemy:
aptitude install tftpd-hpa syslinux pxelinux
Kopiujemy i tworzymy:
cp /usr/lib/syslinux/memdisk /srv/tftp/ cp /usr/lib/syslinux/modules/bios/* /srv/tftp/ cp /usr/lib/PXELINUX/lpxelinux.0 /srv/tftp/ mkdir /srv/tftp/pxelinux.cfg touch /srv/tftp/pxelinux.cfg/default touch /srv/tftp/pxelinux.cfg/pxe.conf
Edytujemy plik /srv/tftp/pxelinux.cfg/pxe.conf i wpisujemy:
MENU TITLE PXE Server NOESCAPE 1 ALLOWOPTIONS 1 PROMPT 0 menu width 80 menu rows 14 MENU TABMSGROW 24 MENU MARGIN 10 menu color border 30;44 #ffffffff #00000000 std
Edytujemy plik /srv/tftp/pxelinux.cfg/default i wpisujemy:
DEFAULT menu.c32 TIMEOUT 600 ONTIMEOUT BootLocal PROMPT 0 MENU INCLUDE pxelinux.cfg/pxe.conf NOESCAPE 1 LABEL BootLocal localboot 0 TEXT HELP Boot to local hard disk ENDTEXT
Uruchamiamy usługe:
/etc/init.d/tftpd-hpa start
Botujemy komputer za pomocą sieci. Powinno pojawić się menu po ściągnięciu i wczytaniu konfiguracji przez komputer:
Ściągnie dużych plików po TFTP jest powolne - protokół HTTP jest szybszy. Instalujemy lekkiego demona HTTPD:
aptitude install nginx
Kopiujemy plik binarne oraz ISO do katalogu /var/www/html/ - np: ściągnijmy sobie z sieci dwa pliki: memtest oraz program do wyświetlania informacji o sprzęcie komputera:
wget http://www.memtest.org/download/5.01/memtest86+-5.01.iso.zip unzip ./memtest86+-5.01.iso.zip wget http://www.sysinfolab.com/files/astraiso.zip unzip ./astraiso.zip wget http://www.serverelements.com/bin/CORE3_Hardware_Detection_Tool.iso
Konfigurujemy teraz plik konfiguracji TFTP: /srv/tftp/pxelinux.cfg/default dodając na końcu wpisy:
LABEL Memtest KERNEL memdisk APPEND iso initrd=http://192.168.0.100/memtest86+-5.01.iso raw TEXT HELP Memory tester ENDTEXT LABEL HW Info KERNEL memdisk APPEND iso initrd=http://192.168.0.100/astraiso.iso raw TEXT HELP Hardware info ENDTEXT LABEL HW Info 2 KERNEL memdisk APPEND iso initrd=http://192.168.0.100/CORE3_Hardware_Detection_Tool.iso raw TEXT HELP Hardware info 2 ENDTEXT
Adres IP: 192.168.0.100 podmieniamy na adres naszego serwera HTTP.
NFS będzie nam potrzebny do zabotowania Linuxa Live, np Debiana lub Centosa, itp. Botowanie będzie odbywało się dwojako - najpierw kernel poprzez HTTP, a pozostałe pliki już po NFSie. Instalujemy:
aptitude install nfs-kernel-server portmap
Konfigurujemy dopisując na końcu pliku /etc/exports linijkę:
/srv/nfs 192.168.0.0/24(ro,async,no_root_squash,no_subtree_check)
Tworzymy katalog oraz przeładowujemy ustawienia:
mkdir /srv/nfs exportfs -a /etc/init.d/nfs-kernel-server reload
wget http://releases.ubuntu.com/18.04.1/ubuntu-18.04.1-desktop-amd64.iso mkdir /var/www/html/{ubuntu,debian,centos,mint} mount ./ubuntu-18.04.1-desktop-amd64.iso /mnt cp /mnt/casper/vmlinuz /srv/install/iso/ubuntu18/ cp /mnt/casper/initrd.lz /srv/install/iso/ubuntu18/ mkdir /srv/nfs/{ubuntu,debian,mint,centos} cp -r /mnt/* /srv/nfs/ubuntu/
Samba będzie nam potrzebna do podmontowania dysku sieciowego, aby móc zainstalować Windowsa przez sieć. Instalacja:
aptitude install samba
Mój plik /etc/samba/smb.conf wygląda tak:
[global] workgroup = WG server string = PXE log file = /var/log/samba/log.%m max log size = 50 idmap config * : backend = tdb cups options = raw netbios name = pxe map to guest = bad user dns proxy = no public = yes ## For multiple installations the same time - not lock kernel kernel oplocks = no nt acl support = no security = user guest account = nobody [install] path = /srv/samba read only = yes browseable = yes public = yes guest ok = yes
Tworzymy katalog i restartujemy Sambe:
mkdir /srv/samba /etc/init.d/samba restart
Do katalogu /srv/samba kopiujemy katalogi z instalkami Windowsów. Po skopiowaniu nadajemy uprawnienia:
chmod -R 777 /srv/samba/*
Tworzymy Windows 10 PE wg tutoriala: https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/winpe-create-usb-bootable-drive - plik ISO kopiujemy do katalogu /var/www/html/ i dopisujemy konfigurację do pliku /srv/tftp/pxelinux.cfg/default:
LABEL Windows 10 PE (64-bit) KERNEL memdisk INITRD http://192.168.0.100/win10pe_amd64.iso APPEND iso raw TEXT HELP Windows 10 Live CD (64-bit) with installer Windows 7, 8 and 10 ENDTEXT
Po zabotowaniu Windows 10 PE pojawi nam się konsola, w której wpisujemy:
net use z: \\92.168.0.100\install nobody /user:nobody z:
I wten oto sposób możemy się dobrać do instalek.