Boot LiveCD with PXE

Az eljövendő nemzedékek magam számára. Így kell ubuntu livecd-t hálózaton keresztül bootolni:

Debian szerverrel dolgoztam, alap install lenny. Nyilván van szebb/egyszerűbb/jobb megoldás, ez működött, amire kell. Értelmes összefoglaló leírást nem találtam sehol.

DHCP és TFTP szerver

Szükség van egy dhcp szerverre, ami IP-t oszt, úgy kell konfigurálni, hogy next szerverként a tftp szerverre mutasson

Ez alapján csináltam: http://www.debian-administration.org/articles/478

DHCP és TFTP szerver is azonos gépeken fut (IP: 192.168.1.111) A hálózatban 192.168.1.1 címen router van.

DHCP konfigom érdemi része:


authoritative;

subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.200 192.168.1.250;
filename "pxelinux.0";
next-server 192.168.1.111;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.1;

Bootloader telepítés

http://cdimage.ubuntu.com/netboot/ -ról le kell szedni a megfelelő netboot.tar.gz-t, ezt ki kell csomagolni a tftp root könyvtárába, ami alapból a /var/lib/tftp

NFS server

1.
apt-get install nfs-kernel-server nfs-common portmap
2.
mkdir /var/nfs
3.
chown nobody:nogroup /var/nfs
4.
nano /etc/exports -hoz hozzáadni: /nfs *(ro,no_root_squash,async)
5.
exportfs -a
6.
/etc/init.d/nfs-kernel-server restart

Bootolni kívánt fájlrendszert felmásolni a /nfs mappába, a példákban /nfs/ubuiso szerepel.

Bootloader konfigurálás

nano /var/lib/tftpboot/ubuntu-installer/amd64/boot-screens/text.cfg –> ez a bootloader főmenüje. Én így csináltam:


default live
label live
menu label ^Live!
menu default
kernel vmlinuz
append boot=casper netboot=nfs nfsroot=192.168.1.111:/nfs/ubuiso initrd=initrd.lz

Kernel és initramfs helyretétele

A cd /casper könyvtárából (vagy ahol van) vmlinuz (kernel) és az initrd.lz (vagy ahogy hívják az initramfs-t) betenni a tftp rootjába a fenti konfignak megfelelően.

Kliens boot

Kliens biosban network bootot engedélyezni, boot orderben networkot előre venni, majd bootolni a “Live!” rendszert.

Hozzászólások

nem tudom, kell-e nekem valaha az eletben ilyen, de majd innen fogok elindulni :-)

SPAMtelenül - MX spamszűrő szolgáltatás, ahogyan még sosem próbálta

Ha kicsit rugalmasabb megoldast szeretnel - azonositas, userfuggo menu, tobbfele hw/sw tool akkor a gpxe http boot es pxeknife kombinacio kellemes meglepetessel tud szolgalni:
http://etherboot.org/wiki/httpboot

Illetve nem akarsz nfssel buveszkedni hanem siman http-rol, akar a vilag masik vegerol is bootolni mini live cd-t, akkor az alabbi inetboot kell neked. Ez boot utan (ami szinten betoltheto gpxe segitsegevel) egy mini linux runtime rendszert indit segitsegevel csatolja (http-fuse) a megadott livecd-t, az ison talalhato casper boot dolgait letolti,javitja,ujracsomagolja, majd kboot segitsegevel betolti:
http://openlab.ring.gr.jp/oscircular/inetboot/

Regebben custom ceges livecd-t csinaltam igy - a http boothoz szukseges gpxe joforman barhonnan betoltheto (cd, pendrive, tftp, grub4win, stb)...

Köszi szépen a tippeket, ha lesz egy kis időm, kipróbálom őket.

Tudom, hogy viszonylag sok sebből vérzik a megoldás. Az a gáz, hogy úgy tűnik, mintha nem nfs-ről használná a squashfst, hanem ugyanazt csinálja, mintha egy debiannak mondanék boot paraméternek fetch=http://... opciót, tehát betölti ram-ba. LiveCD-nek nem kéne 1G ramot ennie. (Ubuntu 10.04 LiveCD nvidia driverrel)

Van pár peremfeltétel, ami miatt az image nagy lesz, viszont lenne úgy használni, mintha CD-ről bootolnám, tehát a union fs csak a read only filerendszerhez képest történt változásokat tartaná memóriában.