Another 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. http://clonezilla.org/downloads.php .
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 https://osdn.net/projects/clonezilla/downloads/68292/clonezilla-live-2.5.2-31-amd64.iso -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://192.168.0.32/clonezilla/filesystem.squashfs
We are now ready and booting to a netboot client should deliver this menu. The video follows: