CloneZilla PXE Boot Without NFS

16,314

Solution 1

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:

Solution 2

Regarding the error "Unable to find a live filesystem on the network", I indeed diagnosed this to be due to the failing tftp download of filesystem.squashfs. ($ cat live.log in the busybox)

Digging deeper into the error I found that editing the fetch parameter in /tftpboot/pxelinux.cfg/default fixed this problem for me.

By default it looks like:

APPEND initrd=initrd.img boot=live config noswap nolocales edd=on nomodeset ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_keymap="" ocs_live_batch="no" ocs_lang="" vga=788 nosplash noprompt fetch=tftp://INSERT-IP-HERE/filesystem.squashfs

However, I've stored my clonezilla live files (including filesystem.squashfs) file in the absolute linux path /tftpboot/clonezilla-i486/ and not in the absolute root path /. Therefore I had to change the APPEND line to look like this:

APPEND initrd=clonezilla-i486/initrd.img boot=live config noswap nolocales edd=on nomodeset ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_keymap="" ocs_live_batch="no" ocs_lang="" vga=788 nosplash noprompt fetch=tftp://INSERT-IP-HERE/tftpboot/clonezilla-i486/filesystem.squashfs

Solution 3

I am able to boot Clonezilla via PXE using only tftp:

LABEL clonezilla1.2.12-10
        MENU LABEL ^Clonezilla 1.2.12-10
        kernel images/clonezilla-1.2.12-10-i686-pae/vmlinuz
        append initrd=images/clonezilla-1.2.12-10-i686-pae/initrd.img boot=live config noswap nolocales edd=on nomodeset noprompt ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_keymap="NONE" ocs_live_batch="no" ocs_lang="en_US.UTF-8" vga=773 nosplash fetch=tftp://59.167.xxx.xx/images/clonezilla-1.2.12-10-i686-pae/filesystem.squashfs

I wonder if the errors you saw using fetch=tftp:// were version-specific to a certain release, or you need some other options that I include in mine?

According to my comments in the pxelinux config file, I got it going using just this documentation: http://clonezilla.org/show-live-doc-content.php?topic=clonezilla-live/doc/99_Misc

Share:
16,314

Related videos on Youtube

John
Author by

John

Just a random person looking for ways to expand my knowledge and passion for technology.

Updated on September 18, 2022

Comments

  • John
    John almost 2 years

    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.

  • Gert van den Berg
    Gert van den Berg almost 6 years
    It works, but HTTP is much faster... (And if you are using cobbler, it seems to delete the additional files in /var/lib/tftpboot)