You are here
Home > Ubuntu > Open Suse pxe-installation

Open Suse pxe-installation


Install syslinux rpm file and it will create a file pxelinux.0 in /usr/share/syslinux/pxelinux.0


create bootimage file in tftp using yast as /srv/tftboot



his configuration file refers to 2 important files: linux and initrd. They have to be downloaded from the network SuSE install repository (or a mirror). or from DVD.

# cd /srv/tftpboot

copy linux and intrd files from dvd in /boot/i386/loader/ to /srv/tftboot/

( or )

download linux and initrd file in /srv/tftboot/

# wget

# wget

# wget -O initrd64

# wget -O linux64

At that point, you should have everything to build your PXE boot environment. Create the initial directory structure under the TFTP root directory as shown below:

# mkdir -p /srv/tftpboot/pxelinux.cfg

copy isolinux.cfg file from dvd in boot/i386/loader folder into /srv/tftboot/default (rename isolinux.cfg filename as default)

Copy PXE bootstrap file into tftpboot directory.

# cp /usr/share/syslinux/pxelinux.0 /srv/tftpboot

create dhcpd.conf file as below

# dhcpd.conf


# Sample <span class="IL_AD" id="IL_AD3">configuration file</span> for ISC dhcpd

## option definitions common to all supported networks…


# All of this happens behind the firewall, and the whole domain

# is made-up anwyay, so this is mostly fluff.


#option domain-name "";


# We don't have Nameservers… so let's just forget this item

#option domain-name-servers,;


default-lease-time 600;

max-lease-time 7200;

# if you do not use dynamical DNS updates:


# this statement is needed by dhcpd-3 needs at least this statement.

# you have to delete it for dhcpd-2, because it does not know it.


# if you want to use dynamical DNS updates, you should first read

# read /usr/share/doc/packages/dhcp-server/DDNS-howto.txt

ddns-update-style none; ddns-updates off;

# If this <span class="IL_AD" id="IL_AD5">DHCP server</span> is the official DHCP server for the local

# network, the authoritative directive should be uncommented.



# Use this to send dhcp log messages to a different log file (you also

# have to hack syslog.conf to complete the redirection).

log-facility local7;


# We only want to respond to PXE DHCP requests


allow booting;


# define rules to identify DHCP Requests from PXE and Etherboot clients.


class "pxe" {

match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";


class "etherboot" {

match if substring (option vendor-class-identifier, 0, 9) = "Etherboot";



# This is our subnet for PXE boot/installation.


subnet netmask {

option broadcast-address;

pool {

range; # only need a few addresses

default-lease-time 180; # no long lease time required for booting

max-lease-time 360; # booted system does its own dhcp request

server-name ""; # This happens to be the IP of this server too

next-server; # Address of the TFTP server

filename "pxelinux.0";

allow members of "pxe"; # only respond to PXE requests

allow members of "etherboot"; # allow etherboot, too




Edit /etc/sysconfig/dhcpd and activate the ethernet used for listen DHCP request. If you confused which ethernet will be used, try with ANY as suggested on the configuration. I’m using eth0 so part of my configuration look like this :

1.# Examples: DHCPD_INTERFACE="eth0"

2.# DHCPD_INTERFACE="eth0 eth1 eth2 tr0 wlan0"

3.# DHCPD_INTERFACE="internal0 internal1"





Restart the DHCP Service



1. Prepare a PC with attached Network card. This computer will be used as client for PXE Boot Installation

2. Change BIOS Setting, activating Boot from LAN and switch the Boot Default Priority to boot from LAN

3. Restart the computer. It will boot from LAN and display the installation option.





modify default file as like this if you have a problem

default harddisk

# hard disk

label harddisk

localboot 0x80


# install

label linux

kernel linux

append initrd=initrd splash=silent showopts


# repair

label repair

kernel linux

append initrd=initrd splash=silent repair=1 showopts

# rescue

label rescue

kernel linux

append initrd=initrd splash=silent rescue=1 showopts


# mediacheck

label mediachk

kernel linux

append initrd=initrd splash=silent mediacheck=1 showopts


# bios test

label firmware

kernel linux

append initrd=biostest,initrd splash=silent install=exec:/bin/run_biostest showopts


# memory test

label memtest

kernel memtest


#ui gfxboot bootlogo message

implicit 0

display message

prompt 1

timeout 600

Leave a Reply