Organize your extra CapeManager dtbo files

Rather than dumping all your dtbo files into /lib/firmware you can instead dump them into a subdirectory.

For example, if using nomel’s excellent pre-generated dtbo’s for GPIO: https://github.com/nomel/beaglebone

Instead of copying all the files in gpio-header/generated over to /lib/firmware - create a new subdirectory called in /lib/firmware called gpio, then copy all the files to /lib/firmware/gpio

Then the following will work:


echo gpio/gpio-P9.12:00A0 > /sys/devices/bone_capemgr.*/slots


Even better, in my mind, you can use a symlink.  So for the leds, I tried the following:
1) Cloned his repository to /home/ubuntu/repos/beaglebone
2) As root, ran 

ln -s /home/ubuntu/repos/beaglebone/led-header/generated /lib/firmware/leds


Then the following will also work:

echo leds/led-P9.42:00A0 > /sys/devices/bone_capemgr.9/slots


This has the added benefit that as the files and directory are still under my regular userid's ownership, I can pull updates to the repository to have them available, as well as editing/adding my own files without resorting to using the root userid.