Network booting with PXE, using Fedora Core

Network booting with PXE, using Fedora Core

Computers can be booted trough network, without any CD’s or disks. This article briefly describes the PXE boot system. A system just like the one described here was taken into production use in Helia computer labs in 2005.

© 2003-2005 Tero Karvinen

Extract teros-tftpboot.tar.bz2 to your /tftpboot/.

  • pxelinux.0 – Bootloader
  • pxelinux.cfg/default – Bootloader menu config, same syntax as isolinux.cfg
  • vmlinuz – Kernel image, from distribution to be installed
  • initrd.img – Inital ramdisk image, from distribution to be installed
  • pxeboot.msg – Text file displayed on pxe boot menu
  • README.txt – Explains how the tarball was created

Add to your /etc/dhcpd.conf (where next-server is your server ip-address):

 next-server 10.0.0.1;
 filename "pxelinux.0";

The tarball was created like this (as far as I remember):

# yum install tftp tftp-server
$ wget kernel.org*syslinux*
$ tar -zxcvf syslinux-*
# mkdir /tftpboot/
# chown -R someuser:someuser /tftpboot/
$ cp syslinux-*/pxelinux.0 /tftpboot/
$ cd /ftptpboot/
$ wget ftp://ftp.funet.fi/pub/linux/mirrors/redhat/fedora/linux/core/1/i386/os/images/pxeboot/initrd.img
$ wget ftp://ftp.funet.fi/pub/linux/mirrors/redhat/fedora/linux/core/1/i386/os/images/pxeboot/vmlinuz
$ mkdir -p /tftpboot/syslinux.cfg/
$ nano /tftpboot/pxelinux.cfg/default

A sample bootloader configuration:

  # pxelinux.cfg/default - See http://www.iki.fi/karvinen/pxe.html
  # Perform a local boot by default
  default install
  # Always prompt
  prompt 1
  display pxeboot.msg
  # Boot automatically after 30 seconds in tenths of a second
  timeout 300
  label local
         localboot 0
  label install
         kernel vmlinuz
         append initrd=initrd.img

Tested with Fedora Core 1, 3 and 4 and Dell GX270. Should work with any computer whose BIOS supports PXE, practically any modern computer.


Troubleshooting


The Fedora Core installation tree in that directory does not seem to match your boot media

Installation program (vmlinuz and initrd) is different from package mirror. The kernel (vmlinux) and initial ramdisk image (initrd) used to boot the computer are not the same as the packages in the mirror set in kickstart (url –url).

If you downloaded the tarball above, you got Fedora Core 1 kernel. Download new kernel and replace the files in tftpboot. From your package mirror (eg. Fedora Core 4 http mirror), download vmlinuz and initrd.img from [..]/os/images/pxeboot/ (FC 4 pxeboot/). Put them into your /tftpboot/ where old Fedora Core 1 initrd.img and vmlinuz were. After you have overwritten the old files, try booting again.


See also


Copyrights and Changelog

Copyright 2003 – 2005 Tero Karvinen. All Rights Reserved.

ChangeLog

  1. 2005-11-14 FC4 notes, new layout
  2. 2003-11-19 Inital release



Posted in Old Site | Tagged , , , , , | Comments Off on Network booting with PXE, using Fedora Core

Comments are closed.