I’m making this post to share some progress that has been made to install mainline Klipper (and fluidd, mainsail, moonraker, klipperscreen, etc) to the Creality Sonic Pad
Some background:
The Sonic Pad runs Tina Linux, a forked version from Allwinner of OpenWRT, with old versions of Klipper, Moonraker, Mainsail and Fluidd.
In my experience it is very hard to update each component and even thought it can be possible, the frontend for the display fluidd-pad
is tightly couple with their special forks of the components.
Creality recently published the source code of their Sonic Pad (which you can find it here) but still, no easy way to update the components since they are shared as prebuilt packages; Instructions for compiling/packaging those packages are missing and sources for fluidd-pad
are nowhere to be seen.
The easier
solution to use mainline repos was to use a different distro.
The solution?
Replacing the entire rootfs
with a Debian distro. Fortunately, the kernel used in the Sonic Pad allow us to boot into Debian 10 with practically no changes. Only exception, we still have to create an AllWinner img (uboot+kernel+rootfs) to flash the rootfs.
it is more than possible to flash only the rootfs using fastboot
or integrating a Debian rootfs into Tina SDK, but my Chinese skills are nonexistent, so I decided to replace the compiled rootfs just before packing all together.
I’ve detailed in my Github repo all the steps I took to modify the Tina enviroment, create a basic Debian Buster rootfs and install mainline Klipper & friends: Jpe230/SonicPad-Debian: Port of Debian for the SonicPad (Allwinner R818) (github.com).
While certainly my repo isn’t an “easy to follow” guide, I’m hopeful that someone can take these building blocks and streamline the process!
Happy hacking!