jin-eld / klipper-linux

Yocto setup for building images that contain Klipper 3D printing firmware
GNU General Public License v2.0
11 stars 3 forks source link

over-thinking it - machine_compatible builds ? #2

Open outbackdingo opened 3 years ago

outbackdingo commented 3 years ago

So, Ive looked at the yocto build, and Ive got a few questions.... 1) why run based on a machine_compatible build, dont enforce the machine, let the "user(s)" choose their own machine .. ie raspberrypi4, Xavier NX, or other board, Yocto itself supports so many. 2) Python2 is this a hard dependency ? Yocto uses python3 by default now.

jin-eld commented 3 years ago

@outbackdingo ,

why run based on a machine_compatible build, dont enforce the machine, let the "user(s)" choose their own machine .. ie raspberrypi4, Xavier NX, or other board, Yocto itself supports so many.

You are probably referring to klipper-image.bb ? The issue there is that these are images with a very specific partitioning layout set up over wks - tailored to exactly the machines that it is compatible with. Other machines may not even require a wks-style image (think of the ones using ubifs), it's up to the user to compose the image that works with their machine (or ask me to do it).

The "generic" image is anyway the klipper-linux-rootfs.bb which you can compile for any machine supported by Yocto, in contrary to that the klipper-image.bb is the machine specific bootable image containing the bootloader(s) and additionally the klipper-linux-rootfs.bb in partitions appropriate for the given machine.

Python2 is this a hard dependency ? Yocto uses python3 by default now.

This is not a Yocto, but rather a Klipper issue: https://github.com/KevinOConnor/klipper/pull/3278

I don't know why Kevin refuses to move to Python3, but since I don't want to be fixing Python3 branch each time I pull from master (already have enough "fun" reapplying my setuptools patch) I figured it's simpler to stay on Python2 if klippy insists on using it.