Pomoc PXE + TFTP czyli linuksy bootowane po sieci

Pikpok

Passing Basics
Beginner
24 Marzec 2017
13
4
3
42
QNAP
TVS-x71
Ethernet
1 GbE
Moi drodzy

udalo mi sie ostatnio odpalic PXE + TFTP dla Clonzilli i Debiana
Jako ze nie widzialem watku opisujacego to u nas, zostawie cos dla potomnych, moze komus sie przyda

posilkowalem sie ponizszymi linkami:


  1. PXEBootInstall - Debian Wiki
  2. Clonezilla Live on PXE server
  3. How-To - PXE+TFTP - czyli instalacja Windows przez sieć



Zaznaczam ze to jeszcze nie jest finalna wersja wiec pewnie bede jakies zmiamy wprowdzal, ale wyglada narazie obiecujaco...
Kolejna rzecza do ktorej daze to systuacja w ktorej moj serwer PXE byl i dla Linuksow i dla Windowsow.
Obecnie tylko systemy linuksopodobne mi dzialaja.



Infrastruktura:

  • ruter Asusa z oryginalnym oprogramowaniem na ktorym stoi serwer DHCP
  • klient do bootowania z sieci - na nim robie testy (vmware host)
  • QNAP TVS-471 4.3.3.0154 - na ktorym uruchomiona jest usluga TFTP na katalogu: /tftproot (jak to zrobic opisal pieknie avis w swoim poscie - link powyzej pkt.3)


jego obecna struktura przedstawia sie nastepujaco:


Kod:
[~] # ls -la /share/tftproot/
total 48
drwxrwxr-x    6 admin    administ      4096 Apr 30 18:08 ./
drwxrwxrwx  40 admin    administ      4096 May  1 11:16 ../
drwxrwx---    4 admin    administ      4096 Apr 30 17:56 .streams/
drwxrwxr-x    9 admin    administ      4096 Apr 30 17:58 @Recycle/
drwxrwx---    2 admin    administ      4096 Apr 30 18:11 clonzilla_img/
drwxrwxr-x    3 admin    administ      4096 Jan 10 22:23 debian-installer/
lrwxrwxrwx    1 admin    administ        46 Apr 30 17:57 ldlinux.c32 -> debian-installer/i386/boot-screens/ldlinux.c32
lrwxrwxrwx    1 admin    administ        32 Apr 30 17:57 pxelinux.0 -> debian-installer/i386/pxelinux.0
lrwxrwxrwx    1 admin    administ        34 Apr 30 17:57 pxelinux.cfg -> debian-installer/i386/pxelinux.cfg/
-rw-rw-r--    1 admin    administ        64 Jan 10 22:23 version.info
[~] #




aby uzyskac taki stan, zrobilem ponizsze czynnosci:
Zmusilem mojego ASUSa do wskazywania na QNAP jako na urzadzenie do bootowania po PXE.
Jako ze mam wgrane oryginalne oprogramowanie na ruterze, moge to zrobic tylko w jeden sposob.
Poprzez wydanie polecenia z powloki rutera:

Kod:
promptrutera:/# dnsmasq --dhcp-boot=pxelinux.0,pxeboot,IP_QNAPA

niestety po restarcie ruter straci to ustawienie i trzeba bedzie ponowic, no nic, taki feature. Do przezycia

Teraz czas na PXE server

w katalogu /tftproot nalezy umiescic jakis boot image - ja uzylem w tym celu debiana
sciagnalem netboot.tar.gz
mozna go znalesc tu: http://ftp.nl.debian.org/debian/dis...er-i386/current/images/netboot/netboot.tar.gz


Po sciagnieciu rozpakowujemy go do naszego folderu tftp, u mnie /tftproot

powinno powstac cos w stylu:

Kod:
[~] # ls -la /share/tftproot/
total 48
drwxrwxr-x    6 admin    administ      4096 Apr 30 18:08 ./
drwxrwxrwx  40 admin    administ      4096 May  1 11:16 ../
drwxrwxr-x    3 admin    administ      4096 Jan 10 22:23 debian-installer/
lrwxrwxrwx    1 admin    administ        46 Apr 30 17:57 ldlinux.c32 -> debian-installer/i386/boot-screens/ldlinux.c32
lrwxrwxrwx    1 admin    administ        32 Apr 30 17:57 pxelinux.0 -> debian-installer/i386/pxelinux.0
lrwxrwxrwx    1 admin    administ        34 Apr 30 17:57 pxelinux.cfg -> debian-installer/i386/pxelinux.cfg/
-rw-rw-r--    1 admin    administ        64 Jan 10 22:23 version.info
[~] #


nastepnie dorzucilem clonzille

stworzylem katalog clonzilla_img w tftproot
ze sciagnietego wczesniej obrazu clonzilli live, wyekstraktowalem niezbedne pliki poleceniem (z konsoli qnapa):

Kod:
unzip -j clonezilla-live-*.zip live/vmlinuz live/initrd.img live/filesystem.squashfs -d /tftproot/clonzilla_img/


no i jestesmy prawie w domu

teraz tylko drobne zmiany w pliku konfiguracyjnym syslinux.cfg na ktorego wskazuje

/tftproot/pxelinux.cfg/default



Kod:
[/share/tftproot/debian-installer/i386/pxelinux.cfg] # ls -la /share/tftproot/pxelinux.cfg/default
lrwxrwxrwx    1 admin    administ        28 Apr 30 17:57 /share/tftproot/pxelinux.cfg/default -> ../boot-screens/syslinux.cfg



w moim wypadku ten plik wyglada tak:

Kod:
[/share/tftproot/debian-installer/i386/pxelinux.cfg] # cat  /share/tftproot/pxelinux.cfg/default
# D-I config version 2.0
# search path for the c32 support libraries (libcom32, libutil etc.)
path debian-installer/i386/boot-screens/
include debian-installer/i386/boot-screens/menu.cfg
default debian-installer/i386/boot-screens/vesamenu.c32
prompt 0
timeout 0
label Clonezilla-live
MENU LABEL Clonezilla Live 2.4.2-61-amd64
KERNEL clonzilla_img/vmlinuz
APPEND initrd=clonzilla_img/initrd.img boot=live username=user union=overlay config components quiet noswap edd=on nomodeset nodmraid locales= keyboard-layouts= ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_batch=no net.ifnames=0 nosplash noprompt fetch=tftp://IP_QNAPA/clonzilla_img/filesystem.squashfs

podmieniajac plik splash mozna miec swoje tlo:

Kod:
[/share/tftproot/debian-installer/i386/boot-screens] # ls -la ./splash.png
-rwxrwx---    1 admin    everyone    90299 Apr 30 19:40 ./splash.png*
[/share/tftproot/debian-installer/i386/boot-screens] # pwd
/share/tftproot/debian-installer/i386/boot-screens
[/share/tftproot/debian-installer/i386/boot-screens] #


po wszystkiemu przedstawia to sie nastepujaco:

upload_2017-5-1_12-40-48.png




Zachecam do poeksperymentowania z plikami *.cfg w katalogu tftproot/debian-installer/i386/boot-screens mozna osiagnac dosc ciekawa personalizacje.

Pozdrawiam

Wersja oprogramowania Firmware: 4.3.3 Build 20170413
Model serwera: QNAP TVS-471
 

Użytkownicy znaleźli tą stronę używając tych słów:

  1. tftp