Mi az a netboot? Olyan operációs rendszer, amely a hálózaton keresztül töltődik be, a helyi merevlemezen vagy egyéb tárolón nem is létezik.
A netboot kialakításához szüksége van egy TFTP és egy DHCP szerverre. A kettő lehet külön gépen is. Opcionális egy NFS szerver használata, ha távoli adattárolót szeretnénk használni.
Szükségünk van egy syslinux nevű csomagra, amelyben rendelkezésre áll néhány szükséges eszköz.
A hálózatról való rendszerindítást a számítógép BIOS rendszerének is támogatni kell. Ma már minden BIOS támogatja. Régebbi alaplapoknál előfordulhat ennek hiánya.
Egyik felhasználási terület lehet, ha a hálózatról induló rendszerről particionáljuk a számítógép tárolóit. Linuxon például a partimage program áll rendelkezésre, amelyet a lentebb említett RIPLinux alapból tartalmaz.
# apt install tftpd-hpa
Ellenőrizzük fut-e a démon:
# ps ax
Nézzük meg a megfelelő socketen figyel-e a démon:
# ss -apu | grep tftp
Lehetséges kimenet:
UNCONN 0 0 *:tftp *:* users:(("in.tftpd",pid=811,fd=4))
Telepítés után a /etc/default/tftpd-hpa fájlban szabályozhatók a beállítások.
TFTP_USERNAME="tftp" TFTP_DIRECTORY="/srv/tftp" TFTP_ADDRESS="0.0.0.0:69" TFTP_OPTIONS="--secure"
Például hol legyenek a bootolandó rendszerek:
TFTP_DIRECTORY="/srv/tftp"
A Debian9 létrehozza a /srv/tftp könyvtárat, ha még sem létezne, hozzuk létre:
mkdir /srv/tftp
# apt install isc-dhcp-server
Szerkesszük a DHCP szerver beállításait:
# mcedit /etc/dhcp/dhcpd.conf
Vegyük fel a hálózatunknak megfelelően, például a következőket:
subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.100 192.168.1.200; filename "pxelinux.0"; next-server 192.168.1.1; option subnet-mask 255.255.255.0; option broadcast-address 192.168.1.255; option routers 192.168.1.1; }
A fenti konfiguráció részletben két új sor van, ami előtt valószínűleg nem szerepelt:
filename "pxelinux.0"; next-server 192.168.1.1;
A „filename” egy a /srv/tftp könyvtárban rendszerindításhoz szükséges fájl neve. Ezt a fájlt majd később a helyére másoljuk.
A második sor a szerverünk IP címe.
# systemctl start isc-dhcp-server
apt install syslinux pxelinux
Telepítés után kapunk néhány hasznos állományt. Ezeket másoljuk a tftp könyvtárunkba:
cp /usr/lib/PXELINUX/pxelinux.0 /srv/tftp/
Hogy vesamenüt kapjunk szükség van a következőre is:
cp /usr/lib/syslinux/modules/bios/vesamenu.c32 /srv/tftp/ cp /usr/lib/syslinux/modules/bios/ldlinux.c32 /srv/tftp/
Telepítés után létre kell hoznunk egy /srv/tftp könyvtárban egy pxelinux.cfg könyvtárat. A TFTP szerver ezen könyvtár állományait beállítófájloknak tekinti. Hozzunk létre egy „default” nevű állományt, amelyben elhelyezzük az alapértelmezett beállításainkat.
mkdir /srv/tftp/pxelinux.cfg nano /etc/tftp/pxelinux.cfg/default
Az állomány tartalma lentebb.
PROMPT 1 DISPLAY menu.txt TIMEOUT 300 LABEL debinstall kernel debian/squeeze/i386/linux append vga=normal initrd=debian/squeeze/i386/initrd.gz -- LABEL deb kernel deb/vmlinuz append vga=normal initrd=deb/initrd.img
A „kernel” kulcsszóval kezdődő sorok után kell megadnunk a melyik kernelt szeretnénk indítani. A példában a kernel útvonalát relatívan adtuk meg, az /srv/tftp/ könyvtárhoz képest. Az „append” kulcsszó után írjuk a kernel paramétereit. Az initrd.img állomány útvonalát szintén relatívan adtuk meg. A „DISPLAY” kezdetű sor mutatja melyik állomány tartalmazza a megjelenítendő sorokat.
Ami meg fog jelenni az a menu.txt fájlban van:
debinstall deb
A menu.txt fájlban lévő soroknak persze meg kell felelniük a default nevű állományban az egyes LABEL után írt címkékkel.
Ekkor a boot folyamat során megjelenik a menu.txt tartalma, a várakozási jelhez beírjuk a debinstall vagy a deb szót attól függően melyik rendszert szeretnénk indítani.
Az /srv/tftp könyvtáron belül létre kell hozni a deb és a debian könyvtárat, amit fentebb megadtunk a menüben.
mkdir /srv/tftp/deb mkdir /srv/tftp/debian
A deb könyvtárba másoljuk be az indítható Debian vmlinuz és initrd.img állományát. Ezt például egy Debian 9 esetén a boot menüben található. Igaz ezeket át kell nevezni, mert a nevükben van verzió szám is. Így kapunk egy Debian 9 kernel, ami elindul.
A telepítőhöz, amit a „debian” könyvtárba teszünk, szükség van a Debian netboot csomagra:
apt install debian-installer-9-netboot-amd64
Telepíthető a debian-installer-9-netboot-i386 csomag is:
apt install debian-installer-9-netboot-i386
Ezek után másoljuk a helyére a telepítő két állommányát:
mdkir -p /srv/tftp/debian/stretch/amd64 cd /usr/lib/debian-installer/images/9/amd64/text/debian-installer/amd64/ cp initrd.gz /srv/tfpt/debian/amd64/initrd.gz cp linux /srv/tfpt/debian/amd64/linux
A menüvezérelt felülethez ki kell kapcsolnunk a várakozási jelet:
PROMPT 0
Szükségünk lesz még két állományra:
cp /usr/lib/syslinux/modules/bios/menu.c32 /srv/tftp/ cp /usr/lib/syslinux/modules/bios/libutil.c32 /srv/tftp/
Ezt meg kell adni a „DEFAULT” kulcsszó után:
DEFAULT menu.c32
Ki kell alakítanunk menüt:
MENU TITLE Udv a rendszerben MENU AUTOBOOT Automatikus indulas # masodperc mulva... MENU ROWS 2 MENU TIMEOUTROW 20
Az egyes menüpontok, csak ez után jönnek:
LABEL debinstall MENU LABEL Telepites KERNEL debian/squeeze/i386/linux APPEND vga=normal initrd=debian/squeeze/i386/initrd.gz -- LABEL deb MENU LABEL Rendszer KERNEL deb/vmlinuz APPEND vga=normal initrd=deb/initrd.img
Mindez, természetesen a „/srv/tfpt/pxelinux.cfg/default állományba kerül.
A beállítások komplett listája:
PROMPT 0 DEFAULT menu.c32 MENU TITLE Udv a rendszerben MENU AUTOBOOT Automatikus indulas # masodperc mulva... MENU ROWS 2 MENU TIMEOUTROW 20 LABEL debinstall MENU LABEL Telepites KERNEL debian/squeeze/i386/linux APPEND vga=normal initrd=debian/squeeze/i386/initrd.gz -- LABEL deb MENU LABEL Rendszer KERNEL deb/vmlinuz APPEND vga=normal initrd=deb/initrd.img
A grafikus felületű menüvezérlés csak annyiban különbözik az előző menüvezérléstől, hogy a menu.c32 állomány helyett a vesamenu.c32 szükséges. Ehhez kell még egy állomány, a libcom32.c32:
cp /usr/lib/syslinux/modules/bios/vesamenu.c32 /srv/tftp/ cp /usr/lib/syslinux/modules/bios/libcom32.c32 /srv/tftp/
Ekkor a „DEFAULT” kulcsszó után:
DEFAULT vesamenu.c32
Lássunk egy komplett „default” nevű állományt:
PROMPT 0 TIMEOUT 300 DEFAULT vesamenu.c32 MENU TITLE Udv a teszt rendszerben MENU AUTOBOOT Automatikus indulas # masodperc mulva... MENU ROWS 12 MENU TIMEOUTROW 20 LABEL debinstall MENU LABEL Telepito MENU PASSWD titok KERNEL debian/squeeze/i386/linux APPEND vga=normal initrd=debian/squeeze/i386/initrd.gz -- LABEL deb MENU LABEL Rendszer kernel deb/vmlinuz-2.6.32-5-686 append rw root=/srv/tftp/deb nfsroot=/srv/tftp/deb/ vga=normal initrd=deb/initrd.img-2.6.32-5-686 --
Egy-egy címkézett rész jelszóval védhető:
LABEL debinstall MENU LABEL Telepito MENU PASSWD titok KERNEL debian/squeeze/i386/linux APPEND vga=normal initrd=debian/squeeze/i386/initrd.gz --
MENU WIDTH 80 MENU MARGIN 10 MENU PASSWORDMARGIN 3 MENU TABMSGROW 18 MENU CMDLINEROW 18 MENU ENDROW 24 MENU PASSWORDROW 11
De nézzük meg a következő linket is:
Olyan kernel és initrd.gz fájl, amely telepítésre használható általában közé tesznek a Linux terjesztők. Ilyen letölthető például itt:
Komplett linuxos rendszer kevesebb van, de legyen egy itt:
A harmadik lehetőség, hogy magunk készítünk egy indítható rendszert. Ennek leírása egyszer…
Ebben a részben egy Core Linux netboot beállításait vesszük végig.
Elsőként be kell szereznünk egy Core Linuxot képfájlt. Ehhez a következő oldalt használhatjuk:
A Core Linuxból háromféle változat szerezhető be:
Core (11 MB) | Ez egy szimpla parancssoros változat |
TinyCore (16 MB) | Wifi kapcsolattal és GUI felülettel rendelkező változat |
CorePlus (106 MB) | Telepítő képfájl, de nem terjesztés |
A letöltésre kattintva a következő oldalra jutunk:
Itt csak 32 bites képfájlok vannak, de ha két könyvtárral feljebb kattintunk 64 bites képfájlokat is találunk:
Töltsük le a választott .iso kiterjesztésű állományunkat. Például:
wget http://distro.ibiblio.org/tinycorelinux/8.x/x86/release/TinyCore-current.iso
A képfájlnak egy tetszőleges helyet választhatunk. Esetleg létrehozhatunk egy /iso nevű könyvtárat és odamásolhatjuk.
Ezek után fel kell csatolnunk a letöltött képfájlt. Ehhez hozzunk létre a az /srv/tfpt könyvtárban egy újabb könyvtárat például tinycore néven:
mkdir /srv/tfpt/tinycore
Ide fel is csatolhatjuk:
mount -o loop /iso/TinyCore-current.iso /srv/tftp/tinycore
A csatolás után ellenőrizzük a tartalmát:
/srv/tfpt/tinycore
Ezek után csak fel kell vennünk a PXE boot menübe.
Szerkesszük a default állományt:
nano /srv/tftp/pxelinux.cfg/default
Vegyük fel a következő sort:
LABEL tinycore MENU LABEL Tiny Core 8.2 kernel tinycore/boot/vmlinuz append initrd=tinycore/boot/core.gz
Az /srv/tftp/pxelinux.cfg/default állományba a következő menüt hozzuk létre:
LABEL hdd MENU LABEL Rendszerinditas a helyi merevlemezrol LOCALBOOT 0
Leírások:
Menükészítés
initrd készítés:
Kész bootolható Linux:
Bootolható Debian telepítő:
Kapcsolódó linkek:
Bootolható Windows:
Fórum: