2012. március 25., vasárnap

Ubuntu 12.04 telepítése PXE-szerver használatával

Az előző pár cikkben elkészítettünk egy PXE-szervert, s utóbb megoldottuk azt is, hogy a hálózatról bootoló gépeink erről a PXE-szerverről el tudják indítani a SystemRescueCd nevű... ööö... mit is? Szóval a SystemRescueCd-t.

A mai feladat az, hogy a PXE-szerverről elindítsunk egy olyan Ubuntu-telepítőt, amelyik majd úgy telepíti az Ubuntu 12.04-et a gépre, hogy az internetről tölti le a szükséges állományokat.

Pár blogbejegyzéssel korábban már látható volt a "tesztlaboromat" bemutató kép:
A virtuális szerver a PXE-boot szerver, és a virtuális kliens lesz az, amelyikre Ubuntu-t telepítünk. A sikeres telepítés előfeltétele, hogy a virtuális szerver címfordításos (NAT-olt) internetelérést biztosítson a kliensének, mégpedig névfeloldással együtt.

A folyamat elvi vázlata a következő:
  1. A kliensen megjelenik a PXE-menü.
  2. Innen az Ubuntu telepítőt választjuk.
  3. A szükséges minimál-rendszer a szerverünkről letöltődik a kliensre, és futni kezd.
  4. A kliens a telepítéshez szükséges fájlokat közvetlenül az internetről tölti le magának.
Ebből az első pont már megy. Lássuk a másodikat: le kell töltenünk a bitjeink (32/64) számának megfelelő netboot-archívumot. Innen indulhatunk el, és a megnyíló könyvtárból a netboot.tar.gz fájl kell nekünk. Ha ez lent van, akkor a tartalmából az ubuntu-installer mappa kell: másoljuk a /var/lib/tftpboot alá.

A fájljaink ezzel a helyükre kerültek, már csak az a dolgunk, hogy a PXE-boot menüt módosítsuk. Íme az új változat, amelyben én a 32-bites változatot használom: (a változások vastagítva):
DEFAULT menu.c32
TIMEOUT 50
TOTALTIMEOUT 9000
ALLOWOPTIONS 0
ONTIMEOUT hdd

MENU TITLE Mondd csak: Mit inditsak?
LABEL hdd
        MENU LABEL Bootolas a helyi merevlemezrol
        LOCALBOOT 0

LABEL sysrescd
        MENU LABEL SystemRescueCd
        MENU PASSWD titok
        KERNEL sysrescd/rescuecd
        APPEND initrd=sysrescd/initram.igz netboot=http://192.168.56.101/sysrescd/sysrcd.dat setkmap=hu

LABEL ubuntuinstall
        MENU LABEL Ubuntu telepites
        MENU PASSWD titok
        KERNEL menu.c32
        APPEND ubuntu-installer/i386/pxelinux.cfg/default


Indíthatjuk a klienst, és a megjelenő menüből a harmadik lehetőséget választjuk. Ekkor újabb menü jelenik meg, s ez már az Ubuntu telepítő menüje. Mondjuk, hogy telepíteni akarunk, és válaszolgassunk a megjelenő kérdésekre a szívünk szándéka szerint.

Eccer csak ilyet látunk:
Válasszuk az Ubuntu desktop lehetőséget, és előbb-utóbb tényleg lesz egy igazi 12.04-es Ubuntunk.
Klassz, igaz?
A következő feladat az lesz, hogy ne az internetről csússzon le a sok cucc, hanem készítünk egy helyi tükröt. Persze ez csak annak érdekes, akiknek 
  • sok gépet kell telepíteni és/vagy
  • vékony a netkapcsolatuk.
Ilyenek például a magyar iskolák rendszergazdái.

(Pedig azt hittem, hogy itt vége a bejegyzésnek, de nem. Az a helyzet, hogy eddig nagy volt a szám, de most rájöttem, hogy a Virtulabox (4.1.2_Ubuntu r38459) BIOS-a újabb helyen bugos, és a fent megadottak szerint nem működik a bootolás a helyi merevlemezről... Úgyhogy vissza a régi jó módszerekhez. Kell még egy fájl:
sudo cp /usr/lib/syslinux/chain.c32 /var/lib/tftpboot/
És módosítanunk kell a PXE-boot menüt is (csak a szóbanforgó menüpontot adom meg itt):
LABEL chain
        MENU LABEL Bootolas a helyi merevlemezrol (szutyok BIOS eseten)
        KERNEL chain.c32
        APPEND hd0 0
Na, ezzel már indul a frissen telepített Ubuntu. Olé!)

Nincsenek megjegyzések: