Recipe or guide for bringing 3.x projects up to speed with a modern kernel (w/ respect to device tree and PRU code)?

I am trying to get started with BeagleG, a powerful software written for stepper motor control utilizing the BeagleBone’s PRU.

I was able to compile the software on my BeagleBone Green Wireless and was really excited until I ran into issues setting up the device tree overlay. Specifically I was met with the following error when running the device tree overlay setup script that takes in a CRAMPS.dts file (a generic and BeagleG-endorsed cape in the /hardware directory that I’m pretending I have).

'/sys/devices/bone_capemgr.*/slots': No such file or directory`

I read that device tree overlay config is now handled by uEnv.txt, which is supposedly this easier situation, but I’m having trouble finding a good guide for how to modify a 3.x kernel project with a .dts file so it works on a 4.x kernel. I followed some other threads on stack overflow, compiling the .dts file myself to a .dtbo file, and then adding this to uEnv.txt, but when I tried to reboot the board something bad happened and it didn’t boot and re-connect to my WiFi. To make matters worse I have a Big Sur MacBook so I have a bit of trouble with ssh now, but that’s another story and I will soon have access to a linux laptop I can use.

I figured I would post here to see if there is a good guide on this. I might just try going back and using an old kernel from when the software was originally written, but it would be great to be able to fix the project so other people can use it on newer kernels.

Henner Zeller the author wrote asking some specific questions on the github issue page - he thinks it would be probably easy for someone to fix who is familiar with this stuff.
'/sys/devices/bone_capemgr.*/slots': No such file or directory · Issue #48 · hzeller/beagleg · GitHub

Hi @monomente , the quick answer…

In v3.8.x, all overlays where loaded via the kernel in user-space… Today everything is loaded by u-boot BEFORE the kernel loads.

Generic details: Beagleboard:BeagleBoneBlack Debian -

For missing details just comment here…