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