Skip to main content
PXE Linux

PXE Deploy Clonezilla

By November 2, 2017September 12th, 2022No Comments

PXE Deploy ClonezillaAnother method of deploying operating system is by using Clonezilla imaging software. Clonezilla is a Linux based client that can be used to image a disk locally or across the network There is also a Clonezilla server edition which can be used to multicast an image to many systems at the same time. Even though you can boot to the Clonezilla DVD, it is more convenient to PXE deploy Clonezilla to systems that need it. So, in this blog, we look at a PXE deploy of Clonezilla to a netbook client. For this you will need a PXE Linux Server up and running which we demonstrated on Ubuntu 16.04 in this previous lesson. If you need to deploy Ubuntu 16.04 Server using PXE we covered it in this lesson.

Download Clonezilla ISO

The first step is to download the ISO file for Clonezilla. If you visit their download page you are on the right track. .

You can now either attach the ISO file to a Virtual Machine if your server runs virtualised or mount the ISO file on the Ubuntu PXE Server directly. In the following code we download the ISO to the server and mount the ISO on the server.

$ wget -O clonezilla.iso
$ sudo mount -o loop clonezilla.iso /mnt

PXE Deploy Clonezilla

The next step is to copy the kernel and RAM disk from the live Iso file to the TFTP Server. We will also need their root filesystem which is in the file named filesystem.squashfs. These 3 files are all in the live directory at the root of the Clonezilla ISO file. As a good start, we will again create subdirectory to organise the downloads for Clonezilla.

$ sudo mkdir /tftpboot/clonezilla
$ sudo cp /mnt/live/{vmlinuz,initrd.img,filesystem.squashfs} /tftpboot/clonezilla

PXE Configuration

Adding the correct entries into the default configuration will allow the clients to see the Clonezilla options. We simply need to add the highlighted stanza too the existing file /tftpboot/pxelinux.cfg/default:

default menu.c32
prompt 0
menu title Boot Menu
  label localboot
    menu label Boot Local Disk
    localboot 0

  label 1604Install
    menu label Manual Install Ubuntu 16.04 Server
    kernel 1604/linux
    append vga=788 initrd=1604/initrd.gz locale=en_GB.UTF-8 keyboard-configuration/layoutcode=gb hostname=1604

  label clone
    menu label Clone Disk
    kernel clonezilla/vmlinuz
    append initrd=clonezilla/initrd.img boot=live username=user union=overlay components noswap noprompt vga=788 keyboard-layouts=en locales=en_GB.UTF-8 fetch=tftp://

We are now ready and booting to a netboot client should deliver this menu. The video follows: