Skip to main content

Guide to Switching Klipper Versions

Applicability

This document applies only to FLYOS-FAST. The operations described below are intended for compatibility with plugins that genuinely require third-party Klipper branches and are not recommended as a routine upgrade method.

Important Functional Changes

After switching to Kalico or the official Klipper version, custom features of FLYOS-FAST such as power-loss resume and USB drive printing will become unavailable. Please keep the system's built-in Klipper if you need these features.

Before switching, back up /usr/share/printer_data/config. Downloading the target version and replacing the runtime directory must be performed separately to avoid leaving an incomplete /data/klipper after a network interruption.

Install Kalico

Pull or Update Kalico

This step requires a connection to GitHub but will not modify the currently used /data/klipper.

cd /data
if [ -d /data/kalico/.git ]; then
git -C /data/kalico pull --ff-only
else
git clone https://github.com/KalicoCrew/kalico.git /data/kalico
fi
Loading...

Switch the Runtime Directory

Proceed only after confirming the pull was successful and that /data/klipper-flyos-fast does not exist:

systemctl stop klipper
mv /data/klipper /data/klipper-flyos-fast
mv /data/kalico /data/klipper
systemctl start klipper
systemctl is-active klipper
Loading...

A return of active only indicates that the service has started. You still need to check the Klipper logs and confirm that the printer configuration has no version compatibility errors.

Install Official Klipper

Pull or Update the Official Version

cd /data
if [ -d /data/klipper-upstream/.git ]; then
git -C /data/klipper-upstream pull --ff-only
else
git clone https://github.com/Klipper3d/klipper.git /data/klipper-upstream
fi
Loading...

Switch the Runtime Directory

Proceed only after confirming the pull was successful and that /data/klipper-flyos-fast does not exist:

systemctl stop klipper
mv /data/klipper /data/klipper-flyos-fast
mv /data/klipper-upstream /data/klipper
systemctl start klipper
systemctl is-active klipper
Loading...

Restore FLYOS-FAST Built-in Klipper

Before restoring, confirm that /data/klipper-flyos-fast is the original directory preserved during the switch:

systemctl stop klipper
mv /data/klipper "/data/klipper-third-party-$(date +%Y%m%d-%H%M%S)"
mv /data/klipper-flyos-fast /data/klipper
systemctl start klipper
systemctl is-active klipper

Once the restoration is successful, the service status should return to active, and the FLYOS-FAST custom features will again use the system's built-in implementation. The current third-party directory will be retained with a timestamped name and will not be deleted directly.

Loading...