CloneZilla PXE Boot Without NFS

clonezilladisk-imagepxe-boot

I am trying to setup CloneZilla to be bootable via PXE without using NFS. I do not have NFS running on our PXE server and would like to keep it that way. However, most of the information that I have found online indicates that you need to setup NFS in order to PXE boot CloneZilla. I believe that I am pretty close in getting it to work, but am not sure where to go next. Listed below are the different PXE menu option configurations that I have used so far.

LABEL Clonezilla Live
  MENU LABEL Clonezilla Live
  KERNEL utilities/clonezilla/vmlinuz
  APPEND initrd=utilities/clonezilla/initrd.img boot=live live-config noswap nolocales edd=on nomodeset ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_keymap="" ocs_live_batch="no" o$

I have also tried the following append lines, without success:

APPEND initrd=utilities/clonezilla/initrd.img boot=live union=aufs noswap noprompt vga=788 fetch=tftp://10.130.155.23/filesystem.squashfs
APPEND initrd=utilities/clonezilla/initrd.img boot=live union=aufs noswap noprompt vga=normal nomodeset nosplash fetch=tftp://10.130.155.23/filesystem.squashfs

Each of them have resulted in a no go with the following error: "Unable to find a live file system on the network". It looks like it gets to the point of trying to load the filesystem.squashfs file, hangs, and then throws the error. Any help would be greatly appreciated.

Best Answer

We faced the same problem and found the following to be excellent for explanations:

Our configuration:

  • Debian/kFreeBSD (sid)
  • tftp-hpa (5.2-4)
  • Clonezilla Live Image (current stable 1.2.12-67)

The cause of the problem, like explained in the second link, it's related to the value of the -b parameter (blocksize option) of the tftp command. The tftp command is used to retrieve the squasfs file system from the server, and it's invoked (in this case with the wrong parameter -b value) by the live script in the initrd.

Our workaround is to modify the initrd editing the inside live script (/scripts/live) and adjust the problematic parameter value no bigger than 9212 or delete it.

Replacing:

tftp -g -b 10240

with

tftp -g

fixes our problem.

To some good explanation about modifying an initrd see: