PXE Boot – How to Boot Ubuntu into a Ramdisk


I currently have a small PXE server running and it works fine. The only issue is that the clients seem to be running their OS from the server itself. Eventually this will become a server supporting about 50 clients. I need to keep as much network traffic off the network as possible. How can I build the image so that the clients run everything from their own RAM Disk rather than the NFS server?


Best Answer

You may use memdisk from syslinux-common package to boot using ISO image directly though TFTP. Somehow slow (2MB/s is the best I could get using TFTP, around 5min to load)

memdisk loads iso image to RAM and mount it like virtual/fake CD drive then boot from it. So the machine should have enough RAM to hold CD and run its contained OS.

  1. Copy memdisk & ISO images to TFTP root
  2. Add menu entries to PXE configuration file, Example:

    LABEL slitaz
        MENU LABEL ^Slitaz.iso
        TEXT HELP
    Testing boot from iso.
        KERNEL memdisk
        APPEND initrd=slitaz-cooking.iso
    LABEL mini_ubutnu
        MENU LABEL Mini-Ubuntu
        KERNEL memdisk
        APPEND initrd=ubuntu_mini.iso

Reference: syslinux - memdisk

Related Question