Boot linuxu ze sítě pomocí PXE

Nastavení bootování po síti přes PXE, konkrétně pro boot Cent OS 5.1.

Síťový boot probíhá ve zkratce následovně: bios klientského počítače si vyžádá IP z DHCP serveru; server mu vrátí IP a další nastavení sítě a také odkaz na tftp s bootovacim image PXE. Klientský počítač nastartuje PXE z tftp a zobrazí uživateli menu; po té server pošle klientovi jádro OS. Od této chvíle probíhá boot standardní cestou,

Je tedy potřeba míti nainstalovaný tftp a dhcpd:

yum install tftp-server dhcp

Konfigurace DHCP

Je potřeba editovat soubor /etc/dhcpd.conf, řádky důležité pro boot jsou zvýrazněny:

ddns-update-style interim;
ignore client-updates;

subnet 192.168.0.0 netmask 255.255.255.0 {
        option routers                  192.168.0.128;
        option subnet-mask              255.255.255.0;

        option domain-name-servers      192.168.0.128;

        range dynamic-bootp 192.168.0.250 192.168.0.253;
        default-lease-time 21600;
        max-lease-time 43200;

        allow booting;
        allow bootp;
        #option option-128 code 128 = string;
        #option option-129 code 129 = text;
        next-server 192.168.0.128;
        filename "/pxelinux.0";
}

Konfigurace TFTP

Tento text vychází z How To na CentOS Wiki

TFTP běží přes xinetd. Je potřeba jej povolit v /etc/xinetd.d/tftp, řádek

disable=no

Je potřeba nainstalovat balíček syslinux:

yum install syslinux

a zkopírovat soubory:

cp /usr/lib/syslinux/pxelinux.0 /tftpboot
cp /usr/lib/syslinux/menu.c32 /tftpboot
cp /usr/lib/syslinux/memdisk /tftpboot
cp /usr/lib/syslinux/mboot.c32 /tftpboot
cp /usr/lib/syslinux/chain.c32 /tftpboot

Vytvoříme adresář pro menu a pro obrazy jádra:

mkdir /tftpboot/pxelinux.cfg
mkdir -p /tftpboot/images/centos/x86_64/5.1

Do adresáře /tftpboot/images/centos/x86_64/5.1 zkopírujte soubory vmlinuz and initrd.img z adresáře /images/pxeboot/ na instalačním mediu.

PXE menu

Vytvoříme soubor /tftpboot/pxelinux.cfg/default s obsahem:

default menu.c32
prompt 0
timeout 300
ONTIMEOUT local

MENU TITLE PXE Menu

LABEL CentOS 5.1 
        MENU LABEL CentOS 5.1 
        KERNEL images/centos/x86_64/5.1/vmlinuz
        APPEND initrd=images/centos/x86_64/5.1/initrd.img text

Po restartu dhcp a tftp (xinetd) je naše práce hotova.

Příspěvek byl publikován v rubrice CentOS, Linux, PXE. Můžete si uložit jeho odkaz mezi své oblíbené záložky.