Ako na računalu postoji nekakav OS, preko njega se može Unetbootinom instalirati novi OS, tako da nema potrebe za netbootom ali ponekad nema drugog izbora.
Daklem, potrebna su dva računala, jedan na koji se instalira OS (klijent) i drugi koji preko mreže glumi DVD-uređaj (server).
Kad se netboot jednom složi na serverskom računalu, instalirani programi mogu ostati za neku novu (ne)priliku i onda sve ide puno lakše.
Koliko mi je poznato, ovaj config vrijedi za svaki ubuntoid koji ima "casper" na instalacijskom DVD-u. Mint17 je također proradio sa "casper" a AntiX ne radi nikako, žali se da ne može pronaći NFS share.
Ovaj specifični postupak je samo za podizanje Live DVD ISO imagea putem dnsmasq-a, PXElinux-a i NFS share-a i to sa računala koje tjera Mint. To navodim zato što se komande za upravljanje servisima mogu razlikovati od distre do distre.
Sam proces bootanja ide otprilike ovako:
- Kad klijentsko računalo boota, PXE Boot prvo potraži neki DHCP server na mreži da od njega dobije IP adresu i podatak gdje se na mreži nalazi mrežni bootloader (PXElinux u ovom slučaju), kojega klijent mora učitati u memoriju putem tftp protokola. DHCP server mora imati konfiguriran netboot da bi to radilo.
- Bootloader se učita i pokrene. Očita svoju boot konfiguracijsku datoteku, koja je nalik syslinux ili grub datoteci. U ovom slučaju, kod pxelinuxa to je pxelinux.cfg/default datoteka.
- Kad očita konfiguraciju, pokrene kernel i initrd i proslijedi kernelu podatke gdje je datotečni sustav i kojim protokolom da ga prenosi (NFS u ovom slučaju).
- Kernel montira datotečni sustav i sve dalje ide normalnim tijekom kao sa DVD uređajem.
Postupak na klijentu:
1. U računalu klijentu, kojemu mrežna kartica podržava PXE, u BIOS-u treba omogućiti "PXE Boot", zove se još i "Intel UNDI" ili "Network Boot" i sl.
Postupak na serveru:
1. Instaliraj dnsmasq, nfs i syslinux (taj paket sadrži i pxelinux bootloader a dnsmasq sadrži i tftp server tako da ga nije potrebno posebno instalirati):
- Kod: Označi sve
sudo apt-get install syslinux dnsmasq nfs-kernel-server
2. Isključi firewall i isključi se sa LAN-a i WIFIja (to je najjednostavnije rješenje problema sukobljavanja DHCP servera na ruteru i onog koji će raditi na serveru)
3. Složi u Network Manageru jednu žičanu vezu sa statičkim IP-om (192.168.1.40 / 255.255.255.0) ili
- Kod: Označi sve
sudo ifconfig eth0 192.168.1.40 netmask 255.255.255.0 up
4. Napravi posebni folder, npr. u root folderu, /PXE i unutar njega još dva foldera, /isoimage i /pxelinux.cfg
- montiraj ISO image LiveDVD-a i prekopiraj kompletni sadržaj dvd-a u folder /PXE/isoimage
- iz foldera /PXE/isoimage/casper prekopiraj vmlinuz i initrd.gz u folder /PXE, iz foldera /usr/lib/syslinux prekopiraj u folder /PXE datoteke vesamenu.c32 i pxelinux.0
- provjeri da li nazivi kernela i initrd-a u konfiguracijskim datotekama odgovaraju stvarnim nazivima datoteka, jer ponekad distre imaju različite nazive (vmlinuz i initrd.gz ili .lz itd...)
5. U folderu /PXE/pxelinux.cfg/ napravi datoteku pod nazivom default i upiši ovo u nju:
- Kod: Označi sve
UI vesamenu.c32
LABEL Pokreni linux
KERNEL vmlinuz
APPEND boot=casper netboot=nfs root=/PXE initrd=initrd.gz nfsroot=192.168.1.40:/PXE/isoimage ip=dhcp rw
Za debian boot=casper zamijeni sa boot=live
6. Konfiguriraj DHCP tako da u /etc/dnsmasq.conf na kraju datoteke upišeš:
- Kod: Označi sve
port=0
interface=eth0
bind-interfaces
dhcp-range=192.168.1.50,192.168.1.150,12h
dhcp-boot=pxelinux.0
enable-tftp
tftp-root=/PXE
- onda pokreni DHCP server sa:
- Kod: Označi sve
sudo service dnsmasq start
7. Konfiguriraj NFS tako da u /etc/exports na kraju dodaš liniju:
- Kod: Označi sve
/PXE/isoimage *(rw,no_root_squash,async,insecure)
- onda promijeni dozvole datotekama u PXE folderu tako da nema gnjavaže sa pristupom preko tftp-a i nfs-a:
- Kod: Označi sve
sudo chmod -R 777 /PXE
i onda ako je NFS već pokrenut osvježiš stanje NFS-a tako da pokreneš komandu u terminalu:
- Kod: Označi sve
sudo exportfs -rv
Ako NFS nije pokrenut pokreni ga sa:
- Kod: Označi sve
sudo service nfs-kernel-server start
8. Pokreni klijentsko računalo. Ako zastane na promptu DHCP.../, samo na serveru ponovo pokreni DHCP sa:
- Kod: Označi sve
sudo service dnsmasq restart
jer se desi da dnsmasq ne vidi eth0 adapter ako je klijentsko računalo isključeno pa ga treba restartati.
Nakon što je posao gotov ne zaboravi isključiti DHCP na serveru prije nego se spajaš na LAN ili Wifi.