The future of partclone and therefore FOG as it is


  • Developer

    Sorry if this sounds a bit daunting. Not meant to. I just stumbled upon a changelog message that I would like to discuss with all the FOG users out there:

    From https://clonezilla.org/downloads/stable/changelog.php (Clonezilla and Partclone are kind of partner projects and as I simply couldn’t find release notes on Partclone itself I need to reference this one!):

    Clonezilla live 2.5.3-3

    Partclone was updated to 0.3.8. //NOTE// New image format is used in this release. It is different from the one saved by Partclone 0.2.x.

    Within FOG we currently use version 0.2.89 which seems to be the latest 0.2.x release. That’s fine from my point of view even though it’s a bit dated. Updating our whole FOS base system to the latest Buildroot version I ran into a compiling error with Partclone as it still uses ustat function which is deprecated in up-to-date glibc version (2.28). So we seem to get to a point where we need to patch Partclone 0.2.89 to be able to further use it within FOG or we need to come up with a way on how to move to version 0.3.x…

    One would think that newer versions of Partclone are able to read the old image format but there are hints on the web that it can cause trouble: https://sourceforge.net/p/clonezilla/discussion/Clonezilla_live/thread/34023334/

    Keep in mind that Partclone versions 0.3.x still are proposed as unstable on the official website. On the other hand it’s in use with current Clonezilla releases since almost two years!

    If you can’t follow all the tech details above, don’t worry about it too much. The basic message is Partclone seems to move on using a different image format not compatible with what we used to have! What that essentially means is that if we also move forward and add Partclone 0.3.x to FOG that would break all existing images I reckon (not tested yet).

    @Quazz Would you find the time to compile FOS builds with Partclone 0.3.x for testing?


  • Moderator

    @Sebastian-Roth OK I’ll hold off until I get the green light from you.


  • Developer

    @george1421 Yeah Quazz is right. I was in a bit of a rush to get some minor issues fixed when releasing the inits and did not push the changes to github yet. I will sort all this in a couple of hours though. Don’t rush into testing partclone yet as we might even think about moving to the latest buildroot in the next days too.


  • Moderator

    @george1421 I don’t believe FOS github has the fix included yet at this point, though shouldn’t be too long.

    Still trying to figure out if/when/where the problem exactly started.

    As far as I could find it’s supposedly been around for ages (sfdisk - udev conflict), but isn’t necessarily triggered usually.


  • Moderator

    @Quazz Great idea.

    I’m rebuilding the inits with partclone 0.3.13 and zstd 1.4.0 using the FOG 1.5.7 base files for the inits. I suspect trouble the first time through compiling this since I’ve forgotten everything that I knew from before. Plus I need to update my test fog server to 1.5.7 so it will be a challenging morning to say the least.

    @Sebastian-Roth Are you still using buildroot v2019.02.1 for the inits?


  • Moderator

    @george1421 Well, we did find a resize bug in the inits, particularily on fast disks.

    Might be time to revive this idea soon and test it out again.


  • Moderator

    @george1421 Well, potentially that was a resize bug in the inits if you’re using an NVME drive.

    Could also be the mount failing for some reason?

    Just some ideas.


  • Developer

    @george1421 No problem. I was just hoping to make progress on this. I found this https://github.com/stevenshiau/clonezilla/issues/31 and wondered if it was related since it was from when clonezilla updated their partclone version.


  • Moderator

    @Junkhacker Sorry I haven’t had time between traveling and project deadlines most everything else has got put on back burner. Both you and Quazz say they are working fine. I’m not sure why my images are not. I know at least one I tested with was created with 1.5.4 the rest may be 1.4.4, but I’d have to look at the image creation date to be sure. Everything looks like it deploys correctly with partclone, just when I try to mount the c: partition and copy the drivers over it says no space left on the device.


  • Developer

    @george1421 have you had a chance to do any further testing? did you build 32bit versions and have you tried using them?


  • Developer

    @george1421 for reference: I tested with your inits using both bios and uefi configurations using a physical computer and a vmware VM. I had no problems with booting the systems after imaging. all images were compressed with zstd (not that that should make a difference, but putting it out there) and the images ranged from windows 7 to windows 10. imaging done while in uefi mode seemed significantly slower. i don’t know if that’s normal, since i don’t normally use that.


  • Moderator

    @Quazz Thank you for checking, I guess I need to better understand what is going wrong with my deployments. They work perfectly with the 0.2.89 partclone even when I build the inits.


  • Moderator

    @george1421 Deployed successfully with your init on my end, W10 Pro UEFI.


  • Developer

    @george1421 i just tested a deploy with the init i downloaded from your google drive link today. it deployed and booted (though i did get the UUID error, so you need to update your files to the latest build, not that it’s related to the partclone issues)

    I’m at kind of a loss as to what’s wrong at this point


  • Moderator

    @george1421 Of course, just trying to figure out if there’s any differences in the inits themselves that might cause a disrepancy.

    I’ll let you know if it deploys correctly on my test system tomorrow.

    Do you have a funky partition layout perhaps? I’m assuming fairly vanilla, but you never know.


  • Moderator

    @Quazz Yes, also I attached the changes I made to the Config.in and partclone.mk early in this thread.

    So what I’m after at the moment is to build a truth table. I’m saying that 0.3.12 doesn’t deploy the older image files correctly, Junkhacker is saying with my inits it does work. I need a few more people to test to confirm one way or the other. If my inits work on everyone else’s environment than mine, I need to dig into why. Its not to say one is right or one is wrong, its to understand why. Because if I’m the odd one with issues, there will be at least a handful of others with the same issue. So its good we have problems like this so we can understand before the update hits everyone’s FOG server.


  • Moderator

    @george1421 Did you remove the partclone patch file?


  • Moderator

    @Junkhacker said in The future of partclone and therefore FOG as it is:

    the sizes are all different

    Are they both from 0.3.12? As to the config file, I did not change anything. I let buildroot pick the configuration (same as with 0.2.89)

    In the buildroot package the partclone.mk file the only thing I changed was the version number and the path to get the file from. Otherwise it has the same compile time switches. Now that may be an issue where I need to modify a compile time switch to include legacy support ??

    ################################################################################
    #
    # partclone
    #
    ################################################################################
    
    PARTCLONE_VERSION = 0.3.12
    PARTCLONE_SOURCE = partclone-$(PARTCLONE_VERSION).tar.gz
    PARTCLONE_SITE = http://partclone.nchc.org.tw/download/testing
    PARTCLONE_INSTALL_STAGING = YES
    PARTCLONE_AUTORECONF = YES
    PARTCLONE_DEPENDENCIES += attr e2fsprogs libgcrypt lzo xz zlib xfsprogs ncurses host-pkgconf
    PARTCLONE_CONF_OPTS = --enable-static --enable-xfs --enable-btrfs --enable-ntfs --enable-extfs --enable-fat --enable-hfsp --enable-ncursesw
    
    define PARTCLONE_LINK_LIBRARIES_TOOL
            ln -f -s $(BUILD_DIR)/xfsprogs-*/include/xfs $(STAGING_DIR)/usr/include/
            ln -f -s $(BUILD_DIR)/xfsprogs-*/libxfs/.libs/libxfs.* $(STAGING_DIR)/usr/lib/
            ln -f -s $(@D)/fail-mbr/fail-mbr.bin $(@D)/fail-mbr/fail-mbr.bin.orig
    endef
    
    PARTCLONE_POST_PATCH_HOOKS += PARTCLONE_LINK_LIBRARIES_TOOL
    
    $(eval $(autotools-package))
    
    

  • Moderator

    @george1421 Deploying now, will report tomorrow.


  • Developer

    @george1421 just looking at the partclone binary file sizes in the init from you and the one from @Sebastian-Roth the sizes are all different. I’m curious as to the differences in the config files used to compile the different versions. yours are smaller.


Log in to reply
 

361
Online

6.0k
Users

13.3k
Topics

125.2k
Posts