Linux


Unless a PXE compatiable build is already available many Linux distributions will not boot/install via PXE. Puppy Linux is a fairly typical example of a Linux Live environment. The distribution is installed by booting from the source, which loads a Linux environment into system RAM - the operating system can then be installed from the booted Linux environment. During the initially boot stages the kernel and initrd files are loaded - dependancy files are then loaded from the source. Unfortunately as soon as kernel and initrd files are loaded the protected mode kernel driver(s) take control and the tftp root directory will no longer be accessible - if any other files are required from the source they will be missing, resulting in boot error(s).

Linux distributions that only require kernel and initrd files function fully via PXE, as no other data needs accessing from the tftp root directory once they have been loaded.

Parted Magic

Parted Magic has a number of different builds including a PXE version.

"The Parted Magic OS employs core programs of GParted and Parted to handle partitioning tasks with ease, while featuring other useful programs (e.g. Partition Image, TestDisk, fdisk, sfdisk, dd, and ddrescue) and an excellent set of documentation to benefit the user. An extensive collection of fileystem tools are also included, as Parted Magic supports the following: ext2, ext3, ext4, fat16, fat32, hfs, hfs+, jfs, linux-swap, ntfs, reiserfs, reiser4, and xfs.

Parted Magic requires at least a i586 processor and 256MB of RAM to operate or 128MB in "Live" mode."

To add an option to boot Parted Magic via PXE, download the Parted Magic PXE build (the following has been tested using pmagic-pxe-4.4.zip) and extract the contents to a temporary location (e.g. C:\PXE\tools -

Pxelinux Menu Entry

If using pxelinux open C:\PXE\tools\pmagic-pxe-*.*\sample_pxelinux.cfg in wordpad and copy one of the entries to the PXELinux configuration file. E.g. - C:\PXE\tftpboot\pxelinux.cfg\default -

default pmagic
label pmagic
  kernel /pmagic/bzImage
  append initrd=/pmagic/initramfs load_ramdisk=1 prompt_ramdisk=0 rw sleep=10

Edit the configuration file entry copied in the previous step (in C:\PXE\tftpboot\pxelinux.cfg\default)

Grub4dos Menu Entry

Open C:\PXE\tools\pmagic-pxe-*.*\sample_pxelinux.cfg in wordpad and copy one of the entries to the grub4dos configuration file. E.g. - C:\PXE\tftpboot\menu.lst\default -

default pmagic
label pmagic
  kernel /pmagic/bzImage
  append initrd=/pmagic/initramfs load_ramdisk=1 prompt_ramdisk=0 rw sleep=10

Grub4dos menu entries use a different syntax to pxelinux so the entry will need to be edited. Grub4dos entries must use the format -

title menu_title_entry
kernel /path_to_kernel_file switches_copied_from_append_line
initrd /path_to_initrd_file

Adding Additional Linux Distributions

To add other PXE compatiable Linux distributions you will have to open the configuration file and identify the initrd and kernel files, which will need copying to the C:\PXE\tftpboot\ directory. If the distribution is able to load from just kernel and initrd files then they can usually be added to any subfolder, however you will need to edit the paths in the configuration file entries. Remember that the C:\PXE\tftpboot\pxelinux.cfg\default entry will need to be copied then edited to use the format -

label unique_name
menu label menu_title_entry
  kernel /path_to_file
  append initrd=/path_to_file switches

Grub4dos entries use the format -

title menu_title_entry
kernel /path_to_kernel_file switches_copied_from_append_line
initrd /path_to_initrd_file