PXELinux: Unterschied zwischen den Versionen

Aus xinux.net
Zur Navigation springen Zur Suche springen
K (1 Version)
Zeile 1: Zeile 1:
 
Mit PXELinux kann man ein System über ein Netzwerk booten oder auch installieren.  
 
Mit PXELinux kann man ein System über ein Netzwerk booten oder auch installieren.  
  
==Installtion tftp-Server==
+
==Installation tftp-Server==
 
  root@xinux-desktop:/# apt-get install tftpd-hpa
 
  root@xinux-desktop:/# apt-get install tftpd-hpa
  

Version vom 16. Juli 2009, 08:44 Uhr

Mit PXELinux kann man ein System über ein Netzwerk booten oder auch installieren.

Installation tftp-Server

root@xinux-desktop:/# apt-get install tftpd-hpa

Start über inetd

  • /etc/inetd.conf : udp -> udp4 ändern
tftp           dgram   udp4     wait    root  /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot

Start als Alleinstehender Server

  • /etc/default/tftpd-hpa
#Defaults for tftpd-hpa
RUN_DAEMON="yes"
OPTIONS="-l -s /var/lib/tftpboot"

Starten

root@xinux-desktop:~# /etc/init.d/tftpd-hpa start

Installation DHCP-Server

root@xinux-desktop:~# apt-get install dhcp3-server

Anpassen der dhcpd.conf

  • /etc/dhcp3/dhcpd.conf
subnet 192.168.242.0 netmask 255.255.255.0 {
       range 192.168.242.170 192.168.242.180;
       #Lease-Zeit in Sekunden
       default-lease-time 600;
       max-lease-time 7200;
       option domain-name "gamma.intern";
       option domain-name-servers 192.168.240.21;
       option broadcast-address 192.168.242.255;
       option subnet-mask 255.255.255.0;
       #Gateway
       option routers 192.168.242.1;

       #Hosts an die MAC festnageln
       host pxeclient {
               hardware ethernet 00:0c:29:99:25:91;
               fixed-address 192.168.242.171;
               option host-name "pxeclient";
               next-server 192.168.242.140;
               filename "/pxelinux.0";

       }
}

Bootimage vorbereiten

root@xinux-desktop:~# cp /usr/lib/syslinux/pxelinux.0 /var/lib/tftpboot/

PXELinux mit debootstrap

Minimales virtuelles System erstellen

Debian

root@xinux-desktop:~# mkdir /pxeroot
root@xinux-desktop:~# cd /pxeroot
root@xinux-desktop:~# debootstrap etch /pxeroot

Ubuntu

root@xinux-desktop:~# mkdir /pxeroot
root@xinux-desktop:~# cd /pxeroot
root@xinux-desktop:~# debootstrap intrepid /pxeroot

DHCP auf für Client aktivieren

  • /pxeroot/etc/network/interfaces
auto eth0
iface eth0 inet dhcp

Hostname setzen

root@xinux-desktop:~# echo pxeboot > /pxeroot/etc/hostname
root@xinux-desktop:~# cp /etc/hosts /pxeroot/etc/hosts
root@xinux-desktop:~# vi /pxeroot/etc/hosts
127.0.0.1       localhost pxeboot

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
wq zum Speichern und Beenden

fstab anpassen

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    defaults        0       0
/dev/ram0  /       ext2   defaults    0   0
tmpfs      /tmp       tmpfs  defaults    0   0

Virtuelles System anpassen

root@xinux-desktop:/pxeroot/etc# chroot /pxeroot

Kernel installieren

xinux-desktop:/# apt-get install linux-image

Die Warnung, dass keine Bootloader installiert sind, kann ignoriert werden. Wenn das Skript fragt, ob abgebrochen werden soll mit no antworten.

Ramdisk auf NFS anpassen

xinux-desktop:/# sed -i.bak -e "s/BOOT=local/BOOT=nfs/" /etc/initramfs-tools/initramfs.conf
xinux-desktop:/#update-initramfs -vu 


Locales installieren und de_DE@euro ISO-8859-15 als Spracheinstellung auswählen

xinux-desktop:/# apt-get install locales
xinux-desktop:/# dpkg-reconfigure locales


exit

DHCP-Server konfigurieren

subnet 192.168.242.0 netmask 255.255.255.0 {
       range 192.168.242.170 192.168.242.180;
       default-lease-time 600;
       max-lease-time 7200;
       #option domain-name "gamma.intern";
       option domain-name-servers 192.168.240.21;
       option broadcast-address 192.168.242.255;
       option subnet-mask 255.255.255.0;
         
       host pxeclient {
               hardware ethernet 00:0c:29:99:25:91;
               fixed-address 192.168.242.171;
               option host-name "pxeclient";
               next-server 192.168.242.140;
               filename "/pxelinux.0";
               option root-path "192.168.242.140:/pxeroot";
       }
}

Anschließend neustarten

root@xinux-desktop:~# /etc/init.d/dhcp-server restart

TFTP Server konfigurieren

  • /etc/default/tftpd-hpa
RUN_DAEMON="yes"
OPTIONS="-l -s /var/lib/tftpboot"

Neustarten

/root@xinux-desktop:~# etc/init.d/tftpd-hpa restart

PXE boot konfigurieren

root@xinux-desktop:~# cd /var/lib/tftpboot
root@xinux-desktop:~# wget http://ftp.debian.org/debian/dists/etch/main/installer-i386/current/images/netboot/pxelinux.0
root@xinux-desktop:~# cp /pxeroot/vmlinuz ./
root@xinux-desktop:~# cp /pxeroot/initrd.img ./
root@xinux-desktop:~# mkdir pxelinux.cfg
root@xinux-desktop:~# vim pxelinux.cfg/default

  • /var/lib/tftpboot/pxelinux.cfg/default
DEFAULT linux

LABEL linux
    kernel vmlinuz
    append vga=normal initrd=initrd.img ramdisk_size=14332 root=/dev/nfs nfsroot=192.168.242.140:/pxeroot rw --

PROMPT 0
TIIMEOUT 0

nfs server konfigurieren

root@xinux-desktop:~# apt-get install nfs-kernel-server
  • /etc/exports
/pxeroot    192.168.0.0/255.255.0.0(rw,sync,no_root_squash,no_subtree_check)

Neustarten

/etc/init.d/nfs-kernel-server restart

Quellen

http://www.pieczewski.de/?page_id=51

http://forum.ubuntuusers.de/topic/pxe-image-bauen/

http://www.howtoforge.com/pxe_booting_debian